/* ============================================================
   1SAFETY — EDUCATION DESKTOP V3
   Scope: only .rs-edu-v3 (subcategory 266)
   ============================================================ */

.rs-edu-v3 {
    --edu-yellow: #FFD800;
    --edu-yellow-soft: #FFF7C7;
    --edu-ink: #111318;
    --edu-text: #303740;
    --edu-muted: #747E8A;
    --edu-line: #E3E7EB;
    --edu-line-strong: #D7DCE1;
    --edu-surface: #FFFFFF;
    --edu-page: #F7F8F9;
    --edu-radius: 14px;
    padding-bottom: 54px;
}

.rs-edu-v3,
.rs-edu-v3 * {
    box-sizing: border-box;
}

.rs-edu-v3__hero {
    margin: 22px 0 24px;
}

.rs-edu-v3__hero h1 {
    margin: 0 0 4px;
    font-family: var(--sfPro);
    font-size: 38px;
    line-height: 1.08;
    font-weight: 780;
    letter-spacing: -.035em;
    color: var(--edu-ink);
}

.rs-edu-v3__hero p {
    margin: 0;
    max-width: 780px;
    font-family: var(--sfPro);
    font-size: 15px;
    line-height: 1.45;
    color: var(--edu-muted);
}

.rs-edu-v3__grid {
    display: grid;
    grid-template-columns: 286px minmax(0, 1fr) 306px;
    gap: 18px;
    align-items: start;
}

/* ---------- FILTERS ---------- */

.rs-edu-v3__filters {
    min-width: 0;
}

.rs-edu-v3__filters .filters--edu {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.rs-edu-v3__filters .filter-form {
    position: static !important;
    left: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    overflow: hidden !important;
    border: 1px solid var(--edu-line) !important;
    border-radius: var(--edu-radius) !important;
    background: var(--edu-surface) !important;
    color: var(--edu-text) !important;
    box-shadow: none !important;
}

.rs-edu-v3__filters .filter-form::after,
.rs-edu-v3__filters .edu-filter-backdrop {
    display: none !important;
}

.rs-edu-v3__filters .filter-form__title {
    min-height: 52px;
    margin: 0 !important;
    padding: 15px 16px !important;
    border-bottom: 1px solid var(--edu-line) !important;
    background: #fff !important;
    color: var(--edu-ink) !important;
    font-family: var(--sfPro) !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 760 !important;
}

.rs-edu-v3__filters .filter-form__inner {
    padding: 0 15px 18px !important;
    background: #fff !important;
}

.rs-edu-v3__filters .filter-form__unit {
    padding: 0 0 16px !important;
    border-bottom: 1px solid #EDF0F2 !important;
}

.rs-edu-v3__filters .filter-form__toggle {
    padding-top: 16px !important;
    background: #fff !important;
    font-family: var(--sfPro) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 720 !important;
    color: var(--edu-ink) !important;
}

.rs-edu-v3__filters .filter-form__toggle::after {
    width: 13px !important;
    height: 13px !important;
}

.rs-edu-v3__filters .filter-form__unit-inner {
    gap: 9px !important;
    margin-top: 12px !important;
}

.rs-edu-v3__filters .filter-form__unit label {
    min-height: 20px;
    gap: 8px !important;
    font-family: var(--sfPro) !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    color: #5B6570 !important;
}

.rs-edu-v3__filters .filter-form__unit label .text {
    padding-left: 24px !important;
}

.rs-edu-v3__filters .filter-form__unit label .text::before,
.rs-edu-v3__filters .filter-form__unit label .text::after {
    width: 16px !important;
    height: 16px !important;
}

.rs-edu-v3__filters .filter-form input[type="text"],
.rs-edu-v3__filters .filter-form input[type="search"],
.rs-edu-v3__filters .filter-form .date input {
    min-height: 38px !important;
    border: 1px solid var(--edu-line-strong) !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
}

.rs-edu-v3__filters .filter-form__submit {
    min-height: 42px !important;
    margin: 16px 15px 16px !important;
    width: calc(100% - 30px) !important;
    padding: 0 16px !important;
    border: 1px solid #DDBD00 !important;
    border-radius: 10px !important;
    background: var(--edu-yellow) !important;
    box-shadow: none !important;
    color: #111 !important;
    font-family: var(--sfPro) !important;
    font-size: 13px !important;
    font-weight: 760 !important;
}

/* ---------- MAIN ---------- */

.rs-edu-v3__main {
    min-width: 0;
    overflow: visible;
}

.rs-edu-v3__mobile-filter {
    display: none !important;
}

.rs-edu-v3__tabs {
    display: flex;
    gap: 28px;
    min-height: 48px;
    padding: 0 18px;
    overflow-x: auto;
    border: 1px solid var(--edu-line);
    border-bottom: 0;
    border-radius: var(--edu-radius) var(--edu-radius) 0 0;
    background: #fff;
    scrollbar-width: none;
}

.rs-edu-v3__tabs::-webkit-scrollbar {
    display: none;
}

.rs-edu-v3__tabs a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 48px;
    flex: 0 0 auto;
    color: #626C78 !important;
    font-family: var(--sfPro);
    font-size: 13px;
    line-height: 1;
    font-weight: 650;
    text-decoration: none !important;
    white-space: nowrap;
}

