/* Изменения для узких экранов. Подключаются после основных CSS */
@media (max-width: 1100px) {

    div.body_B,
    div.body_S {
        width: 100%;
    }

    div.body {
        padding: 0 20px;
    }


    div.align_left,
    ul {
        text-align: left;
    }
}

@media (max-width: 900px) {
    .menu-toggle:not([hidden]) {
        display: block;
        width: 100%;
        min-height: 48px;
        padding: 12px 16px;
        border: 0;
        background: var(--brand-blue-deep);
        color: var(--brand-white);
        font: inherit;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
    }

    nav.menu_list {
        flex-direction: column;
        padding: 0 12px 8px;
    }

    nav.menu_list.menu-ready {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-content: stretch;
        grid-template-rows: repeat(6, minmax(0, 0fr));
        padding-bottom: 0;
        margin-bottom: 0;
        overflow: hidden;
        visibility: hidden;
        pointer-events: none;
        transition: grid-template-rows 0.35s ease, padding-bottom 0.35s ease,
            margin-bottom 0.35s ease, visibility 0s 0.35s;
    }

    nav.menu_list.menu-ready.is-open {
        grid-template-rows: repeat(6, minmax(0, 1fr));
        padding-bottom: 8px;
        margin-bottom: 10px;
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
    }

    .menu_list.menu-ready a.menu {
        min-height: 0;
        overflow: hidden;
        padding-top: 0;
        padding-bottom: 0;
        opacity: 0;
        transform: translateY(-6px);
        transition: padding 0.35s ease, opacity 0.2s ease,
            transform 0.3s ease, color 0.18s ease-in-out;
    }

    .menu_list.menu-ready.is-open a.menu {
        padding-top: 10px;
        padding-bottom: 10px;
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0s, 0.08s, 0.08s, 0s;
    }

    @media (prefers-reduced-motion: reduce) {

        nav.menu_list.menu-ready,
        .menu_list.menu-ready a.menu {
            transition: none;
        }
    }

    .menu_list a.menu {
        text-align: left;
    }

    div.header {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    div.header_left {
        width: 100%;
    }

    div.header_right {
        gap: clamp(16px, 5vw, 32px);
    }

    img.header {
        height: 64px;
        max-width: 90px;
    }

}

@media (max-width: 600px) {
    div.header_left {
        gap: 12px;
    }

    .brand-crest {
        flex-basis: 80px;
    }

    .brand-text {
        padding-left: 12px;
        font-size: 0.875rem;
    }

    html {
        font-size: 16px;
    }

    body {
        box-shadow: none;
    }

    div.body {
        padding: 0 16px;
    }

    div.body_title {
        padding-left: 0;
        margin: 20px 0 16px;
    }

    div.blok {
        width: 100%;
        max-width: 100%;
        margin: 8px 0 16px;
        padding: 16px;
    }

    div.blok_S,
    div.blok_S_long {
        min-height: 0;
        font-size: 0.9rem;
    }

    div.blok_pdf {
        padding-left: 54px;
    }

    img.small,
    img.full {
        display: block;
        float: none;
        margin: 0 auto 12px;
    }

    div.profile_name {
        width: 100%;
        margin-left: 0;
        margin-bottom: 8px;
    }

    img.photo {
        max-width: 100%;
        margin: 0 0 16px;
    }

    p {
        text-indent: 0;
    }

    li {
        margin-left: 1.3rem;
    }

    div.footer_left {
        font-size: 0.9rem;
    }

    span.contact {
        width: auto;
        padding-left: 0;
        font-weight: 700;
    }

    span.contact_plain {
        max-width: 100%;
        padding-left: 0;
    }

    .video-frame {
        display: block;
        margin: 0 auto 16px;
    }

    div.content_memorial {
        font-size: 1rem;
    }
}