/* ==========================================================================
   CMPi Themes Premium
   Path: /public_html/themes/cmp-choice/assets/css/pages/themes-premium.css

   Локальный Premium-слой для страниц тем и направлений CMPi.
   Подключается после /assets/css/premium-system.css.

   Используется для:
   - /themes-list
   - /themes-list/coaches, /themes-list/psychologists, /themes-list/mentors, /themes-list/consultants
   - /theme-page/:id
   - страниц направлений: Коучинг, Психология, Менторинг, Консалтинг

   Важно:
   - файл опирается на переменные и системные классы из premium-system.css
   - файл не трогает главную страницу напрямую
   - файл не заменяет бизнес-логику вывода специалистов
   ========================================================================== */


/* ==========================================================================
   1. Page wrappers
   ========================================================================== */

.page_themes-list,
.page_theme-page,
.page_theme-group,
.page_themes-list .page__main,
.page_theme-page .page__main,
.page_theme-group .page__main {
    background: #fff !important;
}

.cmpi-premium-topics,
.cmpi-premium-direction {
    position: relative;
    z-index: 1;
    padding: 28px 0 0;
    background: #fff;
    color: var(--cmpi-text);
    font-family: Montserrat, Arial, sans-serif !important;
}

.cmpi-premium-topics a,
.cmpi-premium-direction a {
    text-decoration: none !important;
}

.cmpi-premium-topics__main,
.cmpi-premium-direction__main {
    position: relative;
    z-index: 2;
}


/* ==========================================================================
   2. Breadcrumbs
   ========================================================================== */

.cmpi-premium-breadcrumbs,
.cmpi-topics-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0 0 22px;
    color: rgba(89, 101, 122, .58);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 500;
}

.cmpi-premium-breadcrumbs a,
.cmpi-topics-breadcrumbs a {
    color: rgba(89, 101, 122, .58);
    text-decoration: none !important;
}

.cmpi-premium-breadcrumbs a:hover,
.cmpi-topics-breadcrumbs a:hover {
    color: var(--cmpi-blue);
}

.cmpi-premium-breadcrumbs span,
.cmpi-topics-breadcrumbs span {
    color: rgba(89, 101, 122, .42);
}


/* ==========================================================================
   3. Hero for topics and directions
   ========================================================================== */

.cmpi-topics-hero,
.cmpi-direction-hero,
.cmpi-topic-hero {
    position: relative;
    margin: 0 0 34px;
    padding: clamp(34px, 4vw, 58px);
    border-radius: var(--cmpi-radius-xl);
    border: 1px solid rgba(255, 255, 255, .82);
    background:
        radial-gradient(circle at 90% 12%, rgba(244, 143, 111, .075), transparent 29%),
        radial-gradient(circle at 9% 96%, rgba(93, 141, 148, .055), transparent 31%),
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .70));
    box-shadow:
        var(--cmpi-shadow),
        inset 0 1px 0 rgba(255, 255, 255, .96),
        inset 0 -1px 0 rgba(56, 92, 139, .045);
    overflow: hidden;
    backdrop-filter: blur(22px) saturate(1.12);
    -webkit-backdrop-filter: blur(22px) saturate(1.12);
}

.cmpi-topics-hero:before,
.cmpi-direction-hero:before,
.cmpi-topic-hero:before {
    content: "";
    position: absolute;
    right: -110px;
    top: -120px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 30%, rgba(255, 255, 255, .90), transparent 26%),
        linear-gradient(135deg, rgba(244, 143, 111, .16), rgba(93, 141, 148, .10));
    opacity: .50;
    pointer-events: none;
}

.cmpi-topics-hero:after,
.cmpi-direction-hero:after,
.cmpi-topic-hero:after {
    content: "";
    position: absolute;
    left: -130px;
    bottom: -150px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(93, 141, 148, .075), transparent 64%);
    pointer-events: none;
}

.cmpi-topics-hero__grid,
.cmpi-direction-hero__grid,
.cmpi-topic-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: clamp(30px, 5vw, 74px);
    align-items: center;
}

.cmpi-topics-hero__content,
.cmpi-direction-hero__content,
.cmpi-topic-hero__content,
.cmpi-topic-hero__left {
    min-width: 0;
}

.cmpi-topics-hero__aside,
.cmpi-direction-hero__aside,
.cmpi-topic-hero__aside,
.cmpi-topic-hero__right {
    min-width: 0;
}

.cmpi-topics-hero__title,
.cmpi-direction-hero__title,
.cmpi-topic-hero__title,
.page_theme-page .theme-page h1,
.page_theme-page h1.page__title {
    max-width: 760px;
    margin: 0;
    color: var(--cmpi-ink);
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: clamp(42px, 5.2vw, 86px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 650;
    word-break: normal;
    overflow-wrap: break-word;
}

.cmpi-topic-hero__title,
.page_theme-page .theme-page h1,
.page_theme-page h1.page__title {
    font-size: clamp(36px, 4.2vw, 64px);
    line-height: 1.02;
}

.cmpi-topics-hero__lead,
.cmpi-direction-hero__lead,
.cmpi-topic-hero__lead,
.cmpi-topic-hero__text,
.page_theme-page .theme-page__text {
    max-width: 680px;
    margin: 20px 0 0;
    color: var(--cmpi-text);
    font-size: clamp(16px, 1.25vw, 20px);
    line-height: 1.58;
    font-weight: 400;
}

.cmpi-topics-hero__meta,
.cmpi-direction-hero__meta,
.cmpi-topic-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.cmpi-topics-hero__meta span,
.cmpi-direction-hero__meta span,
.cmpi-topic-hero__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 13px;
    border-radius: var(--cmpi-radius-pill);
    color: var(--cmpi-ink);
    font-size: 12px;
    line-height: 1;
    font-weight: 680;
    border: 1px solid rgba(56, 92, 139, .10);
    background: rgba(255, 255, 255, .78);
    box-shadow:
        0 10px 22px rgba(31, 42, 68, .035),
        inset 0 1px 0 rgba(255, 255, 255, .94);
}

.cmpi-topics-hero__visual,
.cmpi-direction-hero__visual,
.cmpi-topic-hero__visual {
    position: relative;
    min-height: 260px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, .84);
    background:
        radial-gradient(circle at 82% 16%, rgba(244, 143, 111, .14), transparent 28%),
        radial-gradient(circle at 18% 82%, rgba(93, 141, 148, .11), transparent 32%),
        rgba(255, 255, 255, .62);
    box-shadow:
        0 18px 44px rgba(31, 42, 68, .055),
        inset 0 1px 0 rgba(255, 255, 255, .94);
    overflow: hidden;
}

.cmpi-topics-hero__visual:before,
.cmpi-direction-hero__visual:before,
.cmpi-topic-hero__visual:before {
    content: "";
    position: absolute;
    left: 14%;
    right: 14%;
    bottom: 24%;
    height: 34%;
    border-radius: 60% 60% 12% 12%;
    background: linear-gradient(135deg, rgba(56, 92, 139, .14), rgba(93, 141, 148, .11));
    transform: skewY(-6deg);
}

