/* ============================
   teach-control-stream.css — Страница списка тренингов
   Все правила скоупятся через .xdget-trainingsSystemPage
   чтобы не протекать на страницы отдельных тренингов
   ============================ */

/* === Баннер — только на странице списка тренингов === */
.xdget-trainingsSystemPage::before {
    content: '';
    display: block;
    width: 100%;
    margin: 0 0 20px 0;
    height: 180px;
    border-radius: 12px;
    background: #1a1a1a url('https://fs.getcourse.ru/fileservice/file/download/a/836530/sc/487/h/caba2399eadb5587cfe3262fdcbe67dd.png');
    background-size: cover;
    background-position: center;
}

/* Малый баннер для мобильных и приложения */
@media (max-width: 768px) {
    .xdget-trainingsSystemPage::before {
        height: 0;
        padding-top: 100%;
        border-radius: 8px;
        background-image: url('https://fs.getcourse.ru/fileservice/file/download/a/836530/sc/56/h/666885f0e055b2622539b2cda057c96c.png');
    }
}

/* Отступ между заголовком и карточками */
.xdget-trainingsSystemPage h3.xdget-header {
    margin-bottom: 30px;
}

/* === Таблица тренингов → карточная сетка === */
.stream-table {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    width: 100% !important;
    margin-left: 0 !important;
    margin-bottom: 40px !important;
}

/* tbody мешает grid — делаем прозрачным */
.stream-table tbody {
    display: contents;
}

.stream-table tr.training-row {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.2s, transform 0.15s;
}

.stream-table tr.training-row:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.stream-table tr.training-row td {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px !important;
    height: 100% !important;
    background: transparent !important;
    opacity: 1 !important;
    cursor: pointer;
    box-sizing: border-box;
}

.stream-table tr.training-row td:hover {
    background: transparent !important;
}

/* Убираем полупрозрачность у тренингов без уроков */
.stream-table tr.no-lessons.no-children td {
    opacity: 0.7 !important;
}

/* Карточка-картинка */
.stream-table tr.training-row td::before {
    content: '';
    display: block;
    width: calc(100% + 32px);
    margin: -16px -16px 12px;
    height: 0;
    padding-top: 58.5%;
    background: url('https://fs.getcourse.ru/fileservice/file/download/a/698789/sc/146/h/edbaaa816053c71583c4278d1d8c0787.png') top / cover no-repeat;
    border-radius: 12px 12px 0 0;
}

/* Ссылка внутри карточки (исключаем кнопку) */
.stream-table tr.training-row a:not(.continue-training-btn) {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #1A2138 !important;
    text-decoration: none;
    position: static;
}

/* Растягиваем кликабельную зону на всю карточку */
.stream-table tr.training-row a:not(.continue-training-btn)::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* Карточка — контекст позиционирования */
.stream-table tr.training-row {
    position: relative;
}

/* Кнопка поверх растянутой ссылки */
.stream-table tr.training-row td a.continue-training-btn {
    position: relative;
    z-index: 2;
}

/* Название тренинга */
.stream-table .stream-title {
    font-size: 16px !important;
    font-weight: 600;
    line-height: 1.35;
    color: #1A2138;
}

/* Скрываем описание (кол-во уроков, преподаватель) */
.stream-table tr.training-row td a > div {
    display: none;
}

/* Кнопка «Продолжить обучение» */
.stream-table tr.training-row td a.continue-training-btn {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    padding: 10px 16px;
    background: #0F1217;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 500;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background 0.2s;
    cursor: pointer;
}

.stream-table tr.training-row td a.continue-training-btn:hover {
    background: #2d3354;
    color: #ffffff !important;
}

.stream-table tr.training-row td a.continue-training-btn svg {
    flex-shrink: 0;
}

/* Скрываем непубличные тренинги более деликатно */
.stream-table tr.no-public td {
    opacity: 0.5 !important;
}

/* === Контейнер — расширяем только на странице списка === */
.xdget-trainingsSystemPage .xdget-trainingList .row {
    margin: 0;
}

.xdget-trainingsSystemPage .xdget-trainingList .col-md-12 {
    padding: 0;
}

/* Правая колонка — скрываем только если пустая и только на списке */
.xdget-trainingsSystemPage .xdget-row > .xdget-container.col-md-4:empty {
    display: none;
}

/* Левая колонка на всю ширину только на списке */
.xdget-trainingsSystemPage .xdget-row > .xdget-container.col-md-8 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

/* === Хлебные крошки — убираем пустой блок === */
.empty-breadcrumbs {
    display: none;
}

/* === Общие стили контента === */
.main-page-block {
    padding-bottom: 40px;
}

.main-page-block .container {
    max-width: 960px;
}
