.ot-test-catalog .tests-list,
.ot-test-catalog__additional {
    display: grid;
    gap: 18px;
    padding: 0;
    min-width: 0;
}

.ot-test-catalog__additional[hidden] { display: none; }
.ot-test-catalog__additional { scroll-margin-top: 100px; }
.ot-test-catalog .tests-list > * { margin: 0; }

.ot-test-catalog .tests-list .tests__item {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px 24px;
    min-height: 0;
    margin: 0;
    padding: 26px;
    border: 1px solid #e2e9f1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 16px #24436b04;
}

.ot-test-catalog .tests__item.has-divider::before { display: none; }

.ot-test-catalog .tests-list .tests__item-icon {
    position: static;
    grid-column: 1;
    grid-row: 1 / 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 112px;
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
}

.ot-test-catalog .tests__item-icon .avatar-img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
}

.ot-test-catalog .ot-catalog-card .tests__item-icon {
    background: linear-gradient(135deg, #3062d6, #00b394);
}

.ot-test-catalog .tests-list .tests__item-title,
.ot-test-catalog .tests-list .tests__item-descr,
.ot-test-catalog .tests-list .tests__item-btns {
    grid-column: 2;
    position: static;
    width: auto;
    min-width: 0;
    margin: 0;
}

.ot-test-catalog .tests-list .tests__item-title {
    color: #30415f;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.ot-test-catalog .tests__item-title:hover { color: #00b58b; }

.ot-test-catalog .tests-list .tests__item-descr {
    color: #53647b;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
}

.ot-test-catalog .tests-list .tests__item-btns {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    padding-top: 6px;
}

.ot-test-catalog .tests__item-btns .customBtn {
    width: auto;
    height: auto;
    min-height: 44px;
    padding: 10px 24px;
    font-size: 14px;
    line-height: 1.4;
    text-transform: none;
    white-space: normal;
}

.ot-test-catalog .ot-test-catalog__info {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 0;
    color: #009974;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.ot-test-catalog .ot-test-catalog__info:hover,
.ot-test-catalog .ot-test-catalog__info:focus-visible {
    color: #007f63;
    text-decoration: underline;
}

.ot-test-catalog .nav-block:not(.is-banner) > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 8px;
}

.ot-test-catalog .nav-block:not(.is-banner) > a .sprite__icon { flex-shrink: 0; margin: 0; }
.ot-test-catalog .nav-block > a .ot-test-category__label { flex: 1; min-width: 0; font-size: 13px; }
.ot-test-catalog .nav-block > a .ot-test-category__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 8px;
    background: #e8f7f1;
    color: #00a77d;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ot-test-catalog .nav-block > a.is-active .ot-test-category__count { background: #ffffff30; color: #fff; }

.ot-test-catalog .ot-test-catalog__more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: auto;
    min-height: 52px;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 14px;
}

.ot-test-catalog__more[aria-disabled="true"] { opacity: .65; cursor: wait; }
.ot-test-catalog a:focus-visible { outline: 3px solid #3181d4; outline-offset: 4px; }

.ot-catalog-mobile-nav { display: none; }

@media (max-width: 991px) {
    /* Replace the global fixed-bottom horizontal sidebar in this catalog only. */
    .ot-test-catalog .clayout-aside { display: none; }
    .ot-test-catalog .ot-catalog-mobile-nav { display: block; margin-bottom: 18px; }
    .ot-catalog-mobile-nav details {
        overflow: hidden;
        border: 1px solid #dce9e3;
        border-radius: 14px;
        background: #fff;
    }
    .ot-catalog-mobile-nav summary {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 54px;
        padding: 14px 16px;
        color: #17644f;
        font-size: 15px;
        font-weight: 700;
        list-style: none;
        cursor: pointer;
    }
    .ot-catalog-mobile-nav summary::-webkit-details-marker { display: none; }
    .ot-catalog-mobile-nav summary:focus-visible { outline: 3px solid #3181d4; outline-offset: -3px; }
    .ot-catalog-mobile-nav__chevron { flex: 0 0 auto; margin-left: auto; }
    .ot-catalog-mobile-nav details[open] summary { border-bottom: 1px solid #e7eee9; }
    .ot-catalog-mobile-nav details[open] .ot-catalog-mobile-nav__chevron { transform: rotate(180deg); }
    .ot-test-catalog .ot-catalog-mobile-nav .nav-sidebar { display: block; width: 100%; }
    .ot-test-catalog .ot-catalog-mobile-nav .nav-custom {
        position: static;
        display: block;
        width: 100%;
        margin: 0;
        padding: 8px;
        overflow: visible;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .ot-catalog-mobile-nav .nav-custom::before,
    .ot-catalog-mobile-nav .nav-custom::after { display: none; }
    .ot-test-catalog .ot-catalog-mobile-nav .nav-block:not(.is-banner) {
        display: grid;
        gap: 4px;
        margin: 0;
        padding: 0;
    }
    .ot-test-catalog .ot-catalog-mobile-nav .nav-block > a {
        display: flex;
        align-items: center;
        width: 100%;
        min-width: 0;
        min-height: 46px;
        height: auto;
        margin: 0;
        padding: 10px 12px;
        text-align: left;
        white-space: normal;
    }
    .ot-test-catalog .ot-catalog-mobile-nav .ot-test-category-icon { margin: 0; }
    .ot-test-catalog .ot-catalog-mobile-nav .ot-test-category__label { font-size: 15px; }
}

@media (max-width: 640px) {
    .ot-test-catalog .tests-list .tests__item {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 12px 16px;
        padding: 20px;
    }
    .ot-test-catalog .tests-list .tests__item-icon {
        grid-row: 1;
        width: 64px;
        height: 64px;
        border-radius: 12px;
    }
    .ot-test-catalog .tests-list .tests__item-title { align-self: center; font-size: 18px; }
    .ot-test-catalog .tests-list .tests__item-descr,
    .ot-test-catalog .tests-list .tests__item-btns { grid-column: 1 / -1; }
    .ot-test-catalog .tests-list .tests__item-descr { font-size: 14px; }
}