.cmpi-topics-hero__visual:after,
.cmpi-direction-hero__visual:after,
.cmpi-topic-hero__visual:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 32%;
    width: 64px;
    height: 92px;
    border-radius: 34px 34px 8px 8px;
    background: linear-gradient(180deg, var(--cmpi-blue), #213b63);
    transform: translateX(-50%);
    box-shadow: 0 24px 40px rgba(56, 92, 139, .20);
}


/* ==========================================================================
   4. Section heads for topic pages
   ========================================================================== */

.cmpi-topics-section,
.cmpi-direction-section {
    position: relative;
    padding: 28px 0;
}

.cmpi-topics-section__head,
.cmpi-direction-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 22px;
}

.cmpi-topics-section__content,
.cmpi-direction-section__content {
    max-width: 760px;
}

.cmpi-topics-section__title,
.cmpi-direction-section__title {
    margin: 0;
    color: var(--cmpi-ink);
    font-size: clamp(28px, 2.45vw, 44px);
    line-height: 1.05;
    letter-spacing: -.038em;
    font-weight: 650;
}

.cmpi-topics-section__text,
.cmpi-direction-section__text {
    max-width: 650px;
    margin: 12px 0 0;
    color: var(--cmpi-text);
    font-size: 16px;
    line-height: 1.58;
}


/* ==========================================================================
   5. Start scenarios / request cards
   ========================================================================== */

.cmpi-topics-start-grid,
.cmpi-request-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.cmpi-request-card,
.cmpi-topics-start-card {
    position: relative;
    min-height: 188px;
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, .82);
    background:
        radial-gradient(circle at 88% 12%, rgba(244, 143, 111, .055), transparent 30%),
        rgba(255, 255, 255, .72);
    box-shadow:
        var(--cmpi-shadow-soft),
        inset 0 1px 0 rgba(255, 255, 255, .94);
    backdrop-filter: blur(18px) saturate(1.1);
    -webkit-backdrop-filter: blur(18px) saturate(1.1);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.cmpi-request-card:hover,
.cmpi-topics-start-card:hover {
    transform: translateY(-5px);
    border-color: rgba(56, 92, 139, .16);
    background: rgba(255, 255, 255, .88);
    box-shadow:
        0 18px 42px rgba(31, 42, 68, .075),
        inset 0 1px 0 rgba(255, 255, 255, .96);
}

.cmpi-request-card__icon,
.cmpi-topics-start-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: var(--cmpi-radius-pill);
    color: #fff;
    font-size: 15px;
    font-weight: 760;
    background: linear-gradient(135deg, var(--cmpi-coral), var(--cmpi-blue));
    box-shadow: 0 12px 28px rgba(56, 92, 139, .14);
}

.cmpi-request-card:nth-child(2n) .cmpi-request-card__icon,
.cmpi-topics-start-card:nth-child(2n) .cmpi-topics-start-card__icon {
    background: linear-gradient(135deg, var(--cmpi-teal), var(--cmpi-blue));
}

.cmpi-request-card:nth-child(3n) .cmpi-request-card__icon,
.cmpi-topics-start-card:nth-child(3n) .cmpi-topics-start-card__icon {
    background: linear-gradient(135deg, var(--cmpi-blue), #27456d);
}

.cmpi-request-card h3,
.cmpi-topics-start-card h3 {
    margin: 22px 0 0;
    color: var(--cmpi-ink);
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: -.02em;
    font-weight: 700;
}

.cmpi-request-card p,
.cmpi-topics-start-card p {
    margin: 9px 0 0;
    color: var(--cmpi-text);
    font-size: 13px;
    line-height: 1.52;
}

.cmpi-request-card__link,
.cmpi-topics-start-card__link {
    display: inline-flex;
    align-items: center;
    margin-top: 18px;
    color: var(--cmpi-blue);
    font-size: 13px;
    line-height: 1;
    font-weight: 760;
}


/* ==========================================================================
   6. Existing themes list: premium skin
   ========================================================================== */

.themes-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    margin: 0 0 72px;
}

.themes-list .row,
.themes-list .themes-list__item,
.themes-list > .row {
    display: contents !important;
    margin: 0 !important;
}

.cmpi-topic-card-link,
.themes-list .cmpi-topic-card-link {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    color: inherit;
    text-decoration: none !important;
}

.cmpi-topic-card-link:hover,
.themes-list .cmpi-topic-card-link:hover {
    color: inherit;
    text-decoration: none !important;
}

.cmpi-topic-card,
.themes-list .cmpi-topic-card,
.cmpi-themes-tabs .cmpi-topic-card,
.cmpi-topic-other .cmpi-topic-card,
.mpage-themes .cmpi-topic-card {
    --cmpi-topic-accent: var(--cmpi-coral);
    --cmpi-topic-accent-rgb: 244, 143, 111;

    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 178px !important;
    height: 178px !important;
    max-height: 178px !important;
    padding: 22px;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .82);
    background:
        radial-gradient(circle at 90% 10%, rgba(var(--cmpi-topic-accent-rgb), .070), transparent 30%),
        radial-gradient(circle at 8% 96%, rgba(93, 141, 148, .040), transparent 34%),
        rgba(255, 255, 255, .72);
    box-shadow:
        var(--cmpi-shadow-soft),
        inset 0 1px 0 rgba(255, 255, 255, .94);
    backdrop-filter: blur(18px) saturate(1.1);
    -webkit-backdrop-filter: blur(18px) saturate(1.1);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.cmpi-topic-card:hover,
.themes-list .cmpi-topic-card:hover,
.cmpi-themes-tabs .cmpi-topic-card:hover,
.cmpi-topic-other .cmpi-topic-card:hover,
.mpage-themes .cmpi-topic-card:hover {
    transform: translateY(-5px);
    border-color: rgba(56, 92, 139, .16);
    background: rgba(255, 255, 255, .88);
    box-shadow:
        0 18px 42px rgba(31, 42, 68, .075),
        inset 0 1px 0 rgba(255, 255, 255, .96);
}

.cmpi-topic-card:before,
.cmpi-topic-card:after,
.themes-list .cmpi-topic-card:before,
.themes-list .cmpi-topic-card:after {
    display: none !important;
    content: none !important;
}

.cmpi-topic-card_coach,
.cmpi-topic-card_consultant,
.cmpi-topic-card_default {
    --cmpi-topic-accent: var(--cmpi-coral);
    --cmpi-topic-accent-rgb: 244, 143, 111;
}

.cmpi-topic-card_mentor {
    --cmpi-topic-accent: var(--cmpi-blue);
    --cmpi-topic-accent-rgb: 56, 92, 139;
}

.cmpi-topic-card_psychologist {
    --cmpi-topic-accent: var(--cmpi-teal);
    --cmpi-topic-accent-rgb: 93, 141, 148;
}

