

/* Start:/local/templates/main/components/rzd/template.block/page.preview.block/style.css?17921496062724*/
.slide-preview {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    width: 100%;
    padding-top: var(--header-height, 0px);

    background-color: var(--background-inver);
    overflow: hidden;
}

/* Изображение — именно фон, поэтому вне потока и под содержимым */
.slide-preview-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.slide-preview::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%),
        rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

.slide-preview-content {
    position: relative;
    z-index: 1;
    flex: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-content-gap-md);

    width: 100%;
    text-align: center;
    color: var(--text-inver);
    padding: var(--spacing-content-padding-grid-2);
}

.slide-preview-next--all-resolutions {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    padding: var(--spacing-content-padding-grid-1);
}

.slide-preview-description {
    width: 100%;
    max-width: 100%;
}

.slide-preview-action {
    display: flex;
    justify-content: center;
    max-width: 100%;
}

.slide-preview-action__button {
    height: var(--size-component-btn-l-height);
    max-width: 100%;
}

.slide-preview-contacts {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-content-gap-min);
    padding: var(--spacing-content-padding-sm);
}

@media (min-width: 768px) {
    .slide-preview-description {
        max-width: 464px;
    }

    .slide-preview-contacts {
        flex-direction: row;
    }
}

@media (min-width: 1024px) {
    .slide-preview-description {
        max-width: 464px;
    }
}

@media (min-width: 1200px) {
    .slide-preview-description {
        max-width: 354px;
    }
}

@media (min-width: 1536px) {
    .slide-preview-description {
        max-width: 432px;
    }

    .slide-preview-contacts {
        position: absolute;
        right: 0;
        bottom: 0;
        flex-direction: column;
    }

    .slide-preview-next {
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: center;
        padding: var(--spacing-content-padding-grid-1);
    }
}

@media (min-width: 1920px) {
    .slide-preview-description {
        max-width: 540px;
    }
}

/* End */


/* Start:/local/templates/main/components/bitrix/news.list/history/style.css?179241521310776*/
.history-block {
    flex: 2;
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: var(--background-ter);
}

.history-block--island {
    flex: 2;
    width: 100%;
    border-radius: var(--radius-8xl);
    background-color: var(--background-ter);
    padding-top: var(--header-height);
}

.history-block--header {
    padding: var(--spacing-content-padding-xxl) var(--spacing-content-padding-grid-4) var(--spacing-content-padding-xs);
}

.history-block--content {
    position: relative;
    display: flex;
    flex-direction: column;
}

.history-block--aside {
    position: sticky;
    top: var(--header-height);
    z-index: 1;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--spacing-content-gap-min);
    padding: var(--spacing-content-padding-sm) var(--spacing-content-padding-grid-3) var(--spacing-content-padding-min);
    overflow: auto;
    background-color: var(--background-ter);
    border-bottom: 1px solid var(--stroke-pr);
    scrollbar-width: none;
}

.history-block--aside::-webkit-scrollbar {
    display: none;
}

.history-block--year {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background-color: var(--background-wa-2);
    border-radius: var(--radius-xl);
    color: var(--text-sec);
}

.history-block--year-face {
    display: block;
    width: 100%;
    height: 100%;
    padding: var(--spacing-component-padding-y-md) var(--spacing-component-padding-x-md);
}

.history-block--year-face--fill {
    position: absolute;
    inset: 0;
    background-color: var(--background-acc);
    color: var(--text-inver);
    clip-path: inset(0 calc((1 - var(--history-year-progress, 0)) * 100%) 0 0);
}

.history-block--body {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-content-gap-min-grid);
    padding: var(--spacing-content-padding-sm) var(--spacing-content-padding-grid-3) var(--spacing-content-padding-xxl);
}

.history-block--body-block {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-content-gap-min-grid);
    background-color: var(--background-pr);
    padding: var(--spacing-component-padding-y-add) var(--spacing-component-padding-x-add);
    border-radius: var(--radius-4xl);
}

.history-block--body-block > .divider {
    flex-shrink: 0;
}

.history-block--body-block-period {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-component-gap-lg);
}

.history-block--body-block-period span {
    font-size: 16px;
    font-weight: 400;
    line-height: 120%;
    font-family: "Roboto Flex", sans-serif;
    font-variation-settings: var(--rf-w40-g100);
}

