/* Course catalog, course details, My Courses and classroom theme surfaces. */
.courses-catalog-page,
.course-details-page,
.my-courses-page {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 30px 15px 48px;
}

html[data-theme="dark"] :is(.courses-catalog-page, .course-details-page, .my-courses-page) {
    color: var(--theme-text);
}

html[data-theme="dark"] :is(.courses-catalog-page, .course-details-page, .my-courses-page) :is(h1, h2, h3, h4, h5, h6, label, strong) {
    color: var(--theme-text);
}

/* Catalog */
html[data-theme="dark"] .courses-catalog-page .catalog-header {
    border: 1px solid rgba(255, 255, 255, .12);
    background: linear-gradient(135deg, #8f1767 0%, #5d173f 58%, #35152a 100%);
    color: #fff;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
}

html[data-theme="dark"] .courses-catalog-page .catalog-header :is(h1, p) { color: #fff; }

html[data-theme="dark"] .courses-catalog-page :is(.filter-search-container, .course-premium-card, .no-results-panel) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .courses-catalog-page .course-premium-card:hover {
    border-color: rgba(242, 138, 201, .42) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .3);
}

html[data-theme="dark"] .courses-catalog-page .card-thumbnail-container { background: var(--theme-surface-raised); }
html[data-theme="dark"] .courses-catalog-page .card-entity-avatar { border-color: var(--theme-border); }
html[data-theme="dark"] .courses-catalog-page .card-entity-name,
html[data-theme="dark"] .courses-catalog-page .card-course-desc,
html[data-theme="dark"] .courses-catalog-page .no-results-panel p { color: var(--theme-muted) !important; }
html[data-theme="dark"] .courses-catalog-page .card-course-title { color: var(--theme-text) !important; }

html[data-theme="dark"] .courses-catalog-page :is(.search-control, .filter-select) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-control) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .courses-catalog-page :is(.search-control, .filter-select):focus {
    border-color: #d754a6 !important;
    background-color: var(--theme-control) !important;
    box-shadow: 0 0 0 3px rgba(215, 84, 166, .16);
}

html[data-theme="dark"] .courses-catalog-page .search-control::placeholder { color: #aa9eae; opacity: 1; }
html[data-theme="dark"] .courses-catalog-page .search-input-group i { color: var(--theme-muted); }
html[data-theme="dark"] .courses-catalog-page .filter-select option { color: var(--theme-text); background: var(--theme-surface); }

html[data-theme="dark"] .courses-catalog-page .card-price-badge {
    border: 1px solid var(--theme-border);
    background: var(--theme-surface-raised);
    color: #ff9fd5;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .26);
}

html[data-theme="dark"] .courses-catalog-page .card-price-badge.free { color: #79e3bf; }
html[data-theme="dark"] .courses-catalog-page .card-btn-action {
    border-color: var(--theme-border);
    background: var(--theme-surface-raised);
    color: var(--theme-text);
}

html[data-theme="dark"] .courses-catalog-page .card-btn-action:hover,
html[data-theme="dark"] .courses-catalog-page .course-premium-card:hover .card-btn-action {
    border-color: #a31672;
    background: #a31672;
    color: #fff;
}

/* Course details and curriculum accordion. */
html[data-theme="dark"] .course-details-page :is(.main-details-content, .sidebar-sticky-panel, .module-accordion-item, .review-card) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .2);
}

html[data-theme="dark"] .course-details-page :is(.course-title-header, .module-name, .lesson-title-info, .instructor-name, .review-user-name, .price-tag-value, .text-black) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .course-details-page :is(.course-meta-strip, .reviews-section, .module-accordion-item, .lessons-list, .lesson-item, .review-card) {
    border-color: var(--theme-border) !important;
}