.cmpi-topic-card__top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.cmpi-topic-card__badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: calc(100% - 54px);
    min-height: 28px;
    padding: 0 11px;
    border-radius: var(--cmpi-radius-pill);
    color: var(--cmpi-topic-accent);
    background: rgba(var(--cmpi-topic-accent-rgb), .10);
    font-size: 10px;
    line-height: 1;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.cmpi-topic-card__brand {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: var(--cmpi-topic-accent);
    background: rgba(var(--cmpi-topic-accent-rgb), .075);
    border: 1px solid rgba(var(--cmpi-topic-accent-rgb), .12);
    box-shadow:
        0 10px 24px rgba(31, 42, 68, .035),
        inset 0 1px 0 rgba(255, 255, 255, .72);
}

.cmpi-topic-card__brand-main {
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cmpi-topic-card__brand-i {
    margin-left: 1px;
    font-size: 7px;
    line-height: 1;
    font-weight: 800;
    text-transform: none;
}

.cmpi-topic-card__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 1 auto;
    min-height: 0;
    padding-right: 6px;
}

.cmpi-topic-card__title {
    display: block;
    margin: 0;
    color: var(--cmpi-ink);
    font-size: 18px;
    line-height: 1.16;
    letter-spacing: -.022em;
    font-weight: 720;
    text-transform: none;
}

.cmpi-topic-card__descr {
    display: none !important;
}

.cmpi-topic-card__bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    margin-top: auto;
    padding-top: 12px;
}

.cmpi-topic-card__more {
    display: inline-flex;
    align-items: center;
    color: var(--cmpi-topic-accent);
    font-size: 12px;
    line-height: 1;
    font-weight: 760;
}

.cmpi-topic-card__more:after {
    content: "→";
    margin-left: 7px;
    transition: transform .22s ease;
}

.cmpi-topic-card:hover .cmpi-topic-card__more:after {
    transform: translateX(3px);
}


/* ==========================================================================
   7. Themes tabs: premium skin for existing partial
   ========================================================================== */

.cmpi-themes-tabs {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 18px 0 8px;
    overflow: visible !important;
}

.cmpi-themes-tabs__top {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
}

.cmpi-themes-tabs__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.cmpi-themes-tabs__menu-item {
    display: block;
    margin: 0;
    padding: 0;
}

.cmpi-themes-tabs__menu-link,
.mpage-themes__menu-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 15px;
    border-radius: var(--cmpi-radius-pill);
    color: var(--cmpi-text);
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid rgba(56, 92, 139, .11);
    background: rgba(255, 255, 255, .76);
    box-shadow:
        0 10px 24px rgba(31, 42, 68, .035),
        inset 0 1px 0 rgba(255, 255, 255, .94);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.cmpi-themes-tabs__menu-link:hover,
.cmpi-themes-tabs__menu-link:focus,
.mpage-themes__menu-link:hover,
.mpage-themes__menu-link:focus {
    transform: translateY(-1px);
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, var(--cmpi-blue), var(--cmpi-teal));
    box-shadow: 0 12px 28px rgba(56, 92, 139, .16);
}

.cmpi-themes-tabs__menu-link.active,
.mpage-themes__menu-link.active {
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, var(--cmpi-blue), var(--cmpi-teal));
    box-shadow: 0 12px 28px rgba(56, 92, 139, .16);
}

