/**
 * SovrNovosti 0.4.2 — Grid Balance
 * Author: Illia Abel
 */

/* =========================================================
   HEADER
   ========================================================= */

.sn-masthead-row {
    min-height: 82px;
}

.sn-brand-name {
    font-size:
        clamp(
            2.05rem,
            3.25vw,
            2.7rem
        );
}

/* =========================================================
   HERO — EXACT RECTANGULAR GRID
   ========================================================= */

.sn-top-grid,
.sn-top-side,
.sn-lead-story {
    display: initial;
}

.sn-hero-media-grid {
    height:
        clamp(
            390px,
            31vw,
            455px
        );

    border:
        1px solid
        var(--sn-border-strong);

    display: grid;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(370px, 0.95fr);

    overflow: hidden;
}

.sn-hero-main-media {
    min-width: 0;
    height: 100%;
    display: block;
    overflow: hidden;
    background: var(--sn-bg-soft);
}

.sn-hero-main-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sn-hero-side-stack {
    min-width: 0;
    display: grid;
    grid-template-rows:
        repeat(3, minmax(0, 1fr));

    border-left:
        1px solid
        var(--sn-border-strong);
}

.sn-hero-side-item {
    min-height: 0;
    display: grid;
    grid-template-columns:
        138px
        minmax(0, 1fr);
    overflow: hidden;
}

.sn-hero-side-item
+ .sn-hero-side-item {
    border-top:
        1px solid
        var(--sn-border);
}

.sn-hero-side-media {
    min-height: 0;
    overflow: hidden;
    background: var(--sn-bg-soft);
}