html[data-theme="dark"] .course-details-page :is(.meta-item, .course-description-box p, .module-meta, .lesson-duration, .instructor-role, .review-comment, .text-4a4a4a, .text-707070) {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] .course-details-page .avg-score { color: var(--theme-text) !important; }
html[data-theme="dark"] .course-details-page .score-stars i { color: #ffc857 !important; }
html[data-theme="dark"] .course-details-page .score-stars i.empty { color: #675c69 !important; }

html[data-theme="dark"] .course-details-page .module-header,
html[data-theme="dark"] .course-details-page .instructor-box,
html[data-theme="dark"] .course-details-page .bg-light {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface-raised) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .course-details-page .lessons-list { background: var(--theme-surface) !important; }
html[data-theme="dark"] .course-details-page .lesson-item { border-bottom-color: var(--theme-border) !important; }
html[data-theme="dark"] .course-details-page .lesson-title-info i { color: var(--theme-muted); }
html[data-theme="dark"] .course-details-page .preview-thumbnail { border-color: var(--theme-border); background: var(--theme-surface-raised); }
html[data-theme="dark"] .course-details-page .instructor-avatar { border-color: var(--theme-border); }
html[data-theme="dark"] .course-details-page .price-tag-value .free-text { color: #79e3bf; }
html[data-theme="dark"] .course-details-page :is(.btn-cta-primary, .admin-btn-primary) { color: #fff; }
html[data-theme="dark"] .course-details-page .btn-cta-success { color: #fff; }
html[data-theme="dark"] .course-details-page :is(.primary-form-control, select, textarea) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-control) !important;
    color: var(--theme-text) !important;
}

/* Enrolled courses */
html[data-theme="dark"] .my-courses-page :is(.my-course-card, .no-courses-panel) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .my-courses-page .my-course-thumb { background: var(--theme-surface-raised); }
html[data-theme="dark"] .my-courses-page .my-course-partner,
html[data-theme="dark"] .my-courses-page .progress-percent-lbl,
html[data-theme="dark"] .my-courses-page .no-courses-panel p { color: var(--theme-muted) !important; }
html[data-theme="dark"] .my-courses-page .my-course-title { color: var(--theme-text) !important; }
html[data-theme="dark"] .my-courses-page .progress-track { background: var(--theme-surface-raised); }
html[data-theme="dark"] .my-courses-page .btn-study { background: #8f1767; color: #fff; }
html[data-theme="dark"] .my-courses-page .btn-study:hover { background: #a31672; color: #fff; }

/* Classroom module/lesson navigation and reading surfaces. */
html[data-theme="dark"] .classroom-container {
    background: var(--theme-page) !important;
    color: var(--theme-text);
}

html[data-theme="dark"] .classroom-container :is(.classroom-sidebar, .lesson-body-content, .comments-section-wrap) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .classroom-container :is(.sidebar-header-box, .sidebar-module-item, .sidebar-lessons-list, .attachment-card) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface-raised) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .classroom-container :is(.sidebar-course-title, .lesson-title-headline, .lesson-tab-title, .comment-author-meta, .text-black) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .classroom-container :is(.sidebar-progress-label, .text-707070, .text-4a4a4a, .sidebar-lesson-item) {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] .classroom-container .lesson-meta-header,
html[data-theme="dark"] .classroom-container .sidebar-header-box,
html[data-theme="dark"] .classroom-container .comment-item-card,
html[data-theme="dark"] .classroom-container .sidebar-lesson-item {
    border-color: var(--theme-border) !important;
}

html[data-theme="dark"] .classroom-container .sidebar-module-header {
    background: var(--theme-surface-raised) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .classroom-container .sidebar-lesson-item {
    background: var(--theme-surface) !important;
    text-decoration: none;
}

html[data-theme="dark"] .classroom-container .sidebar-lesson-item:hover,
html[data-theme="dark"] .classroom-container .sidebar-lesson-item.active {
    background: #382a39 !important;
    color: #ff9fd5 !important;
}

html[data-theme="dark"] .classroom-container .sidebar-lesson-item.completed i { color: #79e3bf; }
html[data-theme="dark"] .classroom-container .sidebar-progress-bar { background: var(--theme-border); }
html[data-theme="dark"] .classroom-container .attachment-card { color: var(--theme-text); }
html[data-theme="dark"] .classroom-container .classroom-btn-complete.active { background: #34303a; color: var(--theme-text); }
html[data-theme="dark"] .classroom-container :is(.primary-form-control, textarea) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-control) !important;
    color: var(--theme-text) !important;
}
html[data-theme="dark"] .classroom-container textarea::placeholder { color: #aa9eae; opacity: 1; }

/* Other entries nested under Formações: academias, destaques and rankings. */
html[data-theme="dark"] :is(.partners-directory-page, .featured-index-page, .featured-subpage, .rankings-dashboard-page, .rankings-list-page, .academia-profile-page, .partner-subpage) {
    color: var(--theme-text);
}

html[data-theme="dark"] :is(.partners-directory-page, .featured-index-page, .featured-subpage, .rankings-dashboard-page, .rankings-list-page, .academia-profile-page, .partner-subpage) :is(h1, h2, h3, h4, h5, h6, label) {
    color: var(--theme-text);
}

html[data-theme="dark"] :is(.partners-directory-page, .featured-index-page) :is(.directory-header, .featured-header),
html[data-theme="dark"] .rankings-dashboard-page .rankings-header {
    border: 1px solid rgba(255, 255, 255, .12);
    background: linear-gradient(135deg, #8f1767 0%, #5d173f 58%, #35152a 100%);
    color: #fff;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
}

html[data-theme="dark"] :is(.partners-directory-page, .featured-index-page) :is(.directory-header, .featured-header) :is(h1, p),
html[data-theme="dark"] .rankings-dashboard-page .rankings-header :is(h1, p) { color: #fff; }

/* Partner directory */
html[data-theme="dark"] .partners-directory-page :is(.filter-search-container, .partner-directory-card, .no-results-panel) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .partners-directory-page :is(.search-control, .form-select) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-control) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .partners-directory-page .search-input-group i,
html[data-theme="dark"] .partners-directory-page .partner-card-desc,
html[data-theme="dark"] .partners-directory-page .no-results-panel p { color: var(--theme-muted) !important; }
html[data-theme="dark"] .partners-directory-page .partner-card-name { color: var(--theme-text) !important; }
html[data-theme="dark"] .partners-directory-page .partner-card-nif { background: var(--theme-surface-raised); color: var(--theme-muted); }
html[data-theme="dark"] .partners-directory-page .partner-card-avatar { border-color: var(--theme-border); }
html[data-theme="dark"] .partners-directory-page .btn-partner-view { border-color: var(--theme-border); background: var(--theme-surface-raised); color: var(--theme-text); }
html[data-theme="dark"] .partners-directory-page .btn-partner-view:hover { border-color: #a31672; background: #a31672; color: #fff; }

/* Featured collections */
html[data-theme="dark"] .featured-index-page :is(.featured-sec-title, .course-title-h, .book-title-h, .partner-name) { color: var(--theme-text) !important; }
html[data-theme="dark"] .featured-index-page .featured-sec-link { color: #ff9fd5; }
html[data-theme="dark"] .featured-index-page :is(.course-card-premium, .book-card-premium, .partner-featured-card) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .featured-index-page :is(.course-cover-wrap, .book-cover-wrap) {
    border-color: var(--theme-border);
    background: var(--theme-surface-raised);
}

html[data-theme="dark"] .featured-index-page :is(.course-price-tag, .book-price-tag) {
    border: 1px solid var(--theme-border);
    background: var(--theme-surface-raised);
    color: #ff9fd5;
}

html[data-theme="dark"] .featured-index-page :is(.course-price-tag.free, .book-price-tag.free) { color: #79e3bf; }
html[data-theme="dark"] .featured-index-page :is(.course-level-meta, .partner-desc, .book-author-meta) { color: var(--theme-muted) !important; }
html[data-theme="dark"] .featured-index-page :is(.partner-avatar) { border-color: var(--theme-border); }
html[data-theme="dark"] .featured-index-page :is(.course-btn-action, .book-btn-action, .partner-btn) {
    border: 1px solid var(--theme-border);
    background: var(--theme-surface-raised);
    color: var(--theme-text);
}
html[data-theme="dark"] .featured-index-page :is(.course-btn-action, .book-btn-action, .partner-btn):hover {
    border-color: #a31672;
    background: #a31672;
    color: #fff;
}

/* Featured and ranking list views contain legacy inline light colors. */
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) .page-header :is(h1, p) {
    color: var(--theme-text) !important;
}
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) .page-header p { color: var(--theme-muted) !important; }
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) :is(.course-premium-card, .book-premium-card, .partner-directory-card) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .22);
}
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) :is(.course-premium-card, .book-premium-card, .partner-directory-card) > div:first-child {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface-raised) !important;
}
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) :is(.course-premium-card, .book-premium-card, .partner-directory-card) :is(h3, h4) {
    color: var(--theme-text) !important;
}
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) :is(.course-premium-card, .book-premium-card, .partner-directory-card) span:not([style*="background:#ff9800"]) {
    color: var(--theme-muted) !important;
}
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) .partner-directory-card p {
    color: var(--theme-muted) !important;
}
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) .partner-directory-card span {
    background: var(--theme-surface-raised) !important;
}
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) :is(.course-premium-card, .book-premium-card) [style*="color:#2563eb"],
html[data-theme="dark"] :is(.featured-subpage, .rankings-list-page, .partner-subpage) :is(.course-premium-card, .book-premium-card) [style*="color:#10b981"] {
    border: 1px solid var(--theme-border);
    background: var(--theme-surface-raised) !important;
    color: #79e3bf !important;
}