.cmpi-themes-tabs__menu-link_coach.active,
.cmpi-themes-tabs__menu-link_coach:hover {
    background: linear-gradient(135deg, var(--cmpi-coral), #df7f63);
}

.cmpi-themes-tabs__menu-link_psychologist.active,
.cmpi-themes-tabs__menu-link_psychologist:hover {
    background: linear-gradient(135deg, var(--cmpi-teal), #4f7e86);
}

.cmpi-themes-tabs__menu-link_mentor.active,
.cmpi-themes-tabs__menu-link_mentor:hover {
    background: linear-gradient(135deg, var(--cmpi-blue), #2f507e);
}

.cmpi-themes-tabs__menu-link_consultant.active,
.cmpi-themes-tabs__menu-link_consultant:hover {
    background: linear-gradient(135deg, var(--cmpi-coral), var(--cmpi-blue));
}

.cmpi-themes-tabs__all-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: var(--cmpi-radius-pill);
    color: var(--cmpi-blue) !important;
    font-size: 13px;
    line-height: 1;
    font-weight: 760;
    text-decoration: none !important;
    border: 1px solid rgba(56, 92, 139, .11);
    background: rgba(255, 255, 255, .76);
    box-shadow:
        0 10px 24px rgba(31, 42, 68, .035),
        inset 0 1px 0 rgba(255, 255, 255, .94);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.cmpi-themes-tabs__all-link:hover {
    transform: translateY(-1px);
    color: var(--cmpi-ink) !important;
    border-color: rgba(56, 92, 139, .18);
    background: rgba(255, 255, 255, .92);
}

.cmpi-themes-tabs__body,
.cmpi-themes-tabs__carousel-wrap,
.cmpi-themes-tabs__carousel {
    position: relative;
    width: 100%;
    max-width: 100%;
}

.cmpi-themes-tabs__carousel-wrap {
    overflow: hidden !important;
    padding-top: 18px !important;
}

.cmpi-themes-tabs .owl-stage-outer,
.mpage-themes .owl-stage-outer,
.cmpi-topic-other .owl-stage-outer,
.themes-carousel .owl-stage-outer {
    overflow: visible !important;
    padding: 12px 0 28px !important;
}

.cmpi-themes-tabs .owl-stage,
.mpage-themes .owl-stage,
.cmpi-topic-other .owl-stage,
.themes-carousel .owl-stage {
    display: flex !important;
    align-items: stretch !important;
    cursor: grab;
}

.cmpi-themes-tabs .owl-stage:active,
.mpage-themes .owl-stage:active,
.cmpi-topic-other .owl-stage:active,
.themes-carousel .owl-stage:active {
    cursor: grabbing;
}

.cmpi-themes-tabs .owl-item,
.mpage-themes .owl-item,
.cmpi-topic-other .owl-item,
.themes-carousel .owl-item {
    display: flex !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.cmpi-themes-tabs .owl-item > *,
.mpage-themes .owl-item > *,
.cmpi-topic-other .owl-item > *,
.themes-carousel .owl-item > * {
    width: 100% !important;
    height: auto !important;
}


/* ==========================================================================
   8. Specialist carousels on topic and direction pages
   ========================================================================== */

.cmpi-topic-specialists,
.cmpi-theme-specialists,
.page-theme__specialists,
.cmpi-direction-specialists {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 10px 0 34px;
    padding: 0 0 34px;
    overflow: visible;
}

.cmpi-topic-specialists__carousel,
.cmpi-theme-specialists__carousel,
.cmpi-direction-specialists__carousel {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden !important;
    cursor: grab;
}

.cmpi-topic-specialists__carousel:active,
.cmpi-theme-specialists__carousel:active,
.cmpi-direction-specialists__carousel:active {
    cursor: grabbing;
}

.cmpi-topic-specialists .owl-stage-outer,
.cmpi-theme-specialists .owl-stage-outer,
.cmpi-direction-specialists .owl-stage-outer {
    overflow: hidden !important;
    padding: 4px 0 18px !important;
}

.cmpi-topic-specialists .owl-stage,
.cmpi-theme-specialists .owl-stage,
.cmpi-direction-specialists .owl-stage {
    display: flex !important;
    align-items: stretch !important;
}

.cmpi-topic-specialists .owl-item,
.cmpi-theme-specialists .owl-item,
.cmpi-direction-specialists .owl-item {
    display: flex !important;
    height: auto !important;
}

.cmpi-topic-specialists .owl-item > *,
.cmpi-theme-specialists .owl-item > *,
.cmpi-direction-specialists .owl-item > * {
    width: 100% !important;
    height: auto !important;
}

.cmpi-topic-specialists .cmpi-premium-card_compact,
.cmpi-theme-specialists .cmpi-premium-card_compact,
.cmpi-direction-specialists .cmpi-premium-card_compact {
    width: 100%;
    min-width: 0;
}

.cmpi-carousel-hint,
.cmpi-premium-carousel-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 2px auto 0;
    padding: 0 8px;
    pointer-events: none;
}

.cmpi-carousel-hint__line,
.cmpi-premium-carousel-hint__line {
    position: relative;
    display: block;
    width: min(360px, 42vw);
    height: 4px;
    border-radius: var(--cmpi-radius-pill);
    background: rgba(56, 92, 139, .12);
    overflow: hidden;
}

.cmpi-carousel-hint__thumb,
.cmpi-premium-carousel-hint__thumb {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 34%;
    height: 100%;
    border-radius: var(--cmpi-radius-pill);
    background: linear-gradient(90deg, var(--cmpi-coral) 0%, var(--cmpi-blue) 55%, var(--cmpi-teal) 100%);
    animation: cmpiPremiumCarouselHint 2.2s ease-in-out infinite;
}

@keyframes cmpiPremiumCarouselHint {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(195%);
    }

    100% {
        transform: translateX(0);
    }
}


/* ==========================================================================
   9. Direction pages: legacy blocks premium skin
   ========================================================================== */

.theme-group__advantages {
    position: relative;
    padding: 28px 0 46px;
    background: transparent !important;
}

.theme-group__advantages:before,
.theme-group__advantages:after,
.theme-group__advantages .page__text-bg,
.theme-group__advantages-media:before,
.theme-group__advantages-media:after {
    display: none !important;
    content: none !important;
}

.theme-group__advantages .page__title {
    margin: 0 0 18px;
    color: var(--cmpi-ink);
    font-size: clamp(34px, 4.4vw, 64px);
    line-height: 1.02;
    letter-spacing: -.05em;
    font-weight: 650;
}

.theme-group__advantages .theme-group__advantages-text {
    color: var(--cmpi-text);
}

.theme-group__advantages .theme-group__advantages-text blockquote {
    max-width: 760px;
    margin: 0;
    padding: 30px 32px;
    border-radius: var(--cmpi-radius-lg);
    border: 1px solid rgba(255, 255, 255, .82);
    background:
        radial-gradient(circle at 92% 8%, rgba(244, 143, 111, .060), transparent 28%),
        rgba(255, 255, 255, .72);
    color: var(--cmpi-text);
    font-size: 16px;
    line-height: 1.64;
    box-shadow:
        var(--cmpi-shadow-soft),
        inset 0 1px 0 rgba(255, 255, 255, .94);
}

.theme-group__advantages .theme-group__advantages-text blockquote:before,
.theme-group__advantages .theme-group__advantages-text blockquote:after {
    display: none !important;
    content: none !important;
}

.theme-group__advantages .theme-group__advantages-text blockquote p {
    margin: 0 0 14px;
    color: var(--cmpi-text);
    font-size: 16px;
    line-height: 1.64;
}

.theme-group__advantages .theme-group__advantages-text blockquote p:last-child {
    margin-bottom: 0;
}

.theme-group__advantages-media .video-preview {
    display: block;
    max-width: 520px;
    height: 300px;
    margin-left: auto;
    border-radius: var(--cmpi-radius-lg);
    overflow: hidden;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(255, 255, 255, .82);
    box-shadow:
        var(--cmpi-shadow-soft),
        inset 0 1px 0 rgba(255, 255, 255, .94);
}

.theme-group__advantages-media .video-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ==========================================================================
   10. Topic page legacy text blocks
   ========================================================================== */

.page_theme-page .theme-page,
.page_theme-page .theme-page__media-wrap,
.page_theme-page .theme-page__media,
.page_theme-page .theme-page__content,
.page_theme-page .theme-page__prehead,
.page_theme-page .theme-page__text,
.page_theme-page .theme-page__btn,
.page_theme-page .page__title {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.page_theme-page .theme-page__text,
.page_theme-page .theme-page__text p,
.page_theme-page .theme-page__text li,
.page_theme-page .cmpi-topic-hero__text,
.page_theme-page .cmpi-topic-hero__text p,
.page_theme-page .cmpi-topic-hero__text li {
    color: var(--cmpi-text);
    font-size: 16px;
    line-height: 1.65;
}

.page_theme-page .theme-page__text ul,
.page_theme-page .cmpi-topic-hero__text ul {
    margin: 14px 0 0;
    padding-left: 20px;
}

.page_theme-page .theme-page__text li,
.page_theme-page .cmpi-topic-hero__text li {
    margin: 6px 0;
}


/* ==========================================================================
   11. Blogs on direction/topic pages
   ========================================================================== */

.cmpi-blogs-section,
.cmpi-direction-blog,
.catalog-blog.cmpi-direction-blog {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 18px 0 64px;
    overflow: visible !important;
}

.cmpi-direction-blog__top,
.catalog-blog__top.cmpi-direction-blog__top {
    margin-bottom: 20px;
}

.cmpi-direction-blog__title,
.catalog-blog__title.cmpi-direction-blog__title {
    margin: 0;
    color: var(--cmpi-ink);
    font-size: clamp(28px, 2.45vw, 44px);
    line-height: 1.05;
    letter-spacing: -.038em;
    font-weight: 650;
}

.cmpi-direction-blog__title span,
.catalog-blog__title.cmpi-direction-blog__title span {
    color: var(--cmpi-coral);
}

.cmpi-direction-blog__text,
.catalog-blog__text.cmpi-direction-blog__text {
    max-width: 600px;
    color: var(--cmpi-text);
    font-size: 15px;
    line-height: 1.58;
}

.cmpi-direction-blog__btn .btn,
.catalog-blog__btn.cmpi-direction-blog__btn .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: var(--cmpi-radius-pill);
    color: var(--cmpi-blue) !important;
    border: 1px solid rgba(56, 92, 139, .12);
    background: rgba(255, 255, 255, .72);
    box-shadow:
        0 10px 24px rgba(31, 42, 68, .035),
        inset 0 1px 0 rgba(255, 255, 255, .94);
}

.cmpi-direction-blog__carousel,
.blog-carousel-wrap.cmpi-direction-blog__carousel {
    width: 100%;
    max-width: 100%;
    overflow: hidden !important;
    cursor: grab;
}

.cmpi-direction-blog__carousel:active,
.blog-carousel-wrap.cmpi-direction-blog__carousel:active {
    cursor: grabbing;
}


/* ==========================================================================
   12. CTA blocks for topics
   ========================================================================== */

.cmpi-topics-cta,
.cmpi-direction-cta,
.cmpi-topic-cta {
    position: relative;
    padding: 22px 0 72px;
}

.cmpi-topics-cta__box,
.cmpi-direction-cta__box,
.cmpi-topic-cta__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 34px 38px;
    border-radius: var(--cmpi-radius-xl);
    border: 1px solid rgba(255, 255, 255, .82);
    background:
        radial-gradient(circle at 88% 20%, rgba(244, 143, 111, .070), transparent 34%),
        radial-gradient(circle at 10% 92%, rgba(93, 141, 148, .050), transparent 32%),
        rgba(255, 255, 255, .72);
    box-shadow:
        var(--cmpi-shadow-soft),
        inset 0 1px 0 rgba(255, 255, 255, .94);
    backdrop-filter: blur(18px) saturate(1.1);
    -webkit-backdrop-filter: blur(18px) saturate(1.1);
}

.cmpi-topics-cta__title,
.cmpi-direction-cta__title,
.cmpi-topic-cta__title {
    max-width: 640px;
    margin: 0;
    color: var(--cmpi-ink);
    font-size: clamp(30px, 2.8vw, 46px);
    line-height: 1.04;
    letter-spacing: -.04em;
    font-weight: 650;
}

.cmpi-topics-cta__text,
.cmpi-direction-cta__text,
.cmpi-topic-cta__text {
    max-width: 620px;
    margin: 12px 0 0;
    color: var(--cmpi-text);
    font-size: 16px;
    line-height: 1.56;
}


/* ==========================================================================
   13. Owl arrows fallback inside premium topics
   ========================================================================== */

.cmpi-premium-topics .owl-nav,
.cmpi-premium-direction .owl-nav,
.page_themes-list .owl-nav,
.page_theme-page .owl-nav,
.page_theme-group .owl-nav {
    position: relative;
    z-index: 10;
    display: flex !important;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 10px;
    padding-right: 4px;
}

.cmpi-premium-topics .owl-prev,
.cmpi-premium-topics .owl-next,
.cmpi-premium-direction .owl-prev,
.cmpi-premium-direction .owl-next,
.page_themes-list .owl-prev,
.page_themes-list .owl-next,
.page_theme-page .owl-prev,
.page_theme-page .owl-next,
.page_theme-group .owl-prev,
.page_theme-group .owl-next {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--cmpi-radius-pill) !important;
    border: 1px solid rgba(255, 255, 255, .84) !important;
    background: rgba(255, 255, 255, .78) !important;
    color: var(--cmpi-blue) !important;
    box-shadow:
        0 12px 30px rgba(31, 42, 68, .07),
        inset 0 1px 0 rgba(255, 255, 255, .94) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.cmpi-premium-topics .owl-prev:before,
.cmpi-premium-direction .owl-prev:before,
.page_themes-list .owl-prev:before,
.page_theme-page .owl-prev:before,
.page_theme-group .owl-prev:before {
    content: "←";
    font-size: 16px;
    line-height: 1;
}

.cmpi-premium-topics .owl-next:before,
.cmpi-premium-direction .owl-next:before,
.page_themes-list .owl-next:before,
.page_theme-page .owl-next:before,
.page_theme-group .owl-next:before {
    content: "→";
    font-size: 16px;
    line-height: 1;
}

.cmpi-premium-topics .owl-prev span,
.cmpi-premium-topics .owl-next span,
.cmpi-premium-direction .owl-prev span,
.cmpi-premium-direction .owl-next span,
.page_themes-list .owl-prev span,
.page_themes-list .owl-next span,
.page_theme-page .owl-prev span,
.page_theme-page .owl-next span,
.page_theme-group .owl-prev span,
.page_theme-group .owl-next span,
.cmpi-premium-topics .owl-dots,
.cmpi-premium-direction .owl-dots,
.page_themes-list .owl-dots,
.page_theme-page .owl-dots,
.page_theme-group .owl-dots {
    display: none !important;
}


/* ==========================================================================
   14. Compatibility: old topic cards
   ========================================================================== */

.themes-list .theme-item,
.themes-list .theme-item_with-media,
.themes-list .theme-item_coaching,
.themes-list .theme-item_mentoring,
.themes-list .theme-item_psycology {
    border-radius: 26px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(255, 255, 255, .82) !important;
    box-shadow:
        var(--cmpi-shadow-soft),
        inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

.themes-list .theme-item__media,
.themes-list .theme-item__hovered {
    display: none !important;
}


/* ==========================================================================
   15. Responsive
   ========================================================================== */

@media (max-width: 1199px) {
    .cmpi-topics-hero__grid,
    .cmpi-direction-hero__grid,
    .cmpi-topic-hero__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .cmpi-topics-hero__visual,
    .cmpi-direction-hero__visual,
    .cmpi-topic-hero__visual {
        min-height: 220px;
    }

    .cmpi-topics-start-grid,
    .cmpi-request-grid,
    .themes-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .cmpi-premium-topics,
    .cmpi-premium-direction {
        padding-top: 18px;
    }

    .cmpi-topics-hero,
    .cmpi-direction-hero,
    .cmpi-topic-hero {
        margin-bottom: 24px;
        padding: 26px 20px;
        border-radius: 28px;
    }

    .cmpi-topics-hero__title,
    .cmpi-direction-hero__title,
    .cmpi-topic-hero__title,
    .page_theme-page .theme-page h1,
    .page_theme-page h1.page__title {
        max-width: 100%;
        font-size: clamp(32px, 9vw, 48px);
        line-height: 1.04;
        letter-spacing: -.04em;
    }

    .cmpi-topic-hero__title,
    .page_theme-page .theme-page h1,
    .page_theme-page h1.page__title {
        font-size: clamp(28px, 8vw, 40px);
        line-height: 1.08;
    }

    .cmpi-topics-hero__lead,
    .cmpi-direction-hero__lead,
    .cmpi-topic-hero__lead,
    .cmpi-topic-hero__text,
    .page_theme-page .theme-page__text {
        max-width: 100%;
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.55;
    }

    .cmpi-topics-hero__visual,
    .cmpi-direction-hero__visual,
    .cmpi-topic-hero__visual {
        min-height: 190px;
        border-radius: 24px;
    }

    .cmpi-topics-section,
    .cmpi-direction-section {
        padding: 22px 0;
    }

    .cmpi-topics-section__head,
    .cmpi-direction-section__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 16px;
    }

    .cmpi-topics-start-grid,
    .cmpi-request-grid,
    .themes-list {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cmpi-request-card,
    .cmpi-topics-start-card {
        min-height: 168px;
        padding: 22px 20px;
        border-radius: 24px;
    }

    .cmpi-topic-card,
    .themes-list .cmpi-topic-card,
    .cmpi-themes-tabs .cmpi-topic-card,
    .cmpi-topic-other .cmpi-topic-card,
    .mpage-themes .cmpi-topic-card {
        min-height: 158px !important;
        height: 158px !important;
        max-height: 158px !important;
        padding: 20px;
        border-radius: 24px;
    }

    .cmpi-topic-card__brand {
        width: 38px;
        height: 38px;
    }

    .cmpi-topic-card__title {
        font-size: 17px;
        line-height: 1.18;
    }

    .cmpi-themes-tabs__top {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .cmpi-themes-tabs__menu {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .cmpi-themes-tabs__menu::-webkit-scrollbar {
        display: none;
    }

    .cmpi-themes-tabs__menu-item {
        flex: 0 0 auto;
    }

    .cmpi-themes-tabs__all-link {
        width: fit-content;
    }

    .cmpi-topics-cta,
    .cmpi-direction-cta,
    .cmpi-topic-cta {
        padding-bottom: 58px;
    }

    .cmpi-topics-cta__box,
    .cmpi-direction-cta__box,
    .cmpi-topic-cta__box {
        display: block;
        padding: 26px 20px;
        border-radius: 28px;
    }

    .cmpi-topics-cta__title,
    .cmpi-direction-cta__title,
    .cmpi-topic-cta__title {
        font-size: clamp(28px, 8vw, 38px);
    }

    .cmpi-carousel-hint__line,
    .cmpi-premium-carousel-hint__line {
        width: min(280px, 72vw);
        height: 5px;
    }

    .cmpi-premium-topics .owl-nav,
    .cmpi-premium-direction .owl-nav,
    .page_themes-list .owl-nav,
    .page_theme-page .owl-nav,
    .page_theme-group .owl-nav {
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .cmpi-topics-hero,
    .cmpi-direction-hero,
    .cmpi-topic-hero {
        padding: 24px 18px;
    }

    .cmpi-topics-hero__meta,
    .cmpi-direction-hero__meta,
    .cmpi-topic-hero__meta {
        gap: 8px;
    }

    .cmpi-topics-hero__meta span,
    .cmpi-direction-hero__meta span,
    .cmpi-topic-hero__meta span {
        width: 100%;
        justify-content: center;
    }
}
/* ==========================================================================
   16. Emergency background cleanup for premium topic pages
   Убирает старые рыже-чёрные декоративные подложки базовой темы.
   ========================================================================== */

html,
body {
    background: #fff !important;
}

.page_themes-list,
.page_theme-page,
.page_theme-group,
.page_themes-list .page__main,
.page_theme-page .page__main,
.page_theme-group .page__main,
.cmpi-premium-page,
.cmpi-premium-topics,
.cmpi-premium-direction,
.cmpi-premium-main {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
}

.page_themes-list::before,
.page_themes-list::after,
.page_theme-page::before,
.page_theme-page::after,
.page_theme-group::before,
.page_theme-group::after,
.page_themes-list .page__main::before,
.page_themes-list .page__main::after,
.page_theme-page .page__main::before,
.page_theme-page .page__main::after,
.page_theme-group .page__main::before,
.page_theme-group .page__main::after,
.page_themes-list .page__text-bg,
.page_theme-page .page__text-bg,
.page_theme-group .page__text-bg,
.cmpi-premium-page::before,
.cmpi-premium-page::after,
.cmpi-premium-topics::before,
.cmpi-premium-topics::after,
.cmpi-premium-direction::before,
.cmpi-premium-direction::after,
.cmpi-premium-main::before,
.cmpi-premium-main::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

.cmpi-premium-bg {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    pointer-events: none !important;
}

.cmpi-premium-bg::before,
.cmpi-premium-bg::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
    background-image: none !important;
}

.page_themes-list .cmpi-premium-container,
.page_theme-page .cmpi-premium-container,
.page_theme-group .cmpi-premium-container,
.page_themes-list .container,
.page_theme-page .container,
.page_theme-group .container {
    position: relative !important;
    z-index: 2 !important;
}
/* ==========================================================================
   CMPi themes-list · compact hero
   Уменьшает шапку "Все темы CMPi" на странице каталога тем.
   ========================================================================== */

.page_themes-list .cmpi-topics-hero {
    margin-bottom: 28px !important;
    padding: clamp(28px, 3.2vw, 44px) !important;
    border-radius: 30px !important;
}

.page_themes-list .cmpi-topics-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
}

.page_themes-list .cmpi-topics-hero__aside {
    display: none !important;
}

.page_themes-list .cmpi-topics-hero__title {
    max-width: 820px !important;
    font-size: clamp(38px, 4.2vw, 66px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.05em !important;
}

.page_themes-list .cmpi-topics-hero__lead {
    max-width: 760px !important;
    margin-top: 16px !important;
    font-size: clamp(16px, 1.1vw, 18px) !important;
    line-height: 1.56 !important;
}

.page_themes-list .cmpi-topics-hero__meta {
    margin-top: 20px !important;
}

.page_themes-list .cmpi-topics-hero .cmpi-premium-actions {
    margin-top: 22px !important;
}

@media (max-width: 767px) {
    .page_themes-list .cmpi-topics-hero {
        margin-bottom: 22px !important;
        padding: 24px 18px !important;
        border-radius: 26px !important;
    }

    .page_themes-list .cmpi-topics-hero__title {
        font-size: clamp(32px, 8.5vw, 42px) !important;
        line-height: 1.06 !important;
        letter-spacing: -.038em !important;
    }

    .page_themes-list .cmpi-topics-hero__lead {
        margin-top: 14px !important;
        font-size: 15px !important;
        line-height: 1.54 !important;
    }

    .page_themes-list .cmpi-topics-hero__meta {
        margin-top: 18px !important;
    }
}
/* ==========================================================================
   CMPi · calm premium topic cards and tabs
   Финальный мягкий слой для карточек тем и вкладок тем.
   Палитра: #F48F6F, #385C8B, #5D8D94.
   ========================================================================== */

.cmpi-topic-card,
.themes-list .cmpi-topic-card,
.cmpi-themes-tabs .cmpi-topic-card,
.cmpi-topic-other .cmpi-topic-card,
.mpage-themes .cmpi-topic-card {
    --cmpi-topic-accent: #F48F6F;
    --cmpi-topic-accent-rgb: 244, 143, 111;

    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 174px !important;
    min-height: 174px !important;
    max-height: 174px !important;
    padding: 20px 22px 18px !important;
    border-radius: 26px !important;
    border: 1px solid rgba(56, 92, 139, .085) !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(var(--cmpi-topic-accent-rgb), .055), transparent 26%),
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .88)) !important;
    box-shadow:
        0 14px 34px rgba(31, 42, 68, .045),
        inset 0 1px 0 rgba(255, 255, 255, .96) !important;
    overflow: hidden !important;
    backdrop-filter: blur(14px) saturate(1.02) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.02) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease !important;
}

