
    .sf-test-list,
    .sf-test-list * {
        box-sizing: border-box;
        font-family: 'Roboto', Arial, sans-serif;
    }

    .sf-test-list {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 100%;
        max-width: 1415px;
        margin-inline: auto;
    }

    .sf-fullwidth .sf-test-list {
        max-width: none;
    }

    .sf-test-card {
        display: grid;
        grid-template-columns: 230px minmax(0, 1fr) 190px;
        gap: 16px;
        align-items: center;
        padding: 10px 14px;
        background: #fff;
        border: 1px solid rgba(0,0,0,.75);
        border-radius: 10px;
        box-shadow: 0 4px 14px rgba(0,0,0,.14);
    }

    .sf-test-image-wrap {
        width: 230px;
        height: 155px;
        overflow: hidden;
        border-radius: 8px;
        background: #f4f4f4;
    }

    .sf-test-image {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .sf-test-content {
        min-width: 0;
    }

    .sf-test-title {
        margin: 0 0 8px;
        padding-bottom: 5px;
        border-bottom: 1px solid #222;
        color: #17184f;
        font-size: 32px;
        line-height: 1.12;
        font-weight: 800;
    }

    .sf-test-meta {
        display: grid;
        grid-template-columns: repeat(3, minmax(120px, 1fr));
        gap: 14px;
        margin-top: 8px;
        color: #222;
        font-size: 18px;
        font-weight: 700;
    }

    .sf-test-tags {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        margin-top: 26px;
    }

    .sf-test-tag {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 9px 17px;
        border-radius: 999px;
        background: #f1e3cf;
        color: #5b3913;
        font-size: 17px;
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
    }

    .sf-more-wrap {
        position: relative;
        display: inline-flex;
    }

    .sf-more-tag {
        background: #1f3568;
        color: #fff;
        cursor: default;
    }

    .sf-more-popup {
        position: absolute;
        left: 50%;
        bottom: calc(100% + 10px);
        z-index: 20;
        display: none;
        min-width: 220px;
        max-width: 320px;
        padding: 10px;
        background: #fff;
        border: 1px solid rgba(0,0,0,.1);
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(0,0,0,.22);
        text-align: left;
        transform: translateX(-50%);
    }

    .sf-more-popup::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 100%;
        border-width: 8px;
        border-style: solid;
        border-color: #fff transparent transparent transparent;
        transform: translateX(-50%);
    }

    .sf-more-popup span {
        display: inline-flex;
        margin: 4px;
        padding: 7px 10px;
        border-radius: 999px;
        background: #f1e3cf;
        color: #5b3913;
        font-size: 15px;
        font-weight: 700;
        white-space: nowrap;
    }

    .sf-more-wrap:hover .sf-more-popup {
        display: block;
        cursor:  pointer;
    }

    .sf-test-action {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center;
    }

    .sf-sale-price {
        color: red;
        font-size: 22px;
        line-height: 1;
    }

    .sf-price {
        color: #f18700;
        font-size: 32px;
        font-weight: 800;
        line-height: 1;
        white-space: nowrap;
    }

    .sf-take-test-btn {
        width: 100%;
        max-width: 172px;
        padding: 12px 18px;
        border: 0;
        border-radius: 12px !important;
        background: #ed7300;
        color: #fff;
        font-size: 21px;
        font-weight: 800;
        line-height: 1.1;
        cursor: pointer;
        transition: transform .15s ease, background .15s ease, opacity .15s ease;
    }

    .sf-take-test-btn:hover {
        background: #d86600;
        transform: translateY(-1px);
    }

    .sf-take-test-btn[disabled] {
        opacity: .65;
        cursor: not-allowed;
        transform: none;
    }

    @media (max-width: 980px) {
        .sf-test-card {
            grid-template-columns: 180px 1fr;
        }

        .sf-test-image-wrap {
            width: 180px;
            height: 125px;
        }

        .sf-test-action {
            grid-column: 1 / -1;
            align-items: flex-start;
            text-align: left;
        }

        .sf-take-test-btn {
            max-width: 220px;
        }
    }

    @media (max-width: 640px) {
        .sf-test-card {
            grid-template-columns: 1fr;
            padding: 12px;
        }

        .sf-test-image-wrap {
            width: 100%;
            height: 210px;
        }

        .sf-test-title {
            font-size: 27px;
        }

        .sf-test-meta {
            grid-template-columns: 1fr;
            gap: 6px;
            font-size: 17px;
        }

        .sf-test-tags {
            margin-top: 18px;
        }

        .sf-test-action {
            align-items: stretch;
        }

        .sf-take-test-btn {
            max-width: none;
        }
    }
    

    .sf-lang-modal,
    .sf-lang-modal * {
        box-sizing: border-box;
        font-family: 'Roboto', Arial, sans-serif;
    }

    .sf-lang-modal {
        position: fixed;
        inset: 0;
        z-index: 999999;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(0,0,0,.55);
    }

    .sf-lang-modal-box {
        position: relative;
        width: min(640px, calc(100vw - 32px));
        padding: 24px 28px 28px;
        background: #fff;
        text-align: center;
        box-shadow: 0 10px 30px rgba(0,0,0,.25);
    }

    .sf-lang-close {
        position: absolute;
        top: 12px;
        right: 14px;
        width: 24px;
        height: 24px;
        padding: 0;
        border: 1px solid #222;
        border-radius: 4px;
        background: #fff;
        color: #222;
        font-size: 22px;
        line-height: 18px;
        cursor: pointer;
    }

    .sf-lang-modal-box h3 {
        margin: 0 0 24px;
        color: #1d3c91;
        font-size: 26px;
        font-weight: 800;
    }

    #sfLangTestName {
        color: #6146ff;
    }

    .sf-lang-options {
        display: flex;
        justify-content: center;
        gap: 16px;
        margin-bottom: 24px;
    }

    .sf-lang-option,
    .sf-lang-ok {
        min-width: 128px;
        padding: 12px 18px;
        border-radius: 8px;
        font-size: 17px;
        cursor: pointer;
    }

    .sf-lang-option {
        border: 1px solid #c9d3e1;
        background: #fff;
        color: #172033;
    }

    .sf-lang-option.is-selected {
        border-color: #1d3c91;
        background: #1d3c91;
        color: #fff;
    }

    .sf-lang-ok {
        border: 0;
        background: #1d3c91;
        color: #fff;
    }

    .sf-lang-ok:disabled {
        background: #cbd5e1;
        cursor: not-allowed;
    }
    