/* Раздел «Медиатека ДНТ». Цвета и компоненты - дизайн-система сайта (main.min.css): #1972db, #eef3f7, #dadada, #2b2b2b, #5a5a5a.
   Размеры шрифтов и отступов - в rem (ТЗ п.2.2). */

.mdnt-page {
    --mdnt-primary: #1972db;
    --mdnt-primary-hover: #1561ba;
    --mdnt-bg: #eef3f7;
    --mdnt-border: #dadada;
    --mdnt-text: #2b2b2b;
    --mdnt-muted: #5a5a5a;
    --mdnt-danger: #dc3545;
    --mdnt-focus: 0 0 0 .2rem rgba(25, 114, 219, .35);
}

.mdnt-page .visually-hidden {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* ---------- Шапка ---------- */
.mdnt-head__row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    justify-content: space-between;
    padding: .5rem 0 1rem;
}

.mdnt-head__brand {
    align-items: center;
    display: flex;
    gap: 1rem;
    min-width: 0;
}

.mdnt-head__logo {
    flex: 0 0 auto;
    height: 3.5rem;
    object-fit: contain;
    width: 3.5rem;
}

.mdnt-head__title {
    color: var(--mdnt-text);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.15;
    margin: 0;
    overflow-wrap: anywhere;
}

.mdnt-head__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
}

.mdnt-head__main-link {
    color: var(--mdnt-primary);
    font-size: 1rem;
    text-decoration: underline;
}

.mdnt-head__main-link:hover {
    color: var(--mdnt-primary-hover);
}

.mdnt-head__main-link:focus-visible,
.mdnt-tag:focus-visible,
.mdnt-card__title a:focus-visible,
.mdnt-sort__option:focus-visible {
    border-radius: .2rem;
    box-shadow: var(--mdnt-focus);
    outline: 0;
}

/* ---------- Фильтры ---------- */
.mdnt-page .mdnt-filters.section {
    padding-bottom: 1rem;
    padding-top: 1.5rem;
}

.mdnt-filters__title {
    color: var(--mdnt-text);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1.25rem;
}

.mdnt-search {
    align-items: stretch;
    display: flex;
    gap: .75rem;
}

.mdnt-search__field {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
}

.mdnt-search__icon {
    color: var(--mdnt-muted);
    height: 1.4rem;
    left: .9rem;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.4rem;
}

.mdnt-search .mdnt-search__input.form-control {
    border: 1px solid var(--mdnt-border);
    border-radius: .55rem;
    flex: 1 1 auto;
    font-size: 1.05rem;
    min-width: 0;
    width: 100%;
    padding: .8rem 1rem .8rem 2.9rem;
}

.mdnt-search__btn {
    flex: 0 0 auto;
    font-size: 1.05rem;
    min-width: 8rem;
    padding: .8rem 1.5rem;
}

.mdnt-filters__toggle {
    display: none;
}

.mdnt-filters__panels {
    margin-top: 1rem;
}

