/**
 * РМТрекер — тёмная тема («тёплый зал»).
 * Переключение: data-bs-theme на <html>.
 */
[data-bs-theme="dark"] {
    color-scheme: dark;

    --bs-body-bg: #141316;
    --bs-body-color: #eceaf0;
    --bs-body-color-rgb: 236, 234, 240;

    --bs-secondary-bg: #1c1b20;
    --bs-secondary-bg-rgb: 28, 27, 32;
    --bs-tertiary-bg: #26252c;
    --bs-tertiary-bg-rgb: 38, 37, 44;

    --bs-emphasis-color: #f5f4f8;
    --bs-emphasis-color-rgb: 245, 244, 248;

    --bs-border-color: #3a3842;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.12);

    --bs-link-color: #0d6efd;
    --bs-link-hover-color: #0b5ed7;

    --bs-primary: #0d6efd;
    --bs-primary-rgb: 13, 110, 253;
    --bs-primary-text-emphasis: #9ec5fe;
    --bs-primary-bg-subtle: #0f1a2e;
    --bs-primary-border-subtle: #1e3a5f;

    --bs-secondary-color: #d6d3dc;
    --bs-secondary-color-rgb: 214, 211, 220;

    --bs-light: #26252c;
    --bs-light-rgb: 38, 37, 44;

    --bs-card-bg: var(--bs-secondary-bg);
    --bs-card-border-color: var(--bs-border-color);

    --bs-dropdown-bg: var(--bs-tertiary-bg);
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.06);
    --bs-dropdown-border-color: var(--bs-border-color);

    --bs-modal-bg: var(--bs-secondary-bg);
    --bs-modal-content-bg: var(--bs-secondary-bg);

    --bs-form-control-bg: var(--bs-tertiary-bg);
    --bs-form-control-color: var(--bs-body-color);
    --bs-form-control-border-color: var(--bs-border-color);
    --bs-form-select-bg: var(--bs-tertiary-bg);
    --bs-input-group-addon-bg: var(--bs-tertiary-bg);
    --bs-input-group-addon-border-color: var(--bs-border-color);

    --bs-table-bg: transparent;
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: rgba(255, 255, 255, 0.05);

    --bs-list-group-bg: var(--bs-secondary-bg);
    --bs-list-group-border-color: var(--bs-border-color);
    --bs-list-group-action-hover-bg: rgba(255, 255, 255, 0.06);

    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

/* Кнопки Bootstrap задают свой --bs-btn-bg напрямую, не через --bs-primary */
[data-bs-theme="dark"] .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;
}

[data-bs-theme="dark"] .btn-outline-primary {
    --bs-btn-color: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0d6efd;
    --bs-btn-hover-border-color: #0d6efd;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-disabled-color: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;
}

/* Активный пункт меню — синий текст (жирность задаётся fw-bold в шаблоне) */
.navbar-light {
    --bs-navbar-active-color: #0d6efd;
    --bs-navbar-hover-color: #0b5ed7;
}

.navbar #navbarMain > .navbar-nav.me-auto > .nav-item > .nav-link.active {
    color: #0d6efd !important;
    background-color: transparent !important;
}

/* Приглушённый текст (только светлая тема; :root не трогаем — иначе перебивает dark) */
[data-bs-theme="light"] {
    --bs-secondary-color: #6c757d;
    --bs-secondary-color-rgb: 108, 117, 125;
}

[data-bs-theme="dark"] .text-muted {
    color: var(--bs-secondary-color) !important;
}

.text-muted {
    color: var(--bs-secondary-color) !important;
}

/* Сворачиваемые блоки (промокоды, комментарии) — как обычная карточка */
.rm-card-collapse-toggle {
    background-color: transparent !important;
    color: var(--bs-body-color) !important;
    box-shadow: none !important;
}