.cmpi-topic-card:hover,
.themes-list .cmpi-topic-card:hover,
.cmpi-themes-tabs .cmpi-topic-card:hover,
.cmpi-topic-other .cmpi-topic-card:hover,
.mpage-themes .cmpi-topic-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(56, 92, 139, .14) !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(var(--cmpi-topic-accent-rgb), .070), transparent 27%),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .92)) !important;
    box-shadow:
        0 18px 40px rgba(31, 42, 68, .060),
        inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

.cmpi-topic-card::before,
.cmpi-topic-card::after,
.themes-list .cmpi-topic-card::before,
.themes-list .cmpi-topic-card::after,
.cmpi-themes-tabs .cmpi-topic-card::before,
.cmpi-themes-tabs .cmpi-topic-card::after,
.mpage-themes .cmpi-topic-card::before,
.mpage-themes .cmpi-topic-card::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.cmpi-topic-card_coach,
.cmpi-topic-card_consultant,
.cmpi-topic-card_default {
    --cmpi-topic-accent: #F48F6F !important;
    --cmpi-topic-accent-rgb: 244, 143, 111 !important;
}

.cmpi-topic-card_mentor {
    --cmpi-topic-accent: #385C8B !important;
    --cmpi-topic-accent-rgb: 56, 92, 139 !important;
}