.mdnt-filters__group {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.mdnt-filters__group--single {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mdnt-filters__group--multi {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mdnt-field__label {
    color: var(--mdnt-muted);
    display: block;
    font-size: .85rem;
    margin-bottom: .3rem;
}

.mdnt-filters .form-select,
.mdnt-suggest .form-select {
    cursor: pointer;
    font-size: 1rem;
    padding-bottom: .7rem;
    padding-top: .7rem;
    text-overflow: ellipsis;
}

.mdnt-page .form-select:focus-visible,
.mdnt-page .form-control:focus-visible,
.mdnt-multi__summary:focus-visible {
    border-color: #8cb9ed;
    box-shadow: var(--mdnt-focus);
    outline: 0;
}

/* Выпадающие списки множественного выбора */
.mdnt-multi {
    align-self: end;
    position: relative;
}

.mdnt-multi__summary {
    align-items: center;
    display: flex;
    gap: .5rem;
    list-style: none;
    user-select: none;
}

.mdnt-multi__summary::-webkit-details-marker {
    display: none;
}

.mdnt-multi__title {
    color: var(--mdnt-text);
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mdnt-multi__count {
    background: var(--mdnt-primary);
    border-radius: 1rem;
    color: #fff;
    flex: 0 0 auto;
    font-size: .8rem;
    line-height: 1;
    min-width: 1.4rem;
    padding: .25rem .45rem;
    text-align: center;
}

.mdnt-multi__count[hidden] {
    display: none;
}

.mdnt-multi[open] > .mdnt-multi__summary {
    border-color: #8cb9ed;
}

.mdnt-multi__panel {
    background: #fff;
    border: 1px solid var(--mdnt-border);
    border-radius: .55rem;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
    display: grid;
    gap: .15rem;
    left: 0;
    margin-top: .25rem;
    max-height: 18rem;
    min-width: 100%;
    overflow-y: auto;
    padding: .5rem;
    position: absolute;
    top: 100%;
    z-index: 20;
}

.mdnt-check {
    align-items: center;
    border-radius: .4rem;
    color: var(--mdnt-text);
    cursor: pointer;
    display: flex;
    font-size: 1rem;
    gap: .6rem;
    margin: 0;
    padding: .4rem .5rem;
}

.mdnt-check:hover {
    background: var(--mdnt-bg);
}

.mdnt-check input {
    accent-color: var(--mdnt-primary);
    cursor: pointer;
    flex: 0 0 auto;
    height: 1.1rem;
    width: 1.1rem;
}

.mdnt-check input:focus-visible {
    box-shadow: var(--mdnt-focus);
    outline: 0;
}

/* ---------- Выдача ---------- */
.mdnt-page .mdnt-results.section {
    padding-bottom: 3rem;
    padding-top: 1rem;
}

.mdnt-results__bar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.mdnt-results__count {
    color: var(--mdnt-text);
    font-size: 1.1rem;
    margin: 0;
}

.mdnt-sort {
    position: relative;
}

.mdnt-sort__btn {
    align-items: center;
    background: #fff;
    border: 1px solid var(--mdnt-border);
    border-radius: .55rem;
    cursor: pointer;
    display: inline-flex;
    gap: .5rem;
    list-style: none;
    padding: .6rem 1rem;
    transition: border-color .2s, background-color .2s;
    user-select: none;
}

.mdnt-sort__btn::-webkit-details-marker {
    display: none;
}

.mdnt-sort__btn::after {
    border-bottom: 2px solid var(--mdnt-text);
    border-right: 2px solid var(--mdnt-text);
    content: "";
    height: .5rem;
    margin-left: .25rem;
    transform: rotate(45deg) translateY(-.15rem);
    width: .5rem;
}

.mdnt-sort__btn:hover {
    background: var(--mdnt-bg);
    border-color: var(--mdnt-primary);
}

.mdnt-sort__btn:active {
    background: #dde8f2;
}

.mdnt-sort__btn:focus-visible {
    box-shadow: var(--mdnt-focus);
    outline: 0;
}

.mdnt-sort__caption {
    color: var(--mdnt-muted);
}

.mdnt-sort__value {
    color: var(--mdnt-text);
    font-weight: 600;
}

.mdnt-sort__list {
    background: #fff;
    border: 1px solid var(--mdnt-border);
    border-radius: .55rem;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
    list-style: none;
    margin: .25rem 0 0;
    min-width: 100%;
    padding: .4rem;
    position: absolute;
    right: 0;
    white-space: nowrap;
    z-index: 20;
}

.mdnt-sort__option {
    border-radius: .4rem;
    color: var(--mdnt-text);
    display: block;
    padding: .5rem .75rem;
    text-decoration: none;
}

.mdnt-sort__option:hover {
    background: var(--mdnt-bg);
    color: var(--mdnt-text);
}

.mdnt-sort__option.is-active {
    color: var(--mdnt-primary);
    font-weight: 700;
}

/* Сетка карточек: 3 колонки на десктопе, 2 на планшете, 1 на мобильном (D-21) */
.mdnt-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mdnt-card {
    background: #fff;
    border: 1px solid var(--mdnt-border);
    border-radius: .55rem;
    box-shadow: 1px 1px 1.2rem transparent;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition: box-shadow .3s ease-in-out, border-color .3s ease-in-out;
}

.mdnt-card:hover,
.mdnt-card:focus-within {
    border-color: #8cb9ed;
    box-shadow: 1px 1px 1.2rem rgba(25, 114, 219, .18);
}

.mdnt-card__cover {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #dbe7f3, #c2dcfb);
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.mdnt-card__cover img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.mdnt-card__placeholder {
    color: var(--mdnt-primary);
    height: 3rem;
    opacity: .7;
    width: 3rem;
}

.mdnt-card__badge {
    background: rgba(43, 43, 43, .82);
    border-radius: .3rem;
    color: #fff;
    font-size: .8rem;
    line-height: 1.2;
    max-width: calc(100% - 1.2rem);
    overflow: hidden;
    padding: .25rem .5rem;
    position: absolute;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mdnt-card__badge--type {
    background: var(--mdnt-primary);
    left: .6rem;
    top: .6rem;
}

.mdnt-card__badge--duration {
    bottom: .6rem;
    right: .6rem;
}

.mdnt-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: .6rem;
    padding: 1.1rem 1.1rem 1.2rem;
}

.mdnt-card__title {
    font-size: 1.15rem;
    line-height: 1.3;
    margin: 0;
    min-height: 2.6em;
}

.mdnt-card__title a,
.mdnt-card__text {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.mdnt-card__title a {
    color: var(--mdnt-text);
    -webkit-line-clamp: 2;
    text-decoration: none;
}

.mdnt-card__title a:hover {
    color: var(--mdnt-primary);
}

.mdnt-card__title a:active {
    color: var(--mdnt-primary-hover);
}

.mdnt-card__text {
    color: var(--mdnt-muted);
    -webkit-line-clamp: 3;
    font-size: .95rem;
    line-height: 1.5;
    margin: 0;
    min-height: 4.5em;
}

.mdnt-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .75rem;
    height: 1.6rem;
    margin-top: auto;
    overflow: hidden;
}

.mdnt-tag {
    color: var(--mdnt-primary);
    font-size: .9rem;
    max-width: 100%;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mdnt-tag:hover {
    color: var(--mdnt-primary-hover);
    text-decoration: underline;
}

.mdnt-card__add {
    align-self: flex-start;
    font-size: .95rem;
    padding: .45rem 1rem;
}

/* Пустая выдача и «Возможно вам будет интересно» */
.mdnt-empty {
    background: var(--mdnt-bg);
    border-radius: .55rem;
    margin-bottom: 2rem;
    padding: 2rem 1.5rem;
    text-align: center;
}

.mdnt-empty__title {
    color: var(--mdnt-text);
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 .5rem;
}

.mdnt-empty__text {
    margin: 0;
}

.mdnt-suggestions__title {
    color: var(--mdnt-text);
    font-size: 1.6rem;
    margin-bottom: 1.25rem;
}

/* Пагинация (классы дизайн-системы page-numbers) */
.mdnt-pagination {
    justify-content: center;
    margin-top: 2rem;
}

.mdnt-pagination ul {
    flex-wrap: wrap;
    gap: .4rem;
    justify-content: center;
    margin: 0;
}

.mdnt-pagination .page-numbers {
    font-size: 1rem;
    min-width: 2.4rem;
    padding: .45rem .6rem;
}

.mdnt-pagination li {
    margin: 0;
}

.mdnt-pagination .page-numbers:focus-visible {
    box-shadow: var(--mdnt-focus);
    outline: 0;
}

/* ---------- Попап «Предложить контент» ---------- */
.mdnt-suggest {
    max-width: 44rem;
    width: 100%;
}

.mdnt-suggest__title {
    color: var(--mdnt-text);
    font-size: 1.6rem;
    margin-bottom: 1.25rem;
}

.mdnt-suggest__row {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mdnt-fld {
    border: 0;
    margin: 0 0 1rem;
    min-width: 0;
    padding: 0;
}

.mdnt-fld__label {
    color: var(--mdnt-text);
    display: block;
    float: none;
    font-size: .95rem;
    font-weight: 600;
    margin-bottom: .3rem;
    padding: 0;
    width: auto;
}

.mdnt-fld__req {
    color: var(--mdnt-danger);
}

.mdnt-fld__hint {
    color: var(--mdnt-muted);
    font-size: .85rem;
    margin-top: .25rem;
}

.mdnt-fld__error {
    color: var(--mdnt-danger);
    font-size: .85rem;
    margin-top: .25rem;
}

.mdnt-fld__error[hidden] {
    display: none;
}

.mdnt-fld__checks {
    border: 1px solid var(--mdnt-border);
    border-radius: .55rem;
    display: grid;
    max-height: 10rem;
    overflow-y: auto;
    padding: .4rem;
}

.mdnt-fld__checks--inline {
    border: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1.5rem;
    padding: 0;
}

.mdnt-fld.is-invalid .form-control,
.mdnt-fld.is-invalid .form-select,
.mdnt-fld.is-invalid .mdnt-fld__checks {
    border-color: var(--mdnt-danger);
    box-shadow: 0 0 0 .15rem rgba(220, 53, 69, .2);
}

.mdnt-suggest__alert {
    background: #fdecee;
    border: 1px solid var(--mdnt-danger);
    border-radius: .55rem;
    color: #8a1c27;
    font-weight: 600;
    margin-bottom: 1rem;
    padding: .75rem 1rem;
}

.mdnt-suggest__alert[hidden],
.mdnt-suggest__done[hidden] {
    display: none;
}

.mdnt-suggest__done {
    text-align: center;
}

.mdnt-suggest__done-text {
    color: #1e6b34;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
}

.mdnt-suggest__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    margin-top: 1.25rem;
}

/* Кнопка «Предложить контент» подсвечивается, когда обязательные поля заполнены (D-27) */
.mdnt-suggest__submit {
    font-size: 1.05rem;
    padding: .7rem 1.8rem;
    transition: background-color .2s, color .2s, box-shadow .2s;
}

.mdnt-suggest__submit.is-ready {
    background: var(--mdnt-primary);
    border-color: var(--mdnt-primary);
    box-shadow: 0 0 0 .25rem rgba(25, 114, 219, .25);
    color: #fff;
}

.mdnt-suggest__submit.is-ready:hover {
    background: var(--mdnt-primary-hover);
}

.mdnt-suggest__submit[disabled] {
    opacity: .65;
    pointer-events: none;
}

.mdnt-suggest__legend {
    color: var(--mdnt-muted);
    font-size: .85rem;
    margin: 1rem 0 0;
}

/* ---------- Адаптивность ---------- */
@media (max-width: 991.98px) {
    .mdnt-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mdnt-filters__group--multi {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mdnt-head__title {
        font-size: 1.8rem;
    }

    .mdnt-filters__title {
        font-size: 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .mdnt-filters__group--single {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Бургер для фильтров: панели скрыты, пока не раскрыты (только при включённом JS) */
    .mdnt-filters.is-js .mdnt-filters__toggle {
        align-items: center;
        background: #fff;
        border: 1px solid var(--mdnt-border);
        border-radius: .55rem;
        color: var(--mdnt-text);
        cursor: pointer;
        display: flex;
        font-size: 1.05rem;
        font-weight: 600;
        gap: .75rem;
        margin-top: .75rem;
        padding: .7rem 1rem;
        text-align: left;
        width: 100%;
    }

    .mdnt-filters.is-js .mdnt-filters__toggle:hover {
        background: var(--mdnt-bg);
    }

    .mdnt-filters.is-js .mdnt-filters__toggle:active {
        background: #dde8f2;
    }

    .mdnt-filters.is-js .mdnt-filters__toggle:focus-visible {
        box-shadow: var(--mdnt-focus);
        outline: 0;
    }

    .mdnt-filters.is-js .mdnt-filters__panels {
        display: none;
    }

    .mdnt-filters.is-js .mdnt-filters__panels.is-open {
        display: block;
    }

    .mdnt-burger,
    .mdnt-burger::before,
    .mdnt-burger::after,
    .mdnt-burger i {
        background: var(--mdnt-text);
        border-radius: 2px;
        display: block;
        height: 2px;
        width: 1.3rem;
    }

    .mdnt-burger {
        background: none;
        display: grid;
        gap: .3rem;
        height: auto;
    }

    .mdnt-burger::before,
    .mdnt-burger::after {
        content: "";
    }

    .mdnt-burger i {
        order: 1;
    }

    .mdnt-burger::after {
        order: 2;
    }

    .mdnt-filters__badge {
        background: var(--mdnt-primary);
        border-radius: 1rem;
        color: #fff;
        font-size: .8rem;
        line-height: 1;
        margin-left: auto;
        padding: .25rem .5rem;
    }

    .mdnt-filters__group--multi {
        grid-template-columns: minmax(0, 1fr);
    }

    /* На мобильных панели множественного выбора сворачиваются на месте, без всплывающего окна */
    .mdnt-multi__panel {
        border-radius: 0 0 .55rem .55rem;
        box-shadow: none;
        margin-top: 0;
        max-height: none;
        position: static;
    }

    .mdnt-head__row {
        align-items: flex-start;
        flex-direction: column;
    }

    .mdnt-suggest__row {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (min-width: 768px) {
    .mdnt-filters__badge {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .mdnt-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .mdnt-head__title {
        font-size: 1.5rem;
    }

    .mdnt-head__logo {
        height: 2.7rem;
        width: 2.7rem;
    }

    .mdnt-filters__title {
        font-size: 1.3rem;
    }

    .mdnt-search__btn {
        min-width: 0;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .mdnt-results__bar {
        align-items: stretch;
        flex-direction: column;
    }

    .mdnt-sort__btn {
        justify-content: space-between;
        width: 100%;
    }

    .mdnt-sort__list {
        left: 0;
    }

    .mdnt-pagination .page-numbers {
        min-width: 2.2rem;
        padding: .4rem .45rem;
    }

    .mdnt-suggest-wrap .modal-win {
        padding: 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mdnt-card,
    .mdnt-sort__btn,
    .mdnt-suggest__submit {
        transition: none;
    }
}

/* ===================================================================== */
/* Доработка UI (2026-10): плашка-баннер «Медиатека» + компактный фильтр  */
/* ===================================================================== */

/* --- Заголовок раздела: минималистичный, в стиле сайта (светлый фон, тёмный текст) --- */
.mdnt-page .mdnt-head {
    margin-bottom: 1rem;
    padding: .5rem 0 1rem;
}
.mdnt-head__eyebrow {
    display: inline-block;
    background: rgba(25, 114, 219, .1);
    border-radius: 2rem;
    color: #1561ba;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .25rem .8rem;
    margin: .2rem 0 .5rem;
}

/* --- Компактный фильтр: панели свёрнуты по умолчанию на ВСЕХ ширинах --- */
.mdnt-page .mdnt-filters.section { padding-top: 1rem; }
.mdnt-filters__title { font-size: 1.35rem; margin-bottom: .85rem; }
.mdnt-filters.is-js .mdnt-filters__toggle {
    align-items: center;
    background: #fff;
    border: 1px solid var(--mdnt-border);
    border-radius: .55rem;
    color: var(--mdnt-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 600;
    gap: .6rem;
    margin-top: .75rem;
    padding: .6rem 1.1rem;
}
.mdnt-filters.is-js .mdnt-filters__toggle:hover { background: var(--mdnt-bg); }
.mdnt-filters.is-js .mdnt-filters__toggle:focus-visible { box-shadow: var(--mdnt-focus); outline: 0; }
.mdnt-filters.is-js .mdnt-filters__panels { display: none; }
.mdnt-filters.is-js .mdnt-filters__panels.is-open { display: block; }
.mdnt-burger,
.mdnt-burger::before,
.mdnt-burger::after,
.mdnt-burger i {
    background: var(--mdnt-primary);
    border-radius: 2px;
    display: block;
    height: 2px;
    width: 1.2rem;
}
.mdnt-burger { background: none; display: grid; gap: .28rem; height: auto; }
.mdnt-burger::before,
.mdnt-burger::after { content: ""; }
.mdnt-burger i { order: 1; }
.mdnt-burger::after { order: 2; }
.mdnt-filters__badge {
    background: var(--mdnt-primary);
    border-radius: 1rem;
    color: #fff;
    display: inline-block;
    font-size: .8rem;
    line-height: 1;
    margin-left: .3rem;
    padding: .25rem .5rem;
}

/* Блок «Похожие видео» (ТЗ п.2): подпись под заголовком */
.mdnt-suggestions {
    margin-top: 2rem;
}

.mdnt-suggestions__subtitle {
    color: var(--mdnt-muted);
    font-size: .95rem;
    margin: -.5rem 0 1.1rem;
}

/* ===================================================================== */
/* Герой раздела: search-first карточка + капсульный поиск (редизайн)     */
/* ===================================================================== */

/* «Предложить контент» — лёгкая контурная кнопка, не спорит с поиском */
.mdnt-page .mdnt-head__suggest.btn-primary {
    background: #fff;
    border: 1.5px solid var(--mdnt-primary);
    color: var(--mdnt-primary);
    font-weight: 600;
}
.mdnt-page .mdnt-head__suggest.btn-primary:hover,
.mdnt-page .mdnt-head__suggest.btn-primary:focus-visible {
    background: #eef5fe;
    border-color: var(--mdnt-primary-hover);
    color: var(--mdnt-primary-hover);
}
.mdnt-page .mdnt-head__title { font-size: 2.2rem; }

/* Карточка-герой с поиском */
.mdnt-filters__hero {
    background: linear-gradient(135deg, #e9f1fd 0%, #f5faff 55%, #ffffff 100%);
    border: 1px solid #e1ebf7;
    border-radius: 1.4rem;
    overflow: hidden;
    padding: 2rem 2rem 1.6rem;
    position: relative;
}
/* Тонкий декоративный акцент в углу (оригинальная деталь) */
.mdnt-filters__hero::after {
    background: radial-gradient(circle, rgba(25, 114, 219, .12), transparent 70%);
    content: "";
    height: 260px;
    pointer-events: none;
    position: absolute;
    right: -80px;
    top: -90px;
    width: 260px;
}
.mdnt-filters__hero > * { position: relative; z-index: 1; }

.mdnt-filters__hero .mdnt-filters__title {
    color: var(--mdnt-text);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .mdnt-filters__hero .mdnt-filters__title {
        white-space: normal;
    }
}

/* Капсульный поиск: иконка + поле + кнопка в одной пилюле */
.mdnt-filters__hero .mdnt-search {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe6f3;
    border-radius: 999px;
    box-shadow: 0 10px 28px rgba(25, 114, 219, .12);
    gap: .4rem;
    max-width: 780px;
    padding: .35rem .35rem .35rem 0;
}
.mdnt-filters__hero .mdnt-search:focus-within {
    border-color: #8cb9ed;
    box-shadow: 0 10px 28px rgba(25, 114, 219, .18);
}
.mdnt-filters__hero .mdnt-search__field { align-items: center; display: flex; }
.mdnt-filters__hero .mdnt-search__icon { left: 1.2rem; }
.mdnt-filters__hero .mdnt-search .mdnt-search__input.form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    font-size: 1.05rem;
    padding: .85rem 1rem .85rem 3.1rem;
}
.mdnt-filters__hero .mdnt-search__btn {
    border-radius: 999px;
    flex: 0 0 auto;
    min-width: 7.5rem;
    padding: .72rem 1.6rem;
}

/* «Фильтры» — чип под поиском */
.mdnt-filters__hero .mdnt-filters__toggle {
    margin-top: 1rem;
}

/* Герой на мобильном: компактнее, поиск в столбик */
@media (max-width: 575.98px) {
    .mdnt-filters__hero {
        border-radius: 1rem;
        padding: 1.25rem 1.1rem 1.1rem;
    }
    .mdnt-filters__hero .mdnt-filters__title {
        font-size: 1.3rem;
        margin-bottom: .9rem;
    }
    .mdnt-filters__hero .mdnt-search {
        border-radius: 1rem;
        flex-wrap: wrap;
        padding: .5rem;
    }
    .mdnt-filters__hero .mdnt-search__field {
        flex: 1 1 100%;
    }
    .mdnt-filters__hero .mdnt-search__btn {
        flex: 1 1 100%;
        min-width: 0;
        width: 100%;
    }
}

/* Заголовок раздела и CTA — внутри карточки-героя, единым блоком */
.mdnt-hero__head {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    justify-content: space-between;
    margin-bottom: 1.3rem;
}
.mdnt-hero__brand {
    align-items: center;
    display: flex;
    gap: .9rem;
    min-width: 0;
}
.mdnt-hero__logo {
    background: #fff;
    border-radius: .7rem;
    flex: 0 0 auto;
    height: 3rem;
    object-fit: contain;
    padding: .25rem;
    width: 3rem;
}
.mdnt-hero__title {
    color: var(--mdnt-text);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
    overflow-wrap: anywhere;
}
.mdnt-hero__suggest.btn {
    background: var(--mdnt-primary);
    border: 0;
    border-radius: 999px;
    color: #fff;
    flex: 0 0 auto;
    font-weight: 600;
    padding: .7rem 1.6rem;
}
.mdnt-hero__suggest.btn:hover,
.mdnt-hero__suggest.btn:focus-visible {
    background: var(--mdnt-primary-hover);
    color: #fff;
}
/* Теглайн — подзаголовок под названием */
.mdnt-filters__hero .mdnt-filters__title {
    color: var(--mdnt-muted);
    font-size: 1.15rem;
    font-weight: 500;
    margin-bottom: 1.1rem;
}
@media (max-width: 575.98px) {
    .mdnt-hero__title { font-size: 1.5rem; }
    .mdnt-hero__suggest.btn { width: 100%; }
}

/* ======================================================================
   «Цветной» герой главной — визуальный редизайн по референсу заказчика.
   Только оформление: новых данных/запросов нет. Блок добавлен в конец,
   чтобы перекрыть прежнее бледное оформление карточки-героя.
   ====================================================================== */
.mdnt-filters.mdnt-hero {
    background:
        radial-gradient(900px 420px at 88% -20%, rgba(90, 160, 255, .55), transparent 62%),
        radial-gradient(700px 500px at 10% 120%, rgba(18, 70, 180, .55), transparent 60%),
        linear-gradient(135deg, #0e1c4d 0%, #14409f 52%, #1972db 100%);
    color: #fff;
    margin-bottom: 2.25rem;
    overflow: hidden;
    padding-bottom: 3rem;
    padding-top: 2.75rem;
    position: relative;
}

.mdnt-hero__grid {
    align-items: center;
    display: grid;
    gap: 2.5rem;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
}

.mdnt-hero__main { min-width: 0; position: relative; z-index: 1; }

.mdnt-hero__badge {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    color: #eaf2ff;
    display: inline-flex;
    font-size: .85rem;
    font-weight: 600;
    margin-bottom: 1.15rem;
    padding: .42rem 1rem;
}

.mdnt-hero__h1 {
    color: #fff;
    font-size: clamp(2.5rem, 5.5vw, 4rem);
    font-weight: 800;
    letter-spacing: -.01em;
    line-height: 1.02;
    margin: 0 0 1rem;
}

.mdnt-hero__h1 span {
    color: #7fb2ff;
    display: block;
}

.mdnt-hero__lead {
    color: rgba(255, 255, 255, .84);
    font-size: 1.14rem;
    line-height: 1.5;
    margin: 0 0 1.6rem;
    max-width: 35rem;
}

/* Поиск — белая «пилюля» на синем */
.mdnt-hero .mdnt-search {
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 20px 44px rgba(6, 18, 56, .4);
    display: flex;
    gap: .4rem;
    max-width: 640px;
    padding: .4rem .4rem .4rem 0;
}

.mdnt-hero .mdnt-search__field {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
}

.mdnt-hero .mdnt-search__icon {
    color: #7488a8;
    left: 1.25rem;
    position: absolute;
}

.mdnt-hero .mdnt-search__input.form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #14233f;
    font-size: 1.05rem;
    padding: .82rem 1rem .82rem 3.05rem;
    width: 100%;
}

.mdnt-hero .mdnt-search__btn {
    border-radius: 999px;
    flex: 0 0 auto;
    font-weight: 700;
    min-width: 7rem;
    padding: .74rem 1.7rem;
}

/* «Фильтры» — стеклянный чип на синем фоне */
.mdnt-hero.mdnt-filters.is-js .mdnt-filters__toggle {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .32);
    color: #fff;
    margin-top: 1.1rem;
}

.mdnt-hero.mdnt-filters.is-js .mdnt-filters__toggle:hover,
.mdnt-hero.mdnt-filters.is-js .mdnt-filters__toggle:focus-visible {
    background: rgba(255, 255, 255, .24);
}

.mdnt-hero .mdnt-burger,
.mdnt-hero .mdnt-burger::before,
.mdnt-hero .mdnt-burger::after,
.mdnt-hero .mdnt-burger i {
    background: currentColor;
}

.mdnt-hero .mdnt-filters__badge {
    background: #fff;
    color: #14409f;
}

/* Панели фильтров на синем: подписи полей — светлые, сами контролы остаются белыми */
.mdnt-hero .mdnt-filters__panels { margin-top: 1.1rem; }
.mdnt-hero .mdnt-field__label { color: rgba(255, 255, 255, .85); }

/* «Предложить контент» — вторичная кнопка-контур */
.mdnt-hero .mdnt-hero__suggest.btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 999px;
    color: #fff;
    font-weight: 600;
    margin-top: 1.1rem;
    padding: .66rem 1.4rem;
}

.mdnt-hero .mdnt-hero__suggest.btn:hover,
.mdnt-hero .mdnt-hero__suggest.btn:focus-visible {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

/* Статистика */
.mdnt-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem;
    margin: 1.9rem 0 0;
}

.mdnt-hero__stat { min-width: 0; }

.mdnt-hero__stat dd {
    color: #fff;
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1;
    margin: 0;
}

.mdnt-hero__stat dt {
    color: rgba(255, 255, 255, .68);
    font-size: .9rem;
    margin-top: .35rem;
}

/* ---------- Декоративная часть справа ---------- */
.mdnt-hero__aside {
    min-height: 380px;
    position: relative;
    z-index: 1;
}

.mdnt-hero__orbit {
    inset: 0;
    position: absolute;
}

.mdnt-hero__orbit::before,
.mdnt-hero__orbit::after {
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
}

.mdnt-hero__orbit::before { height: 300px; width: 300px; }
.mdnt-hero__orbit::after { height: 450px; width: 450px; }

.mdnt-hero__dnt {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 14px 34px rgba(6, 18, 56, .45);
    color: #14409f;
    display: flex;
    font-size: 1.15rem;
    font-weight: 800;
    height: 92px;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
    width: 92px;
}

.mdnt-hero__card {
    background: #fff;
    border-radius: .85rem;
    box-shadow: 0 20px 44px rgba(6, 18, 56, .4);
    overflow: hidden;
    position: absolute;
    width: 215px;
}

.mdnt-hero__card--1 { right: 6%; top: 2%; }
.mdnt-hero__card--2 { bottom: 4%; right: 0; width: 195px; }

.mdnt-hero__card-thumb {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #dbe7f6, #c2dcfb);
    display: block;
    object-fit: cover;
    width: 100%;
}

.mdnt-hero__card-body { padding: .55rem .7rem .72rem; }

.mdnt-hero__card-title {
    -webkit-box-orient: vertical;
    color: #14233f;
    display: -webkit-box;
    font-size: .82rem;
    font-weight: 700;
    -webkit-line-clamp: 2;
    line-height: 1.25;
    margin: 0;
    overflow: hidden;
}

.mdnt-hero__card-meta {
    color: #6b7c96;
    font-size: .76rem;
}

.mdnt-hero__pill {
    align-items: center;
    background: rgba(8, 22, 60, .74);
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 999px;
    bottom: 32%;
    color: #dff0ff;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 600;
    gap: .45rem;
    left: 0;
    padding: .42rem .95rem;
    position: absolute;
    z-index: 2;
}

.mdnt-hero__pill::before {
    background: #49d17a;
    border-radius: 50%;
    content: "";
    height: .5rem;
    width: .5rem;
}

@media (max-width: 991.98px) {
    .mdnt-hero__grid { grid-template-columns: minmax(0, 1fr); }
    .mdnt-hero__aside { display: none; }
}

@media (max-width: 575.98px) {
    .mdnt-filters.mdnt-hero { padding-bottom: 2rem; padding-top: 2rem; }
    .mdnt-hero__h1 { font-size: 2.2rem; }
    .mdnt-hero__lead { font-size: 1.02rem; }
    .mdnt-hero .mdnt-search {
        border-radius: 1rem;
        flex-wrap: wrap;
        padding: .5rem;
    }
    .mdnt-hero .mdnt-search__field { flex: 1 1 100%; }
    .mdnt-hero .mdnt-search__input.form-control { padding-left: 2.9rem; }
    .mdnt-hero .mdnt-search__btn { flex: 1 1 100%; min-width: 0; width: 100%; }
    .mdnt-hero__stats { gap: 1.5rem; }
    .mdnt-hero__stat dd { font-size: 1.8rem; }
}
