/* Desktop only. Everything is scoped; the existing mobile/header UI is untouched. */
.aj-social-rail { display: none; }
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    .aj-social-rail:not([hidden]) {
        --aj-rail-width: 68px;
        --aj-rail-inset: 16px;
        display: block;
        position: fixed;
        inset: 0 0 0 auto;
        width: 310px;
        height: 100%;
        overflow: hidden;
        pointer-events: none;
        z-index: 95;
        font-family: inherit;
        font-size: 13px;
        line-height: 1.4;
        color: #101d35;
        isolation: isolate;
    }
    .aj-social-rail *, .aj-social-rail *::before, .aj-social-rail *::after { box-sizing: border-box; }
    .aj-social-rail .aj-social-rail__body {
        position: absolute;
        top: 50%;
        right: var(--aj-rail-inset);
        width: var(--aj-rail-width);
        transform: translate3d(0, -50%, 0);
        /* Owner explicitly requested this small slide, including in their reduced-motion browser.
           Scope the exception to this 84px rail movement; never alter site/OS settings. */
        transition: transform 400ms cubic-bezier(.22, 1, .36, 1) !important;
        pointer-events: auto;
    }
    .aj-social-rail.is-collapsed .aj-social-rail__body {
        transform: translate3d(calc(100% + var(--aj-rail-inset)), -50%, 0);
    }
    .aj-social-rail__panel {
        width: 100%;
        padding: 12px 11px;
        border: 1px solid #d7e0ed;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 3px 12px rgb(16 29 53 / 9%);
    }
    .aj-social-rail__links {
        display: flex;
        flex-direction: column;
        gap: 14px;
        margin: 0;
        padding: 0;
    }
    .aj-social-rail__link {
        position: relative;
        flex: 0 0 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 8px;
        text-decoration: none;
        opacity: 1;
        box-shadow: 0 1px 3px rgb(16 29 53 / 7%);
        transition: transform 160ms ease;
    }
    .aj-social-rail__link--telegram { background: #00a9df; }
    .aj-social-rail__link--vk { background: #0077ff; }
    .aj-social-rail__link--youtube { background: #ff1621; }
    .aj-social-rail__link--rutube { background: #101b35; }
    .aj-social-rail__link--max { background: #fff; }
    .aj-social-rail__link--ok { background: #ff8200; }
    .aj-social-rail__link--instagram { background:linear-gradient(145deg,#833ab4 0%,#e1306c 52%,#f77737 100%); }
    .aj-social-rail__logo {
        display: block;
        width: 30px;
        height: 30px;
        margin: 0;
        object-fit: contain;
        border: 0;
        border-radius: 0;
    }
    .aj-social-rail__link--telegram .aj-social-rail__logo,
    .aj-social-rail__link--youtube .aj-social-rail__logo,
    .aj-social-rail__link--ok .aj-social-rail__logo { filter: brightness(0) invert(1); width: 27px; height: 27px; }
    .aj-social-rail__link--max .aj-social-rail__logo { width: 44px; height: 44px; border-radius: 8px; }
    .aj-social-rail__link--vk .aj-social-rail__logo { width: 44px; height: 44px; border-radius: 8px; }
    .aj-social-rail__link--rutube .aj-social-rail__logo { width: 30px; height: 30px; }
    .aj-social-rail__tooltip {
        position: absolute;
        top: 50%;
        right: calc(100% + 17px);
        width: 184px;
        margin: 0;
        padding: 10px 12px;
        border: 1px solid #d7e0ed;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 3px 12px rgb(16 29 53 / 9%);
        visibility: hidden;
        opacity: 0;
        transform: translate3d(5px, -50%, 0);
        transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
        pointer-events: none;
        text-align: left;
        color: #5b6d89;
        white-space: normal;
    }
    .aj-social-rail__tooltip strong { display: block; margin: 0 0 3px; font-size: 13px; font-weight: 600; color: #101d35; }
    .aj-social-rail__tooltip > span { display: block; font-size: 13px; line-height: 1.4; }
    .aj-social-rail__link:hover,
    .aj-social-rail__link:focus-visible { transform: translateX(-2px); }
    .aj-social-rail__link:hover .aj-social-rail__tooltip,
    .aj-social-rail__link:focus-visible .aj-social-rail__tooltip {
        visibility: visible;
        opacity: 1;
        transform: translate3d(0, -50%, 0);
    }
    .aj-social-rail__toggle {
        position: absolute;
        top: 50%;
        left: -23px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 36px;
        margin: 0;
        padding: 0;
        border: 1px solid #d7e0ed;
        border-right: 0;
        border-radius: 10px 0 0 10px;
        background: #fff;
        box-shadow: -4px 2px 8px rgb(16 29 53 / 7%);
        color: #1842fb;
        cursor: pointer;
        transform: translateY(-50%);
        -webkit-appearance: none;
        appearance: none;
    }
    .aj-social-rail__toggle::before { content: ""; position: absolute; inset: -4px 0 -4px -8px; }
    .aj-social-rail__chevron {
        display: block;
        width: 15px;
        height: 15px;
        background: #1842fb;
        -webkit-mask: url("chevron-right.svg") center / contain no-repeat;
        mask: url("chevron-right.svg") center / contain no-repeat;
        transition: transform 220ms ease;
    }
    .aj-social-rail.is-collapsed .aj-social-rail__chevron { transform: rotate(180deg); }
    .aj-social-rail__link:focus-visible, .aj-social-rail__toggle:focus-visible { outline: 2px solid #1842fb; outline-offset: 3px; }
    /* Pointer clicks must not get the browser's default black focus ring.
       Keep the blue focus-visible indicator for keyboard navigation. */
    .aj-social-rail__toggle:focus:not(:focus-visible) { outline: none; }
    .aj-social-rail.is-collapsed .aj-social-rail__tooltip { visibility: hidden; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .aj-social-rail__chevron, .aj-social-rail__link, .aj-social-rail__tooltip { transition: none !important; }
}

.aj-social-feed[hidden] { display: none !important; }
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    .aj-social-rail[data-feed-enhanced="true"] { width: 475px; }
    .aj-social-rail[data-feed-enhanced="true"] .aj-social-rail__tooltip { visibility: hidden; opacity: 0; }
    /* The post panel starts behind the rail's left edge, clipped until it slides out. */
    .aj-social-feed-viewport { position:absolute; inset:0 84px 0 0; overflow:hidden; pointer-events:none; }
    .aj-social-rail__body { z-index:2; }
    .aj-social-feed {
        position: absolute;
        top: 50%;
        right: 31px;
        width: 342px;
        max-height: calc(100% - 32px);
        border: 1px solid #d7e0ed;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 8px 30px rgb(16 29 53 / 14%);
        pointer-events: none;
        transform: translate3d(calc(100% + 31px),-50%,0);
        /* Explicit owner-requested motion: scoped here, without changing OS/site settings. */
        transition: transform 420ms cubic-bezier(.22,.8,.25,1) !important;
        overflow: auto;
        overscroll-behavior: contain;
        text-align: left;
        color: #101d35;
    }
    .aj-social-feed.is-open { transform:translate3d(0,-50%,0); pointer-events:auto; }
    .aj-social-feed__header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:14px 16px; border-bottom:1px solid #e7edf5; }
    .aj-social-feed__header strong { display:block; font-size:16px; font-weight:600; line-height:1.3; }
    .aj-social-feed__header span { display:block; font-size:12px; color:#617393; margin-top:3px; }
    .aj-social-feed__header button { background:transparent; border:0; color:#617393; font:inherit; font-size:12px; padding:8px 0 8px 8px; min-height:36px; cursor:pointer; }
    .aj-social-feed__content { padding:0 16px; }
    .aj-social-feed__subtitle { font-size:12px; color:#617393; padding:10px 0 0; margin:0; }
    .aj-social-feed__post { display:grid; grid-template-columns:90px minmax(0,1fr); align-items:center; gap:12px; padding:12px 0; text-decoration:none; color:#101d35; border-bottom:1px solid #e7edf5; }
    .aj-social-feed__post:last-child { border-bottom:0; }
    .aj-social-feed__post.is-text-only { grid-template-columns:minmax(0,1fr); }
    .aj-social-feed__image { display:block; width:90px; height:66px; object-fit:cover; border-radius:6px; }
    .aj-social-feed__copy { display:block; min-width:0; }
    .aj-social-feed__copy strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; font-size:13px; line-height:1.35; font-weight:500; }
    .aj-social-feed__date { display:block; font-size:11px; color:#617393; margin-top:5px; }
    .aj-social-feed__post:hover strong { color:#1842fb; }
    .aj-social-feed__post:hover { text-decoration:none; }
    .aj-social-feed__notice { margin:0; padding:15px 0; font-size:13px; line-height:1.5; color:#617393; }
    .aj-social-feed__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #e7edf5; padding:12px 16px; font-size:11px; }
    .aj-social-feed__footer span { color:#617393; }
    .aj-social-feed__footer a { color:#1842fb; font-size:12px; font-weight:500; text-decoration:none; }
    .aj-social-feed a:focus-visible,.aj-social-feed button:focus-visible { outline:2px solid #1842fb; outline-offset:3px; }
    .aj-social-feed button:focus:not(:focus-visible) { outline:none; }
}
