/* Тёмная тема — типографика и формы (токены в site.css html[data-theme="dark"]) */

/* Базовый цвет текста на всём документе */
html[data-theme="dark"] body {
    color: var(--color-text);
}

html[data-theme="dark"] :is(
    h1, h2, h3, h4, h5, h6,
    p, li, dt, dd, label, legend, figcaption,
    .search-page__title,
    .page-title,
    .page-title--flush,
    .section-title,
    .section-title--lg,
    .ui-empty__title,
    .list-card__title,
    .list-card__price,
    .cabinet-nav__title,
    .home-diff__name,
    .guide-card__title
) {
    color: var(--color-text);
}

html[data-theme="dark"] :is(
    .text-secondary,
    .search-page__lead,
    .page-lead,
    .page-lead--flush,
    .search-sidebar__lead,
    .search-sidebar__note,
    .ui-empty__message,
    .list-card__params,
    .list-card__ppm,
    .list-card__location,
    .home-diff__text,
    .guide-card__excerpt,
    .site-footer__tagline,
    .site-footer__copy,
    .site-footer__dev
) {
    color: var(--color-text-muted);
}

html[data-theme="dark"] :is(
    .text-hint,
    .search-strip__label,
    .search-sidebar__heading,
    .list-card__price-old
) {
    color: var(--color-text-hint);
}

html[data-theme="dark"] :is(
    .link-primary,
    a.link-primary,
    .site-header__tab.is-active,
    .search-sidebar__reset
) {
    color: var(--color-primary-text);
}

html[data-theme="dark"] .site-header__tab:hover,
html[data-theme="dark"] .site-header__link:hover {
    color: var(--color-text);
}

html[data-theme="dark"] .site-footer__nav a {
    color: var(--color-text);
}

html[data-theme="dark"] .site-footer__nav a:hover {
    color: var(--color-primary-text);
}

/* Поля ввода — единые правила */
html[data-theme="dark"] :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    select,
    textarea
) {
    background: var(--color-bg);
    border-color: var(--color-border-strong);
    color: var(--color-text);
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: var(--color-text-hint);
    opacity: 1;
}

html[data-theme="dark"] .search-strip__input,
html[data-theme="dark"] .search-strip__field--city .city-lookup--inline .city-lookup__input {
    background: var(--color-bg);
    color: var(--color-text);
}

html[data-theme="dark"] .search-strip__room span {
    background: var(--color-bg);
    color: var(--color-text-muted);
    border-color: var(--color-border-strong);
}

html[data-theme="dark"] .search-strip__room.is-active span,
html[data-theme="dark"] .search-strip__room:has(input:checked) span {
    background: var(--color-primary-light);
    color: var(--color-primary-text);
    border-color: var(--color-primary);
}

html[data-theme="dark"] .search-sidebar__pill:has(input:checked) {
    color: var(--color-primary-text);
}