/* Ranking dashboard */
html[data-theme="dark"] .rankings-dashboard-page .ranking-list-card {
    border-color: var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-text);
    box-shadow: 0 9px 26px rgba(0, 0, 0, .22);
}
html[data-theme="dark"] .rankings-dashboard-page .ranking-list-title-wrap,
html[data-theme="dark"] .rankings-dashboard-page .ranking-item-row { border-color: var(--theme-border); }
html[data-theme="dark"] .rankings-dashboard-page .ranking-list-title,
html[data-theme="dark"] .rankings-dashboard-page .ranking-item-name { color: var(--theme-text); }
html[data-theme="dark"] .rankings-dashboard-page .ranking-list-link { color: #ff9fd5; }
html[data-theme="dark"] .rankings-dashboard-page .ranking-item-meta { color: var(--theme-muted); }
html[data-theme="dark"] .rankings-dashboard-page .ranking-number-badge { background: #382a39; color: #ff9fd5; }
html[data-theme="dark"] .rankings-dashboard-page :is(.ranking-item-thumb, .ranking-item-avatar) { border-color: var(--theme-border); background: var(--theme-surface-raised); }

html[data-theme="dark"] :is(.partners-directory-page, .featured-subpage, .rankings-dashboard-page, .rankings-list-page, .academia-profile-page, .partner-subpage) .admin-btn-secondary {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface-raised) !important;
    color: var(--theme-text) !important;
}
html[data-theme="dark"] :is(.partners-directory-page, .featured-subpage, .rankings-dashboard-page, .rankings-list-page, .academia-profile-page, .partner-subpage) .admin-btn-secondary:hover {
    border-color: #a31672 !important;
    background: #a31672 !important;
    color: #fff !important;
}

/* Academy profile tabs and their content panels. */
html[data-theme="dark"] .academia-profile-page :is(.panel, .pub-card) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
}
html[data-theme="dark"] .academia-profile-page :is(.profile-tabs, .review-item) { border-color: var(--theme-border); }
html[data-theme="dark"] .academia-profile-page .ptab { color: var(--theme-muted); }
html[data-theme="dark"] .academia-profile-page .ptab:is(:hover, .active) { color: #ff9fd5; border-bottom-color: #ff9fd5; }
html[data-theme="dark"] .academia-profile-page :is(.sidebar-value, .pub-title) { color: var(--theme-text); }
html[data-theme="dark"] .academia-profile-page :is(.sidebar-label, .text-707070, .empty-state p) { color: var(--theme-muted) !important; }
html[data-theme="dark"] .academia-profile-page .social-link { background: var(--theme-surface-raised); color: var(--theme-muted); }
html[data-theme="dark"] .academia-profile-page .pub-tag { background: #382a39; color: #ff9fd5; }

@media (max-width: 767.98px) {
    :is(.courses-catalog-page, .course-details-page, .my-courses-page) { padding: 18px 12px 36px; }
    .courses-catalog-page .catalog-header { padding: 26px 22px; margin-bottom: 22px; }
    .courses-catalog-page .course-grid,
    .my-courses-page .my-courses-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .courses-catalog-page .filter-search-container { padding: 16px; }
    .rankings-dashboard-page .rankings-sections-grid { grid-template-columns: minmax(0, 1fr); }
    .featured-index-page :is(.featured-cards-grid, .featured-books-grid),
    .partners-directory-page .partners-grid,
    .rankings-list-page .ranking-grid-display { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .classroom-main-content { padding: 18px; }
}

@media (max-width: 479.98px) {
    .courses-catalog-page .course-grid,
    .my-courses-page .my-courses-grid { grid-template-columns: 1fr; }
    .course-details-page .main-details-content,
    .course-details-page .sidebar-sticky-panel { padding: 20px; }
    .featured-index-page :is(.featured-cards-grid, .featured-books-grid),
    .partners-directory-page .partners-grid,
    .rankings-list-page .ranking-grid-display { grid-template-columns: minmax(0, 1fr); }
    .classroom-main-content { padding: 14px; }
}

/* Course catalog: readable filters and illustrated no-cover cards. */
.courses-catalog-page .catalog-header {
    position: relative;
    display: flex;
    min-height: 154px;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: clamp(28px, 4vw, 42px);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 24px;
    background: linear-gradient(125deg, #b52b82 0%, #86145d 57%, #53163f 100%);
    box-shadow: 0 16px 38px rgba(107, 26, 82, .18);
}
.courses-catalog-page .catalog-header::after {
    position: absolute;
    top: -105px;
    right: -15px;
    width: 290px;
    height: 290px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    background: radial-gradient(circle at 45% 48%, rgba(255,255,255,.13), transparent 68%);
    content: "";
    pointer-events: none;
}
.courses-catalog-page .catalog-header > * { position: relative; z-index: 1; }
.courses-catalog-page .catalog-header h1 { font-size: clamp(1.65rem, 2.8vw, 2.15rem); letter-spacing: -.025em; }
.courses-catalog-page .catalog-header p { max-width: 780px; line-height: 1.65; }
.courses-catalog-page .filter-search-container {
    padding: 20px;
    border: 1px solid var(--theme-border);
    border-radius: 20px;
    background: var(--theme-surface);
    box-shadow: 0 8px 25px rgba(42, 22, 38, .055);
}
.courses-catalog-page #coursesFilterForm {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
    gap: 12px;
    margin: 0;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}
.courses-catalog-page #coursesFilterForm > div {
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 0;
    flex: initial;
}
.courses-catalog-page #coursesFilterForm .catalog-filter-search,
.courses-catalog-page #coursesFilterForm .catalog-filter-order { grid-column: span 2; }
.courses-catalog-page #coursesFilterForm .search-input-group { min-height: 48px; }
.courses-catalog-page #coursesFilterForm :is(.search-control, .filter-select) {
    min-height: 48px;
    height: 100%;
    border-color: var(--theme-border);
    border-radius: 12px;
    background-color: var(--theme-control);
    color: var(--theme-text);
    font-size: 13px;
}
.courses-catalog-page #coursesFilterForm .search-control { padding-left: 44px; }
.courses-catalog-page #coursesFilterForm .search-control::placeholder { color: var(--theme-muted); opacity: .82; }
.courses-catalog-page #coursesFilterForm .catalog-filter-submit .admin-btn-primary {
    min-height: 48px;
    border: 1px solid #a31672;
    border-radius: 12px;
    background: linear-gradient(135deg, #c13b91, #941569);
    box-shadow: 0 7px 16px rgba(163, 22, 114, .17);
    color: #fff;
    font-size: 13px;
    font-weight: 750;
}
.courses-catalog-page #coursesFilterForm .catalog-filter-reset .btn {
    min-height: 48px;
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    background: var(--theme-surface-raised);
    color: var(--theme-text);
}
.courses-catalog-page #coursesFilterForm .catalog-filter-reset .btn:hover { border-color: #c13b91; color: #a31672; }
.courses-catalog-page .course-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
    align-items: stretch;
    gap: 20px;
    margin-bottom: 24px;
}
.courses-catalog-page .course-premium-card {
    height: 100%;
    min-width: 0;
    border: 1px solid var(--theme-border);
    border-radius: 21px;
    background: var(--theme-surface);
    box-shadow: 0 8px 24px rgba(42, 22, 38, .065);
}
.courses-catalog-page .course-premium-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(42, 22, 38, .12); }
.courses-catalog-page .card-thumbnail-container { background: var(--theme-surface-raised); }
.courses-catalog-page .card-thumbnail-img { z-index: 1; }
.courses-catalog-page .card-thumbnail-container.is-placeholder {
    background: radial-gradient(circle at 78% 20%, rgba(255,255,255,.68), transparent 27%), linear-gradient(135deg, #fce7f3, #f2e8f4 55%, #e7e9f5);
}
.courses-catalog-page .card-thumbnail-container.is-placeholder .card-thumbnail-img { opacity: 0; }
.courses-catalog-page .card-thumbnail-container.is-placeholder .course-thumbnail-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #8d1c68;
}
.courses-catalog-page .course-thumbnail-placeholder i {
    display: grid;
    width: 70px;
    height: 70px;
    place-items: center;
    border: 1px solid rgba(163, 22, 114, .12);
    border-radius: 24px;
    background: rgba(255, 255, 255, .7);
    box-shadow: 0 12px 28px rgba(107, 26, 82, .11);
    font-size: 29px;
}
.courses-catalog-page .course-thumbnail-placeholder small { font-size: 11px; font-weight: 750; letter-spacing: .035em; }
.courses-catalog-page .card-level-badge { z-index: 2; top: 13px; left: 13px; padding: 6px 10px; border-radius: 999px; font-size: 10px; }
.courses-catalog-page .card-type-badge { top: 48px; background: #a64f17; }
.courses-catalog-page .card-price-badge { z-index: 2; right: 13px; bottom: 13px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; background: rgba(255,255,255,.95); color: #a31672; font-size: 12px; }
.courses-catalog-page .card-price-badge.free { color: #087f5b; }
.courses-catalog-page .card-details-body { min-height: 246px; padding: 17px 18px 19px; }
.courses-catalog-page .card-entity-info { min-width: 0; gap: 9px; margin-bottom: 12px; }
.courses-catalog-page .card-entity-avatar-wrap { position: relative; display: grid; flex: 0 0 27px; width: 27px; height: 27px; place-items: center; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 50%; background: var(--theme-surface-raised); }
.courses-catalog-page .card-entity-avatar { width: 100%; height: 100%; border: 0; }
.courses-catalog-page .card-entity-avatar-wrap.is-placeholder .card-entity-avatar { opacity: 0; }
.courses-catalog-page .card-entity-avatar-placeholder { display: none; color: #a31672; font-size: 11px; }
.courses-catalog-page .card-entity-avatar-wrap.is-placeholder .card-entity-avatar-placeholder { position: absolute; display: grid; inset: 0; place-items: center; }
.courses-catalog-page .card-entity-name { color: var(--theme-muted); font-size: 10px; line-height: 1.35; }
.courses-catalog-page .card-course-title { height: auto; min-height: 2.8em; margin-bottom: 9px; color: var(--theme-text); font-size: 15px; line-height: 1.4; }
.courses-catalog-page .card-course-desc { height: auto; min-height: 3.1em; margin-bottom: 16px; color: var(--theme-muted); line-height: 1.55; }
.courses-catalog-page .card-btn-action {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    border: 1px solid #a31672;
    border-radius: 12px;
    background: linear-gradient(135deg, #c13b91, #941569);
    box-shadow: 0 6px 15px rgba(163, 22, 114, .14);
    color: #fff;
}
.courses-catalog-page .course-premium-card:hover .card-btn-action { border-color: #7d1057; background: #7d1057; }
html[data-theme="dark"] .courses-catalog-page .catalog-header { border-color: rgba(255,255,255,.12); background: linear-gradient(125deg, #8f1767 0%, #5d173f 57%, #35152a 100%); }
html[data-theme="dark"] .courses-catalog-page .filter-search-container,
html[data-theme="dark"] .courses-catalog-page .course-premium-card { box-shadow: 0 10px 27px rgba(0,0,0,.24); }
html[data-theme="dark"] .courses-catalog-page .card-thumbnail-container.is-placeholder { background: radial-gradient(circle at 78% 20%, rgba(255,255,255,.09), transparent 27%), linear-gradient(135deg, #392b3d, #302b3a 55%, #282a39); }
html[data-theme="dark"] .courses-catalog-page .course-thumbnail-placeholder,
html[data-theme="dark"] .courses-catalog-page .card-entity-avatar-placeholder { color: #ff9fd5; }
html[data-theme="dark"] .courses-catalog-page .course-thumbnail-placeholder i { border-color: rgba(255,159,213,.15); background: rgba(255,255,255,.06); }
html[data-theme="dark"] .courses-catalog-page .card-price-badge { border-color: var(--theme-border); background: var(--theme-surface-raised); color: #ff9fd5; }
html[data-theme="dark"] .courses-catalog-page .card-price-badge.free { color: #79e3bf; }
html[data-theme="dark"] .courses-catalog-page .card-type-badge { background: #91502b; }

@media (max-width: 1199.98px) {
    .courses-catalog-page #coursesFilterForm { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .courses-catalog-page #coursesFilterForm .catalog-filter-search { grid-column: span 2; }
    .courses-catalog-page #coursesFilterForm .catalog-filter-order { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .courses-catalog-page { padding: 18px 12px 40px; }
    .courses-catalog-page .catalog-header { min-height: 140px; margin-bottom: 20px; padding: 25px 21px; border-radius: 19px; }
    .courses-catalog-page .filter-search-container { padding: 14px; }
    .courses-catalog-page #coursesFilterForm { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .courses-catalog-page #coursesFilterForm .catalog-filter-search,
    .courses-catalog-page #coursesFilterForm .catalog-filter-order { grid-column: 1 / -1; }
    .courses-catalog-page #coursesFilterForm .filter-select { padding: 0 24px 0 9px; font-size: 11px; }
    .courses-catalog-page .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .courses-catalog-page .card-details-body { min-height: 240px; padding: 14px; }
    .courses-catalog-page .card-entity-name { font-size: 9px; }
    .courses-catalog-page .card-course-title { font-size: 14px; }
    .courses-catalog-page .card-course-desc { font-size: 12px; }
}
@media (max-width: 479.98px) {
    .courses-catalog-page .course-grid { grid-template-columns: 1fr; }
    .courses-catalog-page .card-details-body { min-height: 0; }
}