.history-island {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-content-gap-lg);
}

.history-island-block {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-component-gap-xl);
}

.history-island-block--card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: var(--size-component-img-history-card-height);
    overflow: hidden;
    background-color: var(--background-sec);
    border-radius: var(--radius-2xl);
}

.history-island-block--card-image {
    flex: 2;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-component-padding-y-md) var(--spacing-component-padding-x-md);
    cursor: zoom-in;
    border-radius: var(--radius-xs);
}

.history-island-block--card-image:hover img {
    transform: scale(1.25);
}

.history-island-block--card-image img {
    border-radius: var(--radius-xs);
    max-width: min(320px, 100%);
    width: auto;
    max-height: min(var(--size-component-img-history-card-img-height), 100%);
    height: auto;
    box-shadow:
            var(--effects-shadow-default-x)
            var(--effects-shadow-default-y)
            var(--effects-shadow-default-blur)
            var(--effects-shadow-default-spread)
            var(--effects-shadow-default-color);
    transition: var(--default-duration) ease;
}

.history-island-block--card-text {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 10px;
    padding: var(--spacing-content-gap-lg) var(--spacing-content-padding-md);
}

.history-island-block--card-caption {
    height: var(--size-component-img-history-card-height-text);
    color: var(--text-ter);
}

@media (max-width: 767px) {
    .history-block--year {
        flex-shrink: 0;
    }
}

@media (min-width: 768px) {
    .history-block--body-block {
        flex-direction: row;
    }

    .history-block--body-block-period {
        width: var(--size-component-history-card-date-width);
        flex-shrink: 0;
    }

    .history-block--body-block .divider {
        width: var(--stroke-width-s);
        height: 100%;
    }

    .history-block--year {
        flex: 0 0 120px;
        width: 120px;
        height: 80px;
    }

    .history-island-block.history-island-block--multi {
        display: grid;
        flex-direction: row;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--spacing-content-gap-min-grid);
    }
}

@media (min-width: 1024px) {
    .history-block--content {
        flex-direction: row;
        gap: var(--spacing-content-gap-min-grid);
        padding: var(--spacing-content-padding-sm) var(--spacing-content-padding-grid-3) var(--spacing-content-padding-xxl);
    }

    .history-block--aside {
        height: max-content;
        max-height: calc(100vh - var(--header-height, 0px));
        max-height: calc(100dvh - var(--header-height, 0px));
        flex-direction: column;
        padding: 0;
        border-bottom: none;
    }

    .history-block--year-face--fill {
        clip-path: inset(0 0 calc((1 - var(--history-year-progress, 0)) * 100%) 0);
    }

    .history-block--year {
        flex: 0 0 88px;
        width: 128px;
        height: 88px;
    }

    .history-block--body {
        flex: 2;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    .history-block--year {
        width: 100px;
    }
}

@media (min-width: 1536px) {
    .history-block--year {
        width: 128px;
    }
}

@media (min-width: 1920px) {
    .history-block--header {
        max-width: calc(1504px + var(--spacing-content-padding-grid-4) * 2);
        margin: 0 auto;
    }

    .history-block--content {
        max-width: calc(1552px + var(--spacing-content-padding-grid-3) * 2);
        margin: 0 auto;
    }

    .history-block--year {
        width: 164px;
    }
}

/* ============================================================
   Полноэкранная галерея фото года
   Сцена — копия archive-materials (news.detail/archive-materials/style.css),
   на весь экран её показывает модуль overlay (docs/overlay.md).
   ============================================================ */

.history-island-block--card-image {
    cursor: zoom-in;
}

.history-gallery {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--background-black);
    color: var(--foregroung-white);
}

.history-gallery + .overlay__close {
    display: none;
}

.history-gallery svg {
    width: var(--size-icons-l-width);
    height: var(--size-icons-l-height);
}

/*
 * Окно открывается без перелёта: проявляется и гаснет целиком.
 * Анимация висит на самом окне, а не на .history-gallery: overlay перед перелётом
 * снимает все анимации переносимого узла (stopFlying → getAnimations().cancel()),
 * включая CSS, — fade на сцене отменялся бы сразу при открытии и закрытии.
 */