html[data-theme="dark"] .search-view-toggle__btn {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .search-view-toggle__btn:hover {
    color: var(--color-text);
}

html[data-theme="dark"] .search-toolbar__count {
    color: var(--color-text);
}

html[data-theme="dark"] .search-toolbar__count strong {
    color: var(--color-text);
}

/* Компоненты */
html[data-theme="dark"] .search-strip {
    border-color: var(--color-border);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .search-module--page .search-strip {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .search-strip__field {
    border-right-color: var(--color-border);
}

html[data-theme="dark"] .list-card {
    border-color: var(--color-border);
}

html[data-theme="dark"] .list-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .list-card__fav {
    background: rgba(26, 34, 44, 0.92);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .list-card__badge--mortgage {
    background: rgba(29, 158, 117, 0.22);
    color: #9fe1cb;
}

html[data-theme="dark"] .list-card__badge--subsidy {
    background: rgba(239, 159, 39, 0.18);
    color: #f5d08a;
}

html[data-theme="dark"] :is(
    .surface-card,
    .home-stats__item,
    .home-diff__card,
    .guide-card,
    .ui-empty,
    .ui-review,
    .search-toolbar,
    .search-save-details__form,
    .cabinet-nav,
    .admin-nav,
    .cabinet-card,
    .admin-card
) {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

html[data-theme="dark"] .home-chip {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

html[data-theme="dark"] .home-chip--accent {
    background: var(--color-primary-light);
    border-color: var(--color-primary);
    color: var(--color-primary-text);
}

html[data-theme="dark"] .search-view-toggle {
    background: var(--color-bg);
}

html[data-theme="dark"] .search-view-toggle__btn--active {
    background: var(--color-surface);
    color: var(--color-text);
}

html[data-theme="dark"] .filter-chips__item--removable {
    background: var(--color-primary-light);
    color: var(--color-primary-text);
    border-color: var(--color-primary-border);
}

html[data-theme="dark"] .city-lookup__list {
    background: var(--color-surface);
    border-color: var(--color-border);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .city-lookup__option {
    color: var(--color-text);
}

html[data-theme="dark"] .city-lookup__option-region {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .layout-flash {
    background: var(--color-secondary-light);
    border-color: var(--color-secondary-border);
    color: #9fe1cb;
}

html[data-theme="dark"] .site-toast {
    background: var(--color-surface);
    border-color: var(--color-border);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .pay-checkout-card {
    background: linear-gradient(145deg, rgba(12, 68, 124, 0.35) 0%, var(--color-surface) 60%);
    border-color: var(--color-primary-border);
}

html[data-theme="dark"] .layout-flash--warn,
html[data-theme="dark"] .email-verify-banner {
    background: rgba(239, 159, 39, 0.12);
    border-color: rgba(239, 159, 39, 0.35);
    color: #f5d08a;
}

html[data-theme="dark"] .home-hero {
    background: linear-gradient(135deg, #071a2e 0%, #0c447c 50%, #134a82 100%);
}

html[data-theme="dark"] .site-footer {
    background: var(--color-surface);
    border-top: 0.5px solid var(--color-border);
}

html[data-theme="dark"] .site-footer__brand {
    color: var(--color-text);
}

html[data-theme="dark"] .site-footer__col-title {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .btn-outline {
    border-color: var(--color-border-strong);
    color: var(--color-text);
}

html[data-theme="dark"] .btn-outline:hover {
    border-color: var(--color-primary);
    color: var(--color-primary-text);
    background: var(--color-primary-light);
}

html[data-theme="dark"] .btn-outline-gray {
    border-color: var(--color-border-strong);
    color: var(--color-text);
}

html[data-theme="dark"] .cabinet-nav__link {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .cabinet-nav__link:hover {
    background: var(--color-bg);
    color: var(--color-text);
}

html[data-theme="dark"] .cabinet-nav__link.is-active {
    background: var(--color-primary-light);
    color: var(--color-primary-text);
}

html[data-theme="dark"] .search-filters-shell__toggle {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

html[data-theme="dark"] .pagination a,
html[data-theme="dark"] .pagination span {
    border-color: var(--color-border);
    background: var(--color-surface);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .pagination .is-active span {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

/* Страницы объявления / ЖК — portal.css */
html[data-theme="dark"] .complex-tabs__link {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .complex-tabs__link.is-active {
    color: var(--color-primary-text);
    border-bottom-color: var(--color-primary);
}

html[data-theme="dark"] .listing-aside,
html[data-theme="dark"] .complex-panel {
    color: var(--color-text);
}

html[data-theme="dark"] .admin-table th,
html[data-theme="dark"] .admin-table td {
    color: var(--color-text);
    border-color: var(--color-border);
}

html[data-theme="dark"] .admin-table th {
    color: var(--color-text-muted);
}

/* Сравнение, ипотека, юридические страницы */
html[data-theme="dark"] :is(
    .compare-page h1,
    .page-title,
    .page-title--lg,
    .section-title,
    .section-heading,
    .mortgage-widget__title,
    .saved-item__title,
    .messages-thread__name
) {
    color: var(--color-text);
}

html[data-theme="dark"] .compare-table th,
html[data-theme="dark"] .compare-table td {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

html[data-theme="dark"] .compare-table th {
    background: var(--color-bg);
    color: var(--color-text-muted);
}

html[data-theme="dark"] .compare-table__best {
    background: var(--color-secondary-light);
    color: var(--color-text);
}

html[data-theme="dark"] :is(
    .listing-page,
    .listing-aside__price,
    .listing-aside__seller-name,
    .complex-dev__name,
    .complex-panel__heading,
    .mortgage-partner-card strong
) {
    color: var(--color-text);
}

html[data-theme="dark"] :is(
    .listing-meta,
    .listing-aside__inquiry-hint,
    .complex-panel__muted,
    .mortgage-partner-card span,
    .mortgage-widget__label,
    .page-lead
) {
    color: var(--color-text-muted);
}

html[data-theme="dark"] .listing-chip--mortgage {
    background: var(--color-secondary-light);
    color: var(--color-success-text);
}

html[data-theme="dark"] .listing-chip--warn {
    background: var(--color-amber-bg);
    color: var(--color-amber-text);
}

html[data-theme="dark"] :is(
    .flash-success,
    .auth-status,
    .admin-flash--ok,
    .cabinet-badge--active,
    .admin-badge--ok,
    .wiz-step.is-done
) {
    color: var(--color-success-text);
}

html[data-theme="dark"] :is(
    .flash-error,
    .form-error-banner,
    .text-danger,
    .wiz-error,
    .chat-compose__error,
    .form-error
) {
    color: var(--color-danger-text);
}

html[data-theme="dark"] :is(
    .text-warn,
    .layout-flash--warn,
    .email-verify-banner
) {
    color: var(--color-amber-text);
}

html[data-theme="dark"] :is(
    .saved-item,
    .messages-item,
    .chat-scroll,
    .mortgage-partner-card,
    .mortgage-widget,
    .stat-tile,
    .cabinet-stat-tile,
    .plan-card
) {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text);
}

html[data-theme="dark"] .legal-doc,
html[data-theme="dark"] .legal-doc p,
html[data-theme="dark"] .legal-doc li {
    color: var(--color-text);
}

html[data-theme="dark"] .legal-doc h2,
html[data-theme="dark"] .legal-doc h3 {
    color: var(--color-text);
}

html[data-theme="dark"] .home-stats__item strong {
    color: var(--color-text);
}

html[data-theme="dark"] .chat-bubble--other {
    background: var(--color-bg);
    color: var(--color-text);
}

html[data-theme="dark"] .chat-bubble--mine {
    background: var(--color-primary-light);
    color: var(--color-primary-text);
}

html[data-theme="dark"] .mortgage-program-card {
    color: var(--color-text);
}

html[data-theme="dark"] .mortgage-program-card__rate {
    color: var(--color-primary-text);
}

html[data-theme="dark"] .mortgage-program-card.is-active {
    background: var(--color-primary-light);
    border-color: var(--color-primary);
}

html[data-theme="dark"] .guide-card:hover {
    border-color: var(--color-primary-border);
}

html[data-theme="dark"] .admin-alert {
    background: var(--color-amber-bg);
    border-color: var(--color-amber);
    color: var(--color-text);
}

html[data-theme="dark"] .admin-alert .ti {
    color: var(--color-amber-text);
}

html[data-theme="dark"] .listing-chip--mortgage {
    background: var(--color-secondary-light);
    color: var(--color-success-text);
}

html[data-theme="dark"] .page-shell,
html[data-theme="dark"] .compare-page,
html[data-theme="dark"] .page-shell--narrow {
    color: var(--color-text);
}

html[data-theme="dark"] .plan-card--current .plan-card__icon {
    background: var(--color-surface);
}

html[data-theme="dark"] .listing-gallery__main--empty {
    border-color: var(--color-border);
}

html[data-theme="dark"] .listing-gallery__main--apartment {
    --gallery-empty-bg-a: #1e1b33;
    --gallery-empty-bg-b: #2a2548;
    --gallery-empty-border: #3d3666;
    --gallery-empty-accent: #a89cf5;
}

html[data-theme="dark"] .listing-gallery__main--newbuild,
html[data-theme="dark"] .listing-gallery__main--premium {
    --gallery-empty-bg-a: #0f2438;
    --gallery-empty-bg-b: #152f4a;
    --gallery-empty-border: #234a6e;
    --gallery-empty-accent: #7eb8e8;
}

html[data-theme="dark"] .listing-gallery__main--commercial {
    --gallery-empty-bg-a: #2a2210;
    --gallery-empty-bg-b: #3d3218;
    --gallery-empty-border: #5c4a24;
    --gallery-empty-accent: #e8c878;
}

html[data-theme="dark"] .listing-gallery__main--house {
    --gallery-empty-bg-a: #0f2920;
    --gallery-empty-bg-b: #163528;
    --gallery-empty-border: #245242;
    --gallery-empty-accent: #7ed4b8;
}

html[data-theme="dark"] .listing-gallery__empty-icon {
    background: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .home-hero .search-popular__chip {
    color: var(--color-primary-text);
    background: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .home-hero .search-popular__chip.is-active {
    background: var(--color-surface);
    color: var(--color-text);
}

html[data-theme="dark"] .listing-key-facts,
html[data-theme="dark"] .listing-aside,
html[data-theme="dark"] .listing-mobile-bar {
    background: var(--color-surface);
    border-color: var(--color-border);
}

html[data-theme="dark"] .listing-gallery__nav {
    background: rgba(30, 30, 35, 0.92);
    color: #fff;
}