.sn-hero-side-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sn-hero-side-copy {
    min-width: 0;
    padding:
        0.78rem
        0.9rem;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sn-hero-side-copy
.sn-category-label {
    margin-bottom: 0.3rem;
    font-size: 0.58rem;
}

.sn-hero-side-copy h2 {
    margin: 0 0 0.42rem;
    font-size: 0.98rem;
    font-weight: 650;
    line-height: 1.17;
}

.sn-hero-side-copy time {
    margin-top: auto;
    color: var(--sn-muted);
    font-size: 0.64rem;
}

.sn-hero-lead-copy {
    max-width: 790px;
    padding-top: 1rem;
}

.sn-hero-lead-copy
.sn-category-label {
    margin-bottom: 0.38rem;
}

.sn-hero-lead-copy h1 {
    margin-bottom: 0.58rem;
    font-size:
        clamp(
            1.9rem,
            3.05vw,
            2.9rem
        );
    font-weight: 760;
    line-height: 1.04;
    letter-spacing: -0.045em;
}

.sn-hero-lead-copy p {
    max-width: 730px;
    margin-bottom: 0.55rem;
    color: var(--sn-muted);
    font-size: 0.91rem;
}

.sn-hero-lead-copy time {
    color: var(--sn-muted);
    font-size: 0.66rem;
}

.sn-media-placeholder {
    background:
        linear-gradient(
            135deg,
            #f1f3f6,
            #e7eaee
        );
}

/* Bottom newsroom row */

.sn-top-briefs {
    margin-top: 1.3rem;
    grid-template-columns:
        repeat(2, 1fr);
}

/* =========================================================
   ALL NEWS CATEGORIES
   now clearly belongs to news
   ========================================================= */

.sn-all-categories {
    padding-block:
        2.6rem
        3rem;

    border-top:
        1px solid
        var(--sn-border);

    border-bottom:
        1px solid
        var(--sn-border);

    background: #ffffff;
}

.sn-all-categories
.sn-editorial-section-header {
    margin-bottom: 0.7rem;
}

.sn-category-index {
    grid-template-columns:
        repeat(4, 1fr);

    border-top: 0;
}

.sn-category-index a {
    padding:
        0.78rem
        1rem
        0.78rem
        0;

    border-bottom:
        1px solid
        var(--sn-border);

    font-size: 0.76rem;
    font-weight: 620;
}

/* =========================================================
   PUBLICATIONS — SAME GEOMETRY AS HERO
   ========================================================= */

.sn-publications-layout,
.sn-publication-list {
    display: initial;
}

.sn-publications-block {
    padding-top: 3.2rem;
}

.sn-publications-media-grid {
    height:
        clamp(
            340px,
            27vw,
            405px
        );

    border:
        1px solid
        var(--sn-border-strong);

    display: grid;

    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(370px, 0.9fr);

    overflow: hidden;
}

.sn-publication-main-media {
    min-width: 0;
    height: 100%;
    display: block;
    overflow: hidden;
    background: var(--sn-bg-soft);
}

.sn-publication-main-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sn-publication-side-stack {
    min-width: 0;
    display: grid;

    grid-template-rows:
        repeat(3, minmax(0, 1fr));

    border-left:
        1px solid
        var(--sn-border-strong);
}

.sn-publication-grid-item {
    min-height: 0;
    display: grid;

    grid-template-columns:
        128px
        minmax(0, 1fr);

    overflow: hidden;
}

.sn-publication-grid-item
+ .sn-publication-grid-item {
    border-top:
        1px solid
        var(--sn-border);
}

.sn-publication-grid-media {
    min-height: 0;
    display: block;
    overflow: hidden;
    background: var(--sn-bg-soft);
}

.sn-publication-grid-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sn-publication-grid-copy {
    min-width: 0;
    padding:
        0.72rem
        0.85rem;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sn-publication-grid-copy
.sn-category-label {
    margin-bottom: 0.28rem;
    font-size: 0.57rem;
}

.sn-publication-grid-copy h3 {
    margin: 0 0 0.38rem;
    font-size: 0.96rem;
    font-weight: 630;
    line-height: 1.18;
}

.sn-publication-grid-copy time {
    margin-top: auto;
    color: var(--sn-muted);
    font-size: 0.63rem;
}

.sn-publication-lead-copy {
    max-width: 770px;
    padding-top: 1rem;
}

.sn-publication-lead-copy h2 {
    margin-bottom: 0.6rem;

    font-size:
        clamp(
            1.75rem,
            2.7vw,
            2.5rem
        );

    font-weight: 730;
    line-height: 1.07;
    letter-spacing: -0.04em;
}

.sn-publication-lead-copy p {
    max-width: 720px;
    margin-bottom: 0;
    color: var(--sn-muted);
    font-size: 0.91rem;
}

/* =========================================================
   FOOTER — 30 / 50 / 20
   ========================================================= */

.sn-footer-editorial {
    display: none;
}

.sn-footer-newsroom {
    padding-block:
        3.2rem
        3rem;

    display: grid;

    grid-template-columns:
        minmax(240px, 0.85fr)
        minmax(500px, 1.65fr)
        minmax(180px, 0.6fr);

    gap: 3.2rem;
}

.sn-footer-left {
    min-width: 0;
}

.sn-footer-description {
    max-width: 360px;

    margin:
        0.9rem
        0
        0.8rem;

    color:
        rgba(
            255,
            255,
            255,
            0.58
        );

    font-size: 0.78rem;
    line-height: 1.55;
}

.sn-footer-motto {
    margin-bottom: 1rem;
}

.sn-footer-rss {
    margin-bottom: 1.8rem;
    display: inline-block;

    color:
        rgba(
            255,
            255,
            255,
            0.8
        );

    font-size: 0.73rem;
    font-weight: 700;
}

.sn-footer-rss:hover {
    color: #ffffff;
}

.sn-footer-newsroom h2 {
    margin-bottom: 0.85rem;

    color:
        rgba(
            255,
            255,
            255,
            0.42
        );

    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sn-footer-newsroom ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sn-footer-sections li
+ li,
.sn-footer-about li
+ li {
    margin-top: 0.5rem;
}

.sn-footer-newsroom a,
.sn-footer-pending {
    font-size: 0.75rem;
    line-height: 1.35;
}

.sn-footer-newsroom a {
    color:
        rgba(
            255,
            255,
            255,
            0.78
        );
}

.sn-footer-newsroom a:hover {
    color: #ffffff;
}

.sn-footer-pending {
    color:
        rgba(
            255,
            255,
            255,
            0.4
        );
}

.sn-footer-categories ul {
    display: grid;
    grid-template-columns:
        repeat(3, 1fr);

    gap:
        0.62rem
        1.4rem;
}

.sn-footer-categories li {
    min-width: 0;
}

.sn-footer-categories a {
    display: block;
}

.sn-footer-bottom {
    grid-template-columns:
        1fr
        auto
        1fr;
}

.sn-footer-bottom
span:nth-child(2) {
    text-align: center;
}

.sn-footer-bottom
span:last-child {
    text-align: right;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .sn-hero-media-grid {
        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(330px, 0.95fr);
    }

    .sn-publications-media-grid {
        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(330px, 0.9fr);
    }

    .sn-footer-newsroom {
        grid-template-columns:
            minmax(230px, 0.8fr)
            minmax(460px, 1.5fr);

        gap: 2.5rem;
    }

    .sn-footer-about {
        grid-column: 1 / -1;

        padding-top: 1.4rem;

        border-top:
            1px solid
            rgba(
                255,
                255,
                255,
                0.12
            );
    }

    .sn-footer-about ul {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem 1.5rem;
    }

    .sn-footer-about li
    + li {
        margin-top: 0;
    }
}

@media (max-width: 820px) {

    .sn-hero-media-grid,
    .sn-publications-media-grid {
        height: auto;
        grid-template-columns: 1fr;
    }

    .sn-hero-main-media,
    .sn-publication-main-media {
        aspect-ratio: 16 / 8.8;
    }

    .sn-hero-side-stack,
    .sn-publication-side-stack {
        border-left: 0;

        border-top:
            1px solid
            var(--sn-border-strong);
    }

    .sn-hero-side-item,
    .sn-publication-grid-item {
        min-height: 118px;

        grid-template-columns:
            145px
            1fr;
    }

    .sn-category-index {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .sn-footer-newsroom {
        grid-template-columns: 1fr;
    }

    .sn-footer-about {
        grid-column: auto;
    }

    .sn-footer-categories ul {
        grid-template-columns:
            repeat(3, 1fr);
    }
}

@media (max-width: 580px) {

    .sn-hero-side-item,
    .sn-publication-grid-item {
        min-height: 105px;

        grid-template-columns:
            108px
            1fr;
    }

    .sn-hero-side-copy,
    .sn-publication-grid-copy {
        padding: 0.65rem;
    }

    .sn-category-index {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .sn-footer-categories ul {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .sn-footer-bottom {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .sn-footer-bottom
    span:nth-child(2),
    .sn-footer-bottom
    span:last-child {
        text-align: left;
    }
}
