.elementor-970 .elementor-element.elementor-element-a0784de{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-970 .elementor-element.elementor-element-0d8283a .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:2.5vw;font-weight:600;color:#333333;}.elementor-970 .elementor-element.elementor-element-3898f02{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-970 .elementor-element.elementor-element-fedfd90{--grid-columns:4;}.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-970 .elementor-element.elementor-element-fedfd90 .e-loop-item > .elementor-section, .elementor-970 .elementor-element.elementor-element-fedfd90 .e-loop-item > .elementor-section > .elementor-container, .elementor-970 .elementor-element.elementor-element-fedfd90 .e-loop-item > .e-con, .elementor-970 .elementor-element.elementor-element-fedfd90 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-970 .elementor-element.elementor-element-b767eee{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:16;}@media(min-width:768px){.elementor-970 .elementor-element.elementor-element-b767eee{--content-width:100%;}}@media(max-width:1024px){.elementor-970 .elementor-element.elementor-element-fedfd90{--grid-columns:2;}}@media(max-width:767px){.elementor-970 .elementor-element.elementor-element-fedfd90{--grid-columns:1;}}/* Start custom CSS for loop-grid, class: .elementor-element-fedfd90 *//* ==========================================================================
   ИДЕАЛЬНЫЙ PREMIUM КАТАЛОГ (ФИКС LOOP GRID DAMA)
   ========================================================================== */

/* 1. Настройка сетки и ровных колонок */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-loop-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

/* 2. Корпус самой карточки */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-loop-item {
    background: #FFFFFF !important;
    border: 1px solid #E8E9EB !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(28, 29, 31, 0.04) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* Эффект приподнимания при наведении */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-loop-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 32px rgba(28, 29, 31, 0.12) !important;
    border-color: #0056FF !important;
}

/* 3. Жесткая фиксация обложки курса (чтобы картинки не пропадали при зуме) */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-theme-post-featured-image {
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important; /* Запрещаем сжиматься при зуме */
}

.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-theme-post-featured-image img,
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-theme-post-featured-image .elementor-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Картинка всегда заполнит блок без искажений */
    display: block !important;
}

/* 4. Принудительные отступы по бокам для всех текстовых блоков и элементов */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-loop-item > .elementor-element,
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-loop-item .elementor-widget {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* Исключаем картинку из общих боковых отступов, чтобы она шла в края */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-theme-post-featured-image {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 5. Название курса (Удерживаем 2 строки) */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-theme-post-title {
    margin-top: 16px !important;
    margin-bottom: 8px !important;
}

.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-theme-post-title .elementor-heading-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1C1D1F !important;
    line-height: 1.4 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    min-height: 44px !important; /* Блокировка прыжков высоты */
    overflow: hidden !important;
}

/* 6. Блок мета-данных (Спикер, Автор, Иконки) */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-post-info,
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-icon-list {
    margin-bottom: 12px !important;
}

.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-icon-list-text, 
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-post-info__item {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #6A6F73 !important;
}

/* 7. Выталкиваем ЦЕНУ и КНОПКУ строго к нижнему краю карточки */
/* Находим последний текстовый блок или цену перед кнопкой */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-heading {
    margin-top: auto !important; /* Магия flex-выталкивания вниз */
    padding-top: 12px !important;
    padding-bottom: 8px !important;
}

.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-heading .elementor-heading-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #1C1D1F !important;
    text-align: left !important;
}

/* 8. Кнопка "Записаться на курс" внизу карточки */
.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-widget-button {
    padding-bottom: 20px !important; /* Внутренний отступ от низа рамки */
    margin-top: 4px !important;
}

.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-button {
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    background-color: #0056FF !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

.elementor-970 .elementor-element.elementor-element-fedfd90 .elementor-button:hover {
    background-color: #0040C7 !important;
}/* End custom CSS */