.cmpi-topic-card_psychologist {
    --cmpi-topic-accent: #5D8D94 !important;
    --cmpi-topic-accent-rgb: 93, 141, 148 !important;
}

.cmpi-topic-card__top {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 15px !important;
}

.cmpi-topic-card__badge {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: calc(100% - 54px) !important;
    min-height: 27px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    color: var(--cmpi-topic-accent) !important;
    background: rgba(var(--cmpi-topic-accent-rgb), .085) !important;
    border: 1px solid rgba(var(--cmpi-topic-accent-rgb), .075) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 760 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.cmpi-topic-card__brand {
    position: relative !important;
    z-index: 2 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    color: var(--cmpi-topic-accent) !important;
    background:
        radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .92), rgba(255, 255, 255, .58) 44%, rgba(var(--cmpi-topic-accent-rgb), .055) 100%) !important;
    border: 1px solid rgba(var(--cmpi-topic-accent-rgb), .13) !important;
    box-shadow:
        0 10px 24px rgba(31, 42, 68, .035),
        inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

.cmpi-topic-card__brand-main {
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.cmpi-topic-card__brand-i {
    margin-left: 1px !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.cmpi-topic-card__content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding-right: 8px !important;
}

.cmpi-topic-card__title {
    display: block !important;
    margin: 0 !important;
    color: var(--cmpi-ink) !important;
    font-size: 18px !important;
    line-height: 1.17 !important;
    letter-spacing: -.02em !important;
    font-weight: 720 !important;
    text-transform: none !important;
}

.cmpi-topic-card__category {
    display: -webkit-box !important;
    margin-top: 8px !important;
    color: rgba(89, 101, 122, .72) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 520 !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.cmpi-topic-card__descr {
    display: none !important;
}

.cmpi-topic-card__bottom {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    margin-top: auto !important;
    padding-top: 12px !important;
}

.cmpi-topic-card__more {
    display: inline-flex !important;
    align-items: center !important;
    color: var(--cmpi-topic-accent) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 760 !important;
}

.cmpi-topic-card__more::after {
    content: "→" !important;
    margin-left: 7px !important;
    transform: translateX(0) !important;
    transition: transform .2s ease !important;
}

.cmpi-topic-card:hover .cmpi-topic-card__more::after {
    transform: translateX(3px) !important;
}

/* Вкладки тем: мягкие, без ярких заливок */

.cmpi-themes-tabs__menu-link,
.mpage-themes__menu-link,
.cmpi-themes-tabs__all-link {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 0 15px !important;
    border-radius: 999px !important;
    color: rgba(53, 64, 92, .78) !important;
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid rgba(56, 92, 139, .10) !important;
    box-shadow:
        0 9px 22px rgba(31, 42, 68, .035),
        inset 0 1px 0 rgba(255, 255, 255, .94) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 720 !important;
    text-decoration: none !important;
    overflow: hidden !important;
}

.cmpi-themes-tabs__menu-link:hover,
.cmpi-themes-tabs__menu-link:focus,
.mpage-themes__menu-link:hover,
.mpage-themes__menu-link:focus,
.cmpi-themes-tabs__all-link:hover,
.cmpi-themes-tabs__all-link:focus {
    color: #35405C !important;
    background: rgba(255, 255, 255, .94) !important;
    border-color: rgba(56, 92, 139, .14) !important;
    transform: translateY(-1px) !important;
    box-shadow:
        0 12px 28px rgba(31, 42, 68, .050),
        inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

.cmpi-themes-tabs__menu-link.active,
.mpage-themes__menu-link.active {
    color: #35405C !important;
    background: rgba(255, 255, 255, .92) !important;
    border-color: rgba(56, 92, 139, .15) !important;
    box-shadow:
        0 12px 28px rgba(31, 42, 68, .052),
        inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

.cmpi-themes-tabs__menu-link::before,
.cmpi-themes-tabs__menu-link::after,
.mpage-themes__menu-link::before,
.mpage-themes__menu-link::after,
.cmpi-themes-tabs__menu-link.active::before,
.cmpi-themes-tabs__menu-link.active::after,
.mpage-themes__menu-link.active::before,
.mpage-themes__menu-link.active::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: transparent !important;
    box-shadow: none !important;
}

.cmpi-themes-tabs__menu-link span,
.mpage-themes__menu-link span {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    width: 11px !important;
    height: 11px !important;
    min-width: 11px !important;
    min-height: 11px !important;
    max-width: 11px !important;
    max-height: 11px !important;
    border-radius: 50% !important;
    background: rgba(56, 92, 139, .16) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .90),
        0 3px 9px rgba(31, 42, 68, .045) !important;
}

.cmpi-themes-tabs__menu-link strong,
.mpage-themes__menu-link strong {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    font: inherit !important;
    color: inherit !important;
}

.cmpi-themes-tabs__menu-link_coach span,
.cmpi-premium-chip_coach span {
    background: rgba(244, 143, 111, .62) !important;
}

.cmpi-themes-tabs__menu-link_psychologist span,
.cmpi-premium-chip_psychologist span {
    background: rgba(93, 141, 148, .62) !important;
}

.cmpi-themes-tabs__menu-link_mentor span,
.cmpi-premium-chip_mentor span {
    background: rgba(56, 92, 139, .62) !important;
}

.cmpi-themes-tabs__menu-link_consultant span,
.cmpi-premium-chip_consultant span {
    background: rgba(244, 143, 111, .62) !important;
}

.cmpi-themes-tabs__menu-link.active span,
.mpage-themes__menu-link.active span {
    box-shadow:
        0 0 0 4px rgba(56, 92, 139, .060),
        inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

@media (max-width: 767px) {
    .cmpi-topic-card,
    .themes-list .cmpi-topic-card,
    .cmpi-themes-tabs .cmpi-topic-card,
    .cmpi-topic-other .cmpi-topic-card,
    .mpage-themes .cmpi-topic-card {
        height: 158px !important;
        min-height: 158px !important;
        max-height: 158px !important;
        padding: 18px 18px 16px !important;
        border-radius: 24px !important;
    }

    .cmpi-topic-card__brand {
        width: 38px !important;
        height: 38px !important;
    }

    .cmpi-topic-card__title {
        font-size: 17px !important;
        line-height: 1.18 !important;
    }

    .cmpi-topic-card__category {
        font-size: 11.5px !important;
    }
}
/* =========================================================
   CMPi shared blog cards inside theme pages
   Для блоков "Материалы CMPi" на /themes-list/*
   ========================================================= */

.cmpi-direction-blog .cmpi-specialist-post,
.cmpi-direction-blog .cmpi-blog-card,
.cmpi-direction-blog .cmpi-blog-list-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 392px !important;
    min-height: 392px !important;
    max-height: 392px !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, .88) !important;
    background:
        radial-gradient(circle at 92% 8%, rgba(244, 143, 111, .050), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .82)) !important;
    box-shadow:
        0 18px 46px rgba(31, 42, 68, .060),
        inset 0 1px 0 rgba(255, 255, 255, .96) !important;
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease !important;
}

