/* ==========================================================================
   NCCG
   UNIVERSAL ARTICLE
   ========================================================================== */


/* ==========================================================================
   PAGE
   ========================================================================== */

.article-universal-page {
    background: #ffffff;
}

.article-universal-heading {
    padding-bottom: 10px !important;
}


/* Детальная страница — заголовок полностью, без обрезания */
.article-universal-page .nsku-page-title {
    display: block !important;

    overflow: visible !important;

    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;

    text-overflow: clip !important;

    max-height: none !important;

    max-width: 1350px;

    margin-bottom: 8px;

    font-size: clamp(
        28px,
        2.5vw,
        44px
    ) !important;

    line-height: 1.08 !important;

    letter-spacing: -.02em;
}


.article-universal-section {
    width: 100%;

    padding:
        8px
        0
        56px;

    background: #eef0f5;
}



/* ==========================================================================
   OUTER CONTAINER
   ========================================================================== */

.article-universal-section > .container {
    width: 100% !important;
    max-width: none !important;

    padding-left: 24px !important;
    padding-right: 24px !important;
}



/* ==========================================================================
   ARTICLE CARD
   ========================================================================== */

.article-universal {
    position: relative;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
        28px
        34px
        38px;

    overflow: hidden;

    background: #ffffff;

    border-radius: 26px;

    box-shadow:
        0 12px 32px
        rgba(25, 54, 90, .06);
}


/* Синяя полоса полностью убрана */
.article-universal::before {
    display: none !important;
}



/* ==========================================================================
   TOP META
   ========================================================================== */

.article-universal__top-meta {
    display: flex;
    flex-wrap: wrap;

    align-items: center;

    gap:
        10px
        16px;

    margin:
        0
        0
        18px;
}

.article-universal__top-meta:empty {
    display: none;
}


.article-universal__date {
    display: inline-flex;

    align-items: center;

    min-height: 34px;

    padding:
        0
        16px;

    border-radius: 20px;

    background: #155293;

    color: #ffffff;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;
}