.rm-card-collapse-toggle:hover,
.rm-card-collapse-toggle:focus,
.rm-card-collapse-toggle:active {
    background-color: rgba(var(--bs-primary-rgb), 0.06) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .btn-light {
    --bs-btn-bg: var(--bs-secondary-bg);
    --bs-btn-border-color: var(--bs-border-color);
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-hover-bg: var(--bs-tertiary-bg);
    --bs-btn-hover-border-color: var(--bs-border-color);
    --bs-btn-hover-color: var(--bs-body-color);
}

[data-bs-theme="dark"] .bg-white {
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .bg-light {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .text-dark {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-end,
[data-bs-theme="dark"] .border-start {
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .card {
    background-color: var(--bs-secondary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.35) !important;
}

/* Шапка и мобильная навигация */
[data-bs-theme="dark"] .navbar {
    --bs-navbar-color: var(--bs-body-color);
    --bs-navbar-hover-color: #0b5ed7;
    --bs-navbar-active-color: #0d6efd;
    --bs-navbar-brand-color: var(--bs-emphasis-color);
    --bs-navbar-toggler-border-color: var(--bs-border-color);
}

@media (max-width: 991.98px) {
    [data-bs-theme="dark"] .navbar-collapse {
        background: var(--bs-body-bg) !important;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
    }
}

[data-bs-theme="dark"] .mobile-menu-item {
    border-bottom-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .mobile-bottom-nav {
    background: var(--bs-secondary-bg) !important;
    border-top-color: var(--bs-border-color) !important;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .mobile-bottom-nav a {
    color: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .mobile-bottom-nav a.active {
    color: var(--bs-primary);
}

/* Бейджи и чипы */
[data-bs-theme="dark"] .badge.bg-light.text-dark,
[data-bs-theme="dark"] .badge.bg-light.text-muted {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .badge.bg-warning.text-dark {
    color: #212529 !important;
}

/* Пагинация (home, artists, performances) */
[data-bs-theme="dark"] .pagination-custom .page-link {
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .pagination-custom .page-link:hover {
    color: var(--bs-primary);
    background-color: rgba(255, 255, 255, 0.06);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .pagination-custom .page-item.disabled .page-link {
    color: var(--bs-secondary-color);
    background-color: transparent;
    border-color: transparent;
}

/* Пикеры и выпадающие панели */
[data-bs-theme="dark"] .performance-picker-panel,
[data-bs-theme="dark"] .theater-picker-panel {
    background-color: var(--bs-tertiary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .input-group-text.bg-white {
    background-color: var(--bs-tertiary-bg) !important;
}

/* Переключатель темы (ползунок) */
.rm-theme-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    user-select: none;
    margin: 0;
    line-height: 1;
    flex-shrink: 0;
}

.navbar .rm-theme-switch {
    height: 2rem;
}

.rm-theme-switch--mobile {
    padding: 0.5rem 0 1rem;
}

.rm-theme-switch .rm-theme-toggle {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.rm-theme-switch-track {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 3.25rem;
    height: 1.75rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--bs-tertiary-bg, #e9ecef);
    border: 1px solid var(--bs-border-color);
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.rm-theme-switch-icon {
    font-size: 0.75rem;
    line-height: 1;
    color: #f0b429;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.25);
    z-index: 1;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.rm-theme-switch .rm-theme-toggle:checked + .rm-theme-switch-track .rm-theme-switch-icon:first-child,
.rm-theme-switch .rm-theme-toggle:not(:checked) + .rm-theme-switch-track .rm-theme-switch-icon:last-child {
    opacity: 0.4;
}

.rm-theme-switch .rm-theme-toggle:not(:checked) + .rm-theme-switch-track .rm-theme-switch-icon:first-child,
.rm-theme-switch .rm-theme-toggle:checked + .rm-theme-switch-track .rm-theme-switch-icon:last-child {
    opacity: 1;
    color: #ffd54f;
}

.rm-theme-switch-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.rm-theme-switch .rm-theme-toggle:checked + .rm-theme-switch-track {
    background: #2a2830;
    border-color: #4a4654;
}

.rm-theme-switch .rm-theme-toggle:checked + .rm-theme-switch-track .rm-theme-switch-thumb {
    transform: translateX(1.45rem);
    background: #3d3a46;
    border-color: #5c5768;
}

.rm-theme-switch .rm-theme-toggle:focus-visible + .rm-theme-switch-track {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

[data-bs-theme="dark"] .rm-theme-switch-track {
    background: #2a2830;
    border-color: #4a4654;
}

[data-bs-theme="dark"] .rm-theme-switch-thumb {
    background: #eceaf0;
    border-color: #6b6678;
}

[data-bs-theme="dark"] .rm-theme-switch .rm-theme-toggle:checked + .rm-theme-switch-track {
    background: #0d6efd;
    border-color: #0d6efd;
}

[data-bs-theme="dark"] .rm-theme-switch .rm-theme-toggle:checked + .rm-theme-switch-track .rm-theme-switch-thumb {
    background: #fff;
    border-color: #fff;
}

.rm-theme-switch-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.rm-theme-switch-wrap--disabled {
    cursor: not-allowed;
}

.rm-theme-switch-wrap--disabled .rm-theme-switch {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

.rm-theme-switch-wrap--disabled:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 3px;
    border-radius: 0.35rem;
}

.rm-theme-switch-hint {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    z-index: 1100;
    width: max-content;
    max-width: min(17.5rem, 92vw);
    padding: 0.55rem 0.7rem;
    font-size: 0.78rem;
    line-height: 1.35;
    font-weight: 400;
    color: var(--bs-body-color);
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 0.45rem;
    box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.2rem);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
    pointer-events: none;
}

.rm-theme-switch-hint::before {
    content: '';
    position: absolute;
    bottom: 100%;
    right: 1.1rem;
    border: 0.35rem solid transparent;
    border-bottom-color: var(--bs-border-color);
}

.rm-theme-switch-hint::after {
    content: '';
    position: absolute;
    bottom: 100%;
    right: calc(1.1rem + 1px);
    border: 0.32rem solid transparent;
    border-bottom-color: var(--bs-body-bg);
}

.rm-theme-switch-hint__title {
    display: block;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.rm-theme-switch-hint__link {
    color: var(--bs-link-color);
    text-decoration: underline;
    text-underline-offset: 0.12em;
    pointer-events: auto;
}

.rm-theme-switch-wrap--disabled:hover .rm-theme-switch-hint,
.rm-theme-switch-wrap--disabled:focus-within .rm-theme-switch-hint {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.rm-theme-switch-wrap--mobile .rm-theme-switch-hint {
    left: 50%;
    right: auto;
    transform: translate(-50%, -0.2rem);
}

.rm-theme-switch-wrap--mobile:hover .rm-theme-switch-hint,
.rm-theme-switch-wrap--mobile:focus-within .rm-theme-switch-hint {
    transform: translate(-50%, 0);
}

.rm-theme-switch-wrap--mobile .rm-theme-switch-hint::before,
.rm-theme-switch-wrap--mobile .rm-theme-switch-hint::after {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

.rm-remote-storage-banner {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* FullCalendar (главная) */
[data-bs-theme="dark"] .fc {
    --fc-border-color: var(--bs-border-color);
    --fc-page-bg-color: var(--bs-secondary-bg);
    --fc-neutral-bg-color: var(--bs-tertiary-bg);
    --fc-list-event-hover-bg-color: rgba(255, 255, 255, 0.05);
    --fc-today-bg-color: rgba(110, 168, 255, 0.15);
}

[data-bs-theme="dark"] .fc-theme-standard td,
[data-bs-theme="dark"] .fc-theme-standard th {
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .fc .fc-toolbar-title {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .fc-col-header-cell-cushion,
[data-bs-theme="dark"] .fc-daygrid-day-number {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .fc-daygrid-day:hover {
    background-color: rgba(255, 255, 255, 0.04) !important;
}

[data-bs-theme="dark"] .fc-daygrid-day.fc-day-today {
    background-color: rgba(13, 110, 253, 0.2) !important;
    box-shadow: inset 0 0 0 2px rgba(110, 168, 255, 0.65);
}

[data-bs-theme="dark"] .fc-daygrid-day.fc-day-today.has-events {
    background-color: rgba(13, 110, 253, 0.24) !important;
    box-shadow: inset 0 0 0 2px #6ea8ff;
}

[data-bs-theme="dark"] .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    color: #6ea8ff !important;
    font-weight: 700 !important;
}

[data-bs-theme="dark"] .day-group .bg-light {
    background-color: var(--bs-tertiary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

/* Список событий выбранного дня (календарь на главной) */
[data-bs-theme="dark"] #day-events-list .list-group-item-action:hover,
[data-bs-theme="dark"] #day-events-list .event-item:hover,
[data-bs-theme="dark"] .event-item.list-group-item-action:hover {
    background-color: var(--bs-list-group-action-hover-bg) !important;
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] #day-events-list .list-group-item-action:hover h6,
[data-bs-theme="dark"] .event-item:hover h6 {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] #day-events-list .list-group-item-action:hover .text-muted,
[data-bs-theme="dark"] .event-item:hover .text-muted {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] #day-events .card-header.bg-white {
    background-color: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color);
}

/* Модальные окна: шапка и подвал (перебивают page-local #f8f9fa) */
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
    background-color: var(--bs-tertiary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .modal-header .modal-title {
    color: var(--bs-body-color);
}

/* Автокомплит артистов */
[data-bs-theme="dark"] .search-results {
    background: var(--bs-tertiary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .search-results .list-group-item {
    background: transparent;
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .search-results .list-group-item:hover,
[data-bs-theme="dark"] .search-results .list-group-item.active {
    background-color: rgba(255, 255, 255, 0.06);
}

[data-bs-theme="dark"] .border-dashed {
    border-color: var(--bs-border-color) !important;
}

/* Постеры и фото: убрать белую «подложку» (#f8f9fa в шаблонах и inline-стилях) */
[data-bs-theme="dark"] .poster-container,
[data-bs-theme="dark"] .artist-image-container,
[data-bs-theme="dark"] .artist-image-wrapper {
    background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] img.bg-light,
[data-bs-theme="dark"] img.bg-white {
    background-color: transparent !important;
}

/* Обёртки с bg-light вокруг фото — тёмный фон, не белый */
[data-bs-theme="dark"] .artist-image-container .bg-light,
[data-bs-theme="dark"] .card-img-top .bg-light {
    background-color: var(--bs-tertiary-bg) !important;
}

/* --- Читаемость: футер, подписи, профиль, главная --- */

/* Футер: отделить от страницы (bg-dark больше не «светлеет» из-за --bs-dark) */
[data-bs-theme="dark"] footer.site-footer.bg-dark {
    background-color: #0a090c !important;
    border-top: 1px solid var(--bs-border-color);
}

[data-bs-theme="dark"] footer.site-footer h6.text-white {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] footer.site-footer,
[data-bs-theme="dark"] footer.site-footer .text-white-50 {
    color: rgba(236, 234, 240, 0.78) !important;
}

[data-bs-theme="dark"] footer.site-footer a.text-white-50:hover {
    color: #fff !important;
}

/* Блоки фильтров / поиска (главная, события, артисты) */
.rm-filters-card {
    --rm-filter-label-color: #5c636a;
    --rm-filter-placeholder-color: #9aa0a6;
}

.rm-filters-card label.form-label {
    color: var(--rm-filter-label-color) !important;
}

.rm-filters-card .form-control::placeholder,
.rm-filters-card .theater-picker-search::placeholder {
    color: var(--rm-filter-placeholder-color) !important;
    opacity: 1 !important;
}

/* «Пустые» значения select и типов событий — как placeholder */
.rm-filters-card select.form-select:has(option[value=""]:checked) {
    color: var(--rm-filter-placeholder-color) !important;
}

.rm-filters-card [id$="-event-type-filter-toggle"].is-placeholder [id$="-event-type-filter-summary"] {
    color: var(--rm-filter-placeholder-color) !important;
}

.rm-filters-card input[type="date"].is-placeholder-value {
    color: var(--rm-filter-placeholder-color) !important;
}

[data-bs-theme="dark"] .form-label {
    color: #e2e0e8 !important;
}

[data-bs-theme="dark"] .form-label.text-muted {
    color: #e4e2ea !important;
}

[data-bs-theme="dark"] .rm-filters-card {
    --rm-filter-label-color: #f2f0f6;
    --rm-filter-placeholder-color: #a8a5b0;
}

[data-bs-theme="dark"] .rm-filters-card label.form-label {
    color: var(--rm-filter-label-color) !important;
}

/* Поля ввода и select — как остальные, светлый текст */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-control-sm,
[data-bs-theme="dark"] .theater-picker-search {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .rm-filters-card .form-control::placeholder,
[data-bs-theme="dark"] .rm-filters-card .theater-picker-search::placeholder {
    color: var(--rm-filter-placeholder-color) !important;
    opacity: 1 !important;
}

[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .form-select-sm {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b8b5c0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

[data-bs-theme="dark"] .rm-filters-card select.form-select:has(option[value=""]:checked) {
    color: var(--rm-filter-placeholder-color) !important;
}

[data-bs-theme="dark"] .rm-filters-card [id$="-event-type-filter-toggle"].is-placeholder [id$="-event-type-filter-summary"] {
    color: var(--rm-filter-placeholder-color) !important;
}

[data-bs-theme="dark"] .rm-filters-card input[type="date"].is-placeholder-value {
    color: var(--rm-filter-placeholder-color) !important;
}

[data-bs-theme="dark"] .form-select option {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .rm-filters-card .input-group-text {
    background-color: var(--bs-tertiary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .form-text {
    color: var(--bs-secondary-color) !important;
}

/* Описание постановки на главной — чуть светлее обычного muted */
[data-bs-theme="dark"] .card-text.text-muted,
[data-bs-theme="dark"] .shows-list .card-text.small.text-muted {
    color: #dedbe4 !important;
}

/* Главная: время, город, иконка — между muted и описанием */
[data-bs-theme="dark"] .shows-list .mb-2 > small.text-muted,
[data-bs-theme="dark"] .shows-list .d-flex.align-items-center.mb-2 .bi-geo-alt.text-muted,
[data-bs-theme="dark"] .shows-list .d-flex.align-items-center.mb-2 small.text-muted {
    color: #b0adb8 !important;
}

/* Профиль: перебить inline-стили страницы (#6c757d на тёмном фоне) */
[data-bs-theme="dark"] .nav-tabs .nav-link {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .nav-tabs .nav-link:hover,
[data-bs-theme="dark"] .nav-tabs .nav-link.active {
    color: #0d6efd !important;
}

[data-bs-theme="dark"] .profile-bio,
[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .card-header {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] h4.text-muted,
[data-bs-theme="dark"] h5.text-muted,
[data-bs-theme="dark"] .card-body .small.text-muted {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .form-check-label {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .form-check-label.text-muted {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] select[multiple] option {
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] select[multiple] option:hover {
    background-color: var(--bs-secondary-bg) !important;
}

[data-bs-theme="dark"] .border-top {
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .card-hover {
    border-color: var(--bs-border-color) !important;
}