.cmpi-direction-blog .cmpi-specialist-post:hover,
.cmpi-direction-blog .cmpi-blog-card:hover,
.cmpi-direction-blog .cmpi-blog-list-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(244, 143, 111, .22) !important;
    box-shadow:
        0 24px 56px rgba(31, 42, 68, .085),
        inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

.cmpi-direction-blog .cmpi-specialist-post__media,
.cmpi-direction-blog .cmpi-blog-card__media,
.cmpi-direction-blog .cmpi-blog-list-card__media {
    flex: 0 0 178px !important;
    display: block !important;
    width: 100% !important;
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 78% 16%, rgba(244, 143, 111, .12), transparent 32%),
        radial-gradient(circle at 18% 82%, rgba(93, 141, 148, .10), transparent 30%),
        linear-gradient(135deg, rgba(56, 92, 139, .08), rgba(93, 141, 148, .055)),
        #F7F8FA !important;
    text-decoration: none !important;
}

.cmpi-direction-blog .cmpi-specialist-post__media img,
.cmpi-direction-blog .cmpi-blog-card__media img,
.cmpi-direction-blog .cmpi-blog-list-card__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.cmpi-direction-blog .cmpi-specialist-post__placeholder,
.cmpi-direction-blog .cmpi-blog-card__placeholder,
.cmpi-direction-blog .cmpi-blog-list-card__placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cmpi-direction-blog .cmpi-specialist-post__placeholder span,
.cmpi-direction-blog .cmpi-blog-card__placeholder span,
.cmpi-direction-blog .cmpi-blog-list-card__placeholder span {
    color: rgba(56, 92, 139, .48) !important;
    font-size: 24px !important;
    font-weight: 850 !important;
    letter-spacing: .18em !important;
}