.article-universal__time,
.article-universal__city {
    color: #65778b;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}



/* ==========================================================================
   HERO WITH INTRO
   ========================================================================== */

.article-universal__hero {
    display: grid;

    grid-template-columns:
        minmax(440px, 46%)
        minmax(0, 54%);

    align-items: stretch;

    width: 100%;

    margin-bottom: 28px;

    overflow: hidden;

    background: #f4f6fa;

    border-radius: 22px;
}


.article-universal__summary:only-child {
    grid-column: 1 / -1;
}



/* ==========================================================================
   SUMMARY / INTRO
   ========================================================================== */

.article-universal__summary {
    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;

    padding:
        28px
        32px;
}


.article-universal__intro {
    color: #273541;

    font-size: 16px;
    line-height: 1.55;
}


.article-universal__intro > :first-child {
    margin-top: 0 !important;
}


.article-universal__intro > :last-child {
    margin-bottom: 0 !important;
}



/* ==========================================================================
   GALLERY
   ========================================================================== */

.article-gallery {
    min-width: 0;

    padding: 14px;

    background: #edf1f6;
}



/* ==========================================================================
   NORMAL GALLERY STAGE
   ========================================================================== */

.article-gallery__stage {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-height: 340px;

    overflow: hidden;

    background: #ffffff;

    border-radius: 15px;
}



/* ==========================================================================
   NORMAL MAIN IMAGE
   ========================================================================== */

.article-gallery__main {
    display: block;

    width: 100%;

    height: 340px;
    max-height: 340px;

    object-fit: contain;
    object-position: center;

    background: #ffffff;
}


.article-gallery__main:not([src]),
.article-gallery__main[src=""] {
    visibility: hidden;
}



/* ==========================================================================
   HERO GALLERY
   ========================================================================== */

.article-universal__hero .article-gallery__stage {
    min-height: 340px;
}


.article-universal__hero .article-gallery__main {
    width: 100%;

    height: 340px;
    max-height: 340px;

    object-fit: cover;
    object-position: center;
}



/* ==========================================================================
   WIDE GALLERY
   ========================================================================== */

.article-gallery--wide {
    width: 100% !important;
    max-width: none !important;

    margin:
        0
        0
        28px;

    padding: 14px;

    background: #edf1f6;
}


.article-gallery--wide .article-gallery__stage {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-height: 0;
    height: auto;

    padding: 0;

    overflow: hidden;

    background: #ffffff;

    border-radius: 15px;
}


/* Широкое фото больше не занимает весь экран по высоте */
.article-gallery--wide .article-gallery__main {
    display: block;

    width: auto;
    max-width: 100%;

    height: auto;
    max-height: 500px;

    margin: 0 auto;

    object-fit: contain;
    object-position: center;

    background: transparent;
}


.article-gallery--wide .article-gallery__thumbs {
    width: 100%;

    margin-top: 10px;
}



/* ==========================================================================
   CAPTION
   ========================================================================== */

.article-gallery__caption {
    position: absolute;

    left: 14px;
    right: 14px;
    bottom: 14px;

    display: none;

    padding:
        9px
        12px;

    border-radius: 9px;

    background:
        rgba(0, 0, 0, .63);

    color: #ffffff;

    font-size: 13px;
    line-height: 1.35;
}


.article-gallery__caption:not(:empty) {
    display: block;
}



/* ==========================================================================
   THUMBNAILS
   ========================================================================== */

.article-gallery__thumbs {
    display: flex;

    gap: 7px;

    margin-top: 9px;

    padding-bottom: 2px;

    overflow-x: auto;

    scrollbar-width: thin;
}


.article-gallery__thumb {
    flex:
        0
        0
        78px;

    width: 78px;
    height: 58px;

    margin: 0;

    padding: 3px;

    overflow: hidden;

    cursor: pointer;

    background: #ffffff;

    border:
        2px solid
        transparent;

    border-radius: 7px;

    appearance: none;

    transition:
        border-color .2s ease,
        transform .2s ease;
}


.article-gallery__thumb:hover {
    transform: translateY(-1px);
}


.article-gallery__thumb.is-active {
    border-color: #158bc2;
}


.article-gallery__thumb img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 4px;
}


.article-gallery__thumbs:has(
    .article-gallery__thumb:only-child
) {
    display: none;
}



/* ==========================================================================
   CONTENT
   ========================================================================== */

.article-universal__content {
    width: 100% !important;
    max-width: none !important;

    margin:
        0
        auto;

    color: #273541;

    font-size: 17px;
    line-height: 1.65;
}


.article-universal__content > :first-child {
    margin-top: 0 !important;
}


.article-universal__content > :last-child {
    margin-bottom: 0 !important;
}


.article-universal__content p {
    margin:
        0
        0
        18px;
}



/* ==========================================================================
   CONTENT HEADINGS
   ========================================================================== */

.article-universal__content h2,
.article-universal__content h3,
.article-universal__content h4 {
    margin:
        30px
        0
        14px;

    color: #155293;

    line-height: 1.27;

    font-weight: 700;
}


.article-universal__content h2 {
    font-size: 27px;
}


.article-universal__content h3 {
    font-size: 22px;
}


.article-universal__content h4 {
    font-size: 19px;
}



/* ==========================================================================
   LISTS
   ========================================================================== */

.article-universal__content ul {
    list-style-type: disc !important;

    padding-left: 30px !important;

    margin:
        14px
        0
        18px !important;
}


.article-universal__content ol {
    list-style-type: decimal !important;

    padding-left: 30px !important;

    margin:
        14px
        0
        18px !important;
}


.article-universal__content li {
    display: list-item !important;

    margin:
        5px
        0;
}



/* ==========================================================================
   LINKS
   ========================================================================== */

.article-universal__content a {
    color: #155293;

    text-decoration: none;

    border-bottom:
        1px solid
        rgba(21, 82, 147, .30);
}



/* ==========================================================================
   IMAGES INSIDE CONTENT
   ========================================================================== */

.article-universal__content img {
    max-width: 100%;

    height: auto;
}



/* ==========================================================================
   TABLES
   ========================================================================== */