.rs-edu-v3__tabs a:hover {
    color: var(--edu-ink) !important;
}

.rs-edu-v3__tabs a.active {
    color: var(--edu-ink) !important;
    font-weight: 760;
}

.rs-edu-v3__tabs a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: var(--edu-yellow);
}

.rs-edu-v3__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    gap: 16px;
    padding: 0 16px;
    border: 1px solid var(--edu-line);
    background: #fff;
}

.rs-edu-v3__found {
    color: #6D7681;
    font-family: var(--sfPro);
    font-size: 12px;
}

.rs-edu-v3__found strong {
    margin-left: 4px;
    color: var(--edu-ink);
    font-size: 13px;
}

.rs-edu-v3__sort {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #79828D;
    font-family: var(--sfPro);
    font-size: 12px;
}

.rs-edu-v3__sort details {
    position: relative;
}

.rs-edu-v3__sort summary {
    min-width: 135px;
    padding: 8px 30px 8px 10px;
    border: 1px solid var(--edu-line);
    border-radius: 9px;
    background: #fff;
    color: var(--edu-ink);
    font-weight: 650;
    list-style: none;
    cursor: pointer;
}

.rs-edu-v3__sort summary::-webkit-details-marker {
    display: none;
}

.rs-edu-v3__sort summary::after {
    content: "⌄";
    position: absolute;
    right: 10px;
    top: 6px;
    color: #6E7782;
    font-size: 15px;
}

.rs-edu-v3__sort-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 30;
    min-width: 165px;
    overflow: hidden;
    border: 1px solid var(--edu-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(17, 24, 39, .10);
}

.rs-edu-v3__sort-menu a {
    display: block;
    padding: 9px 11px;
    color: #333B44 !important;
    font-size: 12px;
    text-decoration: none !important;
}

.rs-edu-v3__sort-menu a:hover {
    background: #F7F8F9;
}

.rs-edu-v3__catalog {
    padding-top: 17px;
}

.rs-edu-v3__catalog > h2 {
    margin: 0 0 14px;
    color: var(--edu-ink);
    font-family: var(--sfPro);
    font-size: 25px;
    line-height: 1.15;
    font-weight: 780;
    letter-spacing: -.02em;
}

/* CListView — no legacy .edu-list wrapper, so the black pill disappears. */
.rs-edu-v3__list,
.rs-edu-v3__list .list-view,
.rs-edu-v3__list .items {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.rs-edu-v3__list .items {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.rs-edu-v3__list .items > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Material rows */
.rs-edu-v3__list .edu_item {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--edu-line) !important;
    border-radius: var(--edu-radius) !important;
    background: #fff !important;
    box-shadow: none !important;
}

.rs-edu-v3__list .edu_item--content {
    display: grid !important;
    grid-template-columns: 245px minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
}

.rs-edu-v3__list .edu_item--image {
    width: 245px !important;
    min-width: 245px !important;
    min-height: 136px !important;
    height: 136px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #EDF0F2 !important;
}

.rs-edu-v3__list .edu_item--image a {
    display: block !important;
    width: 100%;
    height: 100%;
}

.rs-edu-v3__list .edu_item--image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
}

.rs-edu-v3__list .edu_item--description {
    position: relative;
    min-width: 0 !important;
    padding: 14px 50px 13px 16px !important;
    color: var(--edu-text) !important;
}

.rs-edu-v3__list .edu_name,
.rs-edu-v3__list .edu_item h3 {
    margin: 0 0 6px !important;
    color: var(--edu-ink) !important;
    font-family: var(--sfPro) !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 760 !important;
    letter-spacing: -.01em !important;
}

.rs-edu-v3__list .edu_name a,
.rs-edu-v3__list .edu_item h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.rs-edu-v3__list .edu_description {
    margin: 0 !important;
    color: #67717C !important;
    font-family: var(--sfPro) !important;
    font-size: 12.5px !important;
    line-height: 1.42 !important;
    text-align: left !important;
    -webkit-line-clamp: 2 !important;
}

.rs-edu-v3__list .edu_item--stats {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px 15px !important;
    margin: 10px 0 0 !important;
    color: #7A838E !important;
    font-size: 11px !important;
}

.rs-edu-v3__list .edu_item--stat img {
    width: 14px !important;
    height: 14px !important;
    object-fit: contain !important;
}

/* Existing course cards inside mixed list */
.rs-edu-v3__list .course-card {
    display: grid !important;
    grid-template-columns: 245px minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 136px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--edu-line) !important;
    border-radius: var(--edu-radius) !important;
    background: #fff !important;
    box-shadow: none !important;
}