.cmpi-direction-blog .cmpi-specialist-post__body,
.cmpi-direction-blog .cmpi-blog-card__body,
.cmpi-direction-blog .cmpi-blog-list-card__body {
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-rows: 27px 58px 38px 32px !important;
    row-gap: 8px !important;
    padding: 16px 16px 15px !important;
    overflow: hidden !important;
}

.cmpi-direction-blog .cmpi-specialist-post__top,
.cmpi-direction-blog .cmpi-blog-card__top,
.cmpi-direction-blog .cmpi-blog-list-card__top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    height: 27px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.cmpi-direction-blog .cmpi-specialist-post__type,
.cmpi-direction-blog .cmpi-blog-card__type,
.cmpi-direction-blog .cmpi-blog-list-card__type {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(244, 143, 111, .16) !important;
    background: rgba(244, 143, 111, .085) !important;
    color: #F48F6F !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 820 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.cmpi-direction-blog .cmpi-specialist-post__author,
.cmpi-direction-blog .cmpi-blog-card__author,
.cmpi-direction-blog .cmpi-blog-list-card__author {
    min-width: 0 !important;
    max-width: 52% !important;
    overflow: hidden !important;
    color: #8D98AA !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 720 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    text-align: right !important;
}

.cmpi-direction-blog .cmpi-specialist-post__title,
.cmpi-direction-blog .cmpi-blog-card__title,
.cmpi-direction-blog .cmpi-blog-list-card__title {
    height: 58px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #28324A !important;
    font-size: 16px !important;
    line-height: 1.22 !important;
    font-weight: 850 !important;
    letter-spacing: -.024em !important;
}

.cmpi-direction-blog .cmpi-specialist-post__title a,
.cmpi-direction-blog .cmpi-blog-card__title a,
.cmpi-direction-blog .cmpi-blog-list-card__title a {
    display: -webkit-box !important;
    overflow: hidden !important;
    color: inherit !important;
    text-decoration: none !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
}

.cmpi-direction-blog .cmpi-specialist-post__announce,
.cmpi-direction-blog .cmpi-blog-card__announce,
.cmpi-direction-blog .cmpi-blog-list-card__announce {
    height: 38px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #59657A !important;
    font-size: 12.5px !important;
    line-height: 1.48 !important;
    font-weight: 500 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.cmpi-direction-blog .cmpi-blog-card__announce_empty,
.cmpi-direction-blog .cmpi-specialist-post__announce_empty,
.cmpi-direction-blog .cmpi-blog-list-card__announce_empty {
    opacity: 0 !important;
}

.cmpi-direction-blog .cmpi-specialist-post__bottom,
.cmpi-direction-blog .cmpi-blog-card__bottom,
.cmpi-direction-blog .cmpi-blog-list-card__bottom {
    height: 32px !important;
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(56, 92, 139, .08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.cmpi-direction-blog .cmpi-specialist-post__more,
.cmpi-direction-blog .cmpi-blog-card__more,
.cmpi-direction-blog .cmpi-blog-list-card__more {
    color: #F48F6F !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.cmpi-direction-blog .cmpi-specialist-post__views,
.cmpi-direction-blog .cmpi-blog-card__views,
.cmpi-direction-blog .cmpi-blog-list-card__views {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #8D98AA !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    white-space: nowrap !important;
}

.cmpi-direction-blog .cmpi-specialist-post__views .svg-icon,
.cmpi-direction-blog .cmpi-blog-card__views .svg-icon,
.cmpi-direction-blog .cmpi-blog-list-card__views .svg-icon {
    width: 14px !important;
    height: 14px !important;
    color: #385C8B !important;
    opacity: .62 !important;
}

@media (max-width: 767px) {
    .cmpi-direction-blog .cmpi-specialist-post,
    .cmpi-direction-blog .cmpi-blog-card,
    .cmpi-direction-blog .cmpi-blog-list-card {
        height: auto !important;
        min-height: 390px !important;
        max-height: none !important;
    }
}