.article-universal__content table {
    display: block;

    max-width: 100%;

    overflow-x: auto;
}



/* ==========================================================================
   EXTRA / FILES
   ========================================================================== */

.article-universal__extra,
.article-universal__files {
    width: 100% !important;
    max-width: none !important;

    margin:
        30px
        auto
        0;
}


.article-universal__extra:empty,
.article-universal__files:empty {
    display: none;
}


.article-universal__extra img,
.article-universal__files img {
    max-width: 100%;

    height: auto;
}



/* ==========================================================================
   PRIMARY FILE
   ========================================================================== */

.article-universal__primary-file {
    width: 100% !important;
    max-width: none !important;

    margin:
        28px
        auto
        0;
}


.article-universal__file-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 44px;

    padding:
        0
        22px;

    border-radius: 22px;

    background: #155293;

    color: #ffffff !important;

    font-size: 15px;
    line-height: 1;
    font-weight: 700;

    text-decoration: none !important;

    border: 0 !important;

    transition:
        background .2s ease,
        transform .2s ease;
}


.article-universal__file-button:hover {
    background: #003f78;

    transform: translateY(-1px);
}



/* ==========================================================================
   OLD MULTITV OVERRIDES
   ========================================================================== */

.article-universal__extra .about-auther,
.article-universal__files .about-auther,
.article-universal__extra .date-text,
.article-universal__files .date-text {
    float: none !important;

    width: auto !important;

    min-height: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}



/* ==========================================================================
   LARGE SCREENS
   ========================================================================== */

@media (min-width: 1500px) {

    .article-universal-section > .container {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }

}



/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1100px) {

    .article-universal-section > .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }


    .article-universal__hero {
        grid-template-columns:
            minmax(360px, 46%)
            minmax(0, 54%);
    }


    .article-gallery__stage {
        min-height: 300px;
    }


    .article-gallery__main {
        height: 300px;
        max-height: 300px;
    }


    .article-universal__hero .article-gallery__stage {
        min-height: 300px;
    }


    .article-universal__hero .article-gallery__main {
        height: 300px;
        max-height: 300px;
    }


    .article-gallery--wide .article-gallery__main {
        max-height: 440px;
    }

}



/* ==========================================================================
   TABLET / SMALL DESKTOP
   ========================================================================== */

@media (max-width: 991px) {

    .article-universal {
        padding:
            28px
            26px
            34px;

        border-radius: 22px;
    }


    .article-universal__summary {
        padding:
            24px
            26px;
    }

}



/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .article-universal-page .nsku-page-title {
        font-size:
            clamp(
                24px,
                7vw,
                32px
            ) !important;

        line-height: 1.12 !important;
    }


    .article-universal-section {
        padding:
            8px
            0
            42px;
    }


    .article-universal-section > .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }


    .article-universal {
        padding:
            22px
            18px
            28px;

        border-radius: 18px;
    }


    .article-universal__hero {
        grid-template-columns: 1fr;

        border-radius: 17px;
    }


    .article-gallery {
        padding: 11px;
    }


    .article-gallery__stage {
        min-height: 220px;
    }


    .article-gallery__main {
        height: auto;
        max-height: 360px;

        object-fit: contain;
    }


    .article-universal__hero .article-gallery__stage {
        min-height: 220px;
    }


    .article-universal__hero .article-gallery__main {
        height: auto;
        max-height: 360px;

        object-fit: contain;
    }


    .article-gallery--wide .article-gallery__stage {
        min-height: 0;
        height: auto;
    }


    .article-gallery--wide .article-gallery__main {
        width: auto;
        max-width: 100%;

        height: auto;
        max-height: 360px;
    }


    .article-universal__summary {
        padding:
            22px
            20px;
    }


    .article-universal__content {
        font-size: 16px;
    }

}



/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 520px) {

    .article-universal {
        padding:
            20px
            15px
            26px;
    }


    .article-gallery__thumb {
        flex-basis: 68px;

        width: 68px;
        height: 52px;
    }


    .article-universal__file-button {
        width: 100%;
    }

}