.rs-edu-v3__list .course-card > img {
    width: 245px !important;
    height: 136px !important;
    object-fit: cover !important;
}

.rs-edu-v3__list .course-body {
    min-width: 0;
    padding: 14px 16px !important;
}

.rs-edu-v3__list .course-title {
    margin-bottom: 7px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 760 !important;
}

.rs-edu-v3__list .course-meta {
    margin: 0 0 10px !important;
    color: #7A838E !important;
    font-size: 11px !important;
}


/* ---------- Pagination ---------- */
.rs-edu-v3__list .pager { margin-top: 20px !important; }

/* ============================================================
   EDUCATION CATALOG — FINAL SHELL
   Single authoritative page geometry. No Vx layout overrides.
   ============================================================ */

.edu-shell {
    width: calc(100% - 40px) !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 8px 0 64px !important;
}

.edu-shell__grid {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr) 300px;
    gap: 16px;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.edu-shell__grid > * { min-width: 0; }
.edu-shell .rs-edu-v3__filters,
.edu-shell .rs-edu-v3__main,
.edu-shell__rail { width: 100%; min-width: 0; }

.edu-shell .rs-edu-v3__filters .filters--edu,
.edu-shell .rs-edu-v3__filters .filter-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.edu-shell .rs-edu-v3__main { overflow: visible; }
.edu-shell .rs-edu-v3__catalog { padding-top: 14px; }
.edu-shell .rs-edu-v3__list,
.edu-shell .rs-edu-v3__list .list-view,
.edu-shell .rs-edu-v3__list .items { width: 100%; min-width: 0; }

.edu-shell__rail--mobile,
.edu-shell__mobile-sidebar-item { display: none; }

.edu-shell .rs-edu-v3__legacy-duplicate-hidden,
.edu-shell .rs-edu-v3__legacy-chip-hidden { display: none !important; }
.edu-shell .rs-edu-v3__kill-before::before,
.edu-shell .rs-edu-v3__kill-after::after { display: none !important; content: none !important; }

@media (min-width: 1500px) {
    .edu-shell {
        max-width: 1460px !important;
    }
    .edu-shell__grid {
        grid-template-columns: 246px minmax(0, 1fr) 312px;
        gap: 18px;
    }
}

@media (max-width: 1180px) and (min-width: 901px) {
    .edu-shell {
        width: calc(100% - 28px) !important;
    }
    .edu-shell__grid {
        grid-template-columns: minmax(0, 1fr) 286px;
        gap: 14px;
    }
    .edu-shell .rs-edu-v3__filters {
        position: absolute;
        width: 0;
        height: 0;
        overflow: visible;
    }
    .edu-shell .rs-edu-v3__filters .filter-form {
        position: fixed !important;
        left: -430px !important;
        top: 0 !important;
        z-index: 1100 !important;
        width: min(410px, 92vw) !important;
        max-width: min(410px, 92vw) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        border-radius: 0 14px 14px 0 !important;
        transition: left .22s ease !important;
    }
    .edu-shell .rs-edu-v3__filters .filter-form.visible { left: 0 !important; }
    .edu-shell .rs-edu-v3__mobile-filter {
        display: flex !important;
        width: 38px !important;
        height: 38px !important;
        margin: 0 0 10px !important;
    }
}

@media (max-width: 900px) {
    .edu-shell {
        width: 100% !important;
        max-width: none !important;
        padding: 0 12px calc(96px + env(safe-area-inset-bottom)) !important;
    }
    .edu-shell__grid { display: block; }
    .edu-shell__rail--desktop { display: none; }
    .edu-shell__rail--mobile { display: block; margin-top: 14px; }
    .edu-shell__mobile-sidebar-item {
        display: block;
        width: 100%;
        margin: 14px 0 4px !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .edu-shell .rs-edu-v3__filters {
        position: absolute;
        width: 0;
        height: 0;
        overflow: visible;
    }
    .edu-shell .rs-edu-v3__filters .filter-form {
        position: fixed !important;
        left: -430px !important;
        top: 0 !important;
        z-index: 1100 !important;
        width: min(410px, 92vw) !important;
        max-width: min(410px, 92vw) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        border-radius: 0 14px 14px 0 !important;
        transition: left .22s ease !important;
    }
    .edu-shell .rs-edu-v3__filters .filter-form.visible { left: 0 !important; }
    .edu-shell .rs-edu-v3__mobile-filter {
        display: flex !important;
        width: 38px !important;
        height: 38px !important;
        margin: 0 0 10px !important;
    }
    .edu-shell .rs-edu-v3__tabs {
        gap: 20px;
        padding: 0 12px;
        overflow-x: auto;
    }
    .edu-shell .rs-edu-v3__toolbar {
        align-items: flex-start;
        flex-direction: column;
        padding: 12px;
    }
}