.overlay[open]:has(.history-gallery) {
    animation: fade-in var(--default-duration) ease both;
}

.overlay.is-closing:has(.history-gallery) {
    animation: page-out var(--default-duration) ease both;
}

.history-gallery-slider {
    width: 100%;
    height: 100%;
}

.history-gallery-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Подпись кадра — тот же текст, что под фото в карточке */
.history-gallery-caption {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    max-width: calc(100% - var(--spacing-content-padding-md) * 2);
    transform: translateX(-50%);
    color: var(--foregroung-white);
    text-align: center;
    padding: var(--spacing-component-padding-y-add) var(--spacing-component-padding-x-add);
}

/*
 * Рамка — то, что двигает и масштабирует скрипт: у неё меняется transform,
 * поэтому у самой картинки его быть не должно.
 */
.history-gallery-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    transform-origin: center;
    transition: transform var(--short-duration) ease;
    will-change: transform;
}

.history-gallery-frame.is-zoomed {
    cursor: grab;
}

/* Пока кадр тащат, инерция перехода только мешает — он должен идти за курсором */
.history-gallery-frame.is-dragging {
    cursor: grabbing;
    transition: none;
}

.history-gallery-image {
    max-width: 100%;
    max-height: var(--size-component-media-video-player-video-max-height);
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}

.history-gallery-zoom {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-content-gap-min);
    transform: translateY(-50%);
    padding: var(--spacing-component-padding-y-add) var(--spacing-component-padding-x-add);
}

.history-gallery-nav {
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: var(--spacing-content-gap-min);
    transform: translateX(-50%);
    padding: var(--spacing-component-padding-y-add) var(--spacing-component-padding-x-add);
}

.history-gallery-close {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: var(--spacing-content-gap-min);
    padding: var(--spacing-component-padding-y-add) var(--spacing-component-padding-x-add);
}

.history-gallery-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--spacing-component-padding-x-sm);
    color: var(--foregroung-white);
    text-align: center;
    /* Счётчик не должен дёргаться при переходе с «9» на «10» */
    font-variant-numeric: tabular-nums;
}

/* End */


/* Start:/local/templates/main/components/rzd/template.block/page.continue.cards/style.css?17918867272145*/
.continue-cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-content-gap-md);
    width: 100%;
    padding: var(--spacing-content-gap-xxxl-2) var(--spacing-content-padding-grid-3);
    background-color: var(--background-light-grey-200);
}

.continue-cards-header {
    text-align: center;
}

.continue-cards-list {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(2, minmax(0, 206px));
    gap: var(--spacing-content-gap-min);
    width: 100%;
    max-width: calc(206px * 2 + var(--spacing-content-gap-min));
    margin: 0 auto;
}

.continue-card {
    display: flex;
    flex-direction: column;
    height: 186px;
    max-width: 206px;
    padding: var(--spacing-component-padding-y-min) var(--spacing-component-padding-x-min);
    border-radius: var(--radius-2xl);
    background-color: var(--background-pr);
    color: var(--text-pr);
    text-align: center;
}

.continue-card:hover .continue-card-image img {
    transform: scale(1.478);
}

.continue-card-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-xl);
    background-color: var(--background-inver);
    overflow: hidden;
}

.continue-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--default-duration) ease;
}

.continue-card-text {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: var(--spacing-component-padding-x-sm);
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .continue-cards-list {
        grid-template-columns: repeat(auto-fit, minmax(0, 260px));
        max-width: calc(260px * 2 + var(--spacing-content-gap-min));
    }

    .continue-card {
        max-width: 260px;
        width: 260px;
        height: 220px;
    }
}

@media (min-width: 1200px) {
    .continue-cards-list {
        grid-template-columns: repeat(auto-fit, minmax(0, 280px));
        max-width: calc(280px * 4 + var(--spacing-content-gap-min) * 3);
    }

    .continue-card {
        max-width: 280px;
        width: 280px;
        height: 240px;
    }
}

/* End */
/* /local/templates/main/components/rzd/template.block/page.preview.block/style.css?17921496062724 */
/* /local/templates/main/components/bitrix/news.list/history/style.css?179241521310776 */
/* /local/templates/main/components/rzd/template.block/page.continue.cards/style.css?17918867272145 */
