/**
 * Theme follows browser/OS via prefers-color-scheme.
 * Base template CSS = light. This file applies tokens + dark overrides.
 */

:root {
  color-scheme: light dark;
  --js-bg-page: #ffffff;
  --js-bg-surface: #ffffff;
  --js-bg-elevated: #f6f6f6;
  --js-bg-muted: #f6f6f6;
  --js-bg-input: #ffffff;
  --js-text: #4d4d4d;
  --js-text-heading: #212734;
  --js-text-link: #212734;
  --js-text-muted: #808080;
  --js-text-placeholder: #b3b3b3;
  --js-border: #cccccc;
  --js-accent: #0078ff;
  --js-accent-hover: #0066d9;
}

@media (prefers-color-scheme: dark) {
  :root {
    --js-bg-page: #12161f;
    --js-bg-surface: #1a2030;
    --js-bg-elevated: #232a3b;
    --js-bg-muted: #232a3b;
    --js-bg-input: #1a2030;
    --js-text: #eceff4;
    --js-text-heading: #ffffff;
    --js-text-link: #f5f7fa;
    --js-text-muted: #c8cdd6;
    --js-text-placeholder: #9aa1ae;
    --js-border: #3a4255;
    --js-accent: #3b8cff;
    --js-accent-hover: #6aa6ff;
  }
}

html {
  color-scheme: light dark;
  background-color: var(--js-bg-page);
  color: var(--js-text-heading);
}

body,
.wrapper,
.slideout-panel,
main.slideout-panel,
.--base-padding,
.header {
  background-color: var(--js-bg-page) !important;
  background: var(--js-bg-page) !important;
  color: var(--js-text);
}

body {
  color: var(--js-text) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.header-top,
.side-menu__title {
  color: var(--js-text-heading) !important;
}

a,
a:link,
a:visited {
  color: var(--js-text-link) !important;
}

a:hover {
  color: var(--js-accent-hover) !important;
}

.side-menu {
  background-color: var(--js-bg-elevated) !important;
  background: var(--js-bg-elevated) !important;
  color: var(--js-text) !important;
}

input,
textarea,
select {
  background-color: var(--js-bg-input) !important;
  color: var(--js-text-heading) !important;
  border-color: var(--js-border) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--js-text-placeholder) !important;
}

.card,
.panel,
.modal .window,
.full > .modal > .window,
.popup,
.dropdown-menu,
.bx-auth-form,
.form-control,
.table,
table.table,
.list-group-item,
.pagination > li > a,
.pagination > li > span {
  background-color: var(--js-bg-surface) !important;
  color: var(--js-text) !important;
  border-color: var(--js-border) !important;
}

.header-bottom__content > .search > form > input,
.search input[type="text"],
.search input[type="search"] {
  background-color: var(--js-bg-input) !important;
  color: var(--js-text-heading) !important;
  border-color: var(--js-border) !important;
}

/* Search submit / create ad — white label on colored buttons */
.header-bottom__content > .search > form > .search__actions > button,
.header-bottom__content > .search > form > .search__actions > .add,
.header-bottom__content > .search > .search__actions > button,
.header-bottom__content > .search > .search__actions > .add,
.header-bottom__content > .search > a.add {
  color: #ffffff !important;
}

.text-dark,
.text-body {
  color: var(--js-text-heading) !important;
}

.text-muted,
.muted,
.secondary {
  color: var(--js-text-muted) !important;
}

.header-bottom__content > .logo {
  background: transparent !important;
  position: relative !important;
  flex: 0 0 auto !important;
  display: block !important;
  width: 260px !important;
  max-width: 260px !important;
  min-width: 260px !important;
  height: 48px !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

.header-bottom__content > .logo:hover {
  background: transparent !important;
}

.header-bottom__content > .logo > .logo__img,
.header-bottom__content > .logo > img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 260px !important;
  max-width: 260px !important;
  height: 48px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  border: none !important;
  background: transparent !important;
  transform: none !important;
}

.header-bottom__content > .logo.logo--has-dark > .logo__img--dark {
  display: none !important;
}

/* Языки в header: шире колонка, буквы DE/FR не сжимаются */
.header-top__right .flags.flags--dropdown {
  flex: 0 0 auto;
  min-width: 3rem;
}

.header-top__right .flags.flags--dropdown .flags__toggle {
  min-width: 2.75rem;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}

.header-top__right .flags.flags--dropdown .flags__toggle .flag-icon,
.header-top__right .flags.flags--dropdown .flags__item,
.header-top__right .flags.flags--dropdown .flags__menu .flags__item,
.header-top__right .flags.flags--dropdown .flags__menu .flag-icon {
  width: 24px !important;
  height: 19px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  background-size: contain !important;
  background-position: 50% !important;
}

.header-top__right .flags.flags--dropdown .flag-icon:before {
  content: none !important;
  display: none !important;
}

.header-top__right .flags.flags--dropdown .flags__menu .flags__item.active {
  width: 24px !important;
  height: 19px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  padding: 0 !important;
  border: none !important;
  box-sizing: border-box !important;
  box-shadow: inset 0 -2px 0 #e3111a !important;
  background-size: contain !important;
}

@media (prefers-color-scheme: dark) {
  .header-bottom__content > .logo.logo--has-dark > .logo__img--light {
    display: none !important;
  }

  .header-bottom__content > .logo.logo--has-dark > .logo__img--dark {
    display: block !important;
  }
}

.items-list__sort > .view > .item.active svg rect,
.items-list__sort > .view > .item.active svg path {
  fill: var(--js-text-heading) !important;
}

footer,
.footer {
  background-color: var(--js-bg-page) !important;
  color: var(--js-text) !important;
}

footer a,
.footer a {
  color: var(--js-text-link) !important;
}

footer a:hover,
.footer a:hover {
  color: var(--js-accent-hover) !important;
}

@media (prefers-color-scheme: dark) {
  footer .footer-links > .title.footer-links__toggle,
  footer .footer-links > .title.footer-links__toggle .footer-links__label {
    color: var(--js-text-heading) !important;
  }

  footer .footer-links > .items > a,
  footer .footer-links > .items a {
    color: var(--js-text-muted) !important;
  }
}

/* Footer: 5 equal columns in one row */
@media (min-width: 769px) {
  footer .footer-cols {
    display: flex;
    flex-wrap: nowrap;
    margin-left: -8px;
    margin-right: -8px;
  }

  footer .footer-cols > .footer-col {
    flex: 1 1 0;
    max-width: 20%;
    width: 20%;
    padding-left: 8px;
    padding-right: 8px;
  }
}

@media (max-width: 768px) {
  footer .footer-cols > .footer-col {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }
}

/* Footer menu accordion (mobile) */
footer .footer-links {
  margin-bottom: 0.25rem;
}

footer .footer-links > .title.footer-links__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 0.65rem 0;
  border: 0;
  border-bottom: 1px solid var(--js-border);
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.9rem;
  font-weight: bold;
  text-align: left;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

footer .footer-links > .title.footer-links__toggle::after {
  content: "+";
  flex: 0 0 auto;
  margin-left: 0.75rem;
  font-weight: 400;
  font-size: 1.1rem;
  line-height: 1;
  color: var(--js-text-muted);
}

footer .footer-links.is-open > .title.footer-links__toggle::after {
  content: "\2212";
}

footer .footer-links > .items {
  padding: 0.35rem 0 0.75rem;
}

footer .footer-links--meta > .items .footer-stats {
  margin: 0;
  padding: 0;
}

footer .footer-links--meta > .title.footer-links__toggle .site-name {
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
}

@media (max-width: 768px) {
  footer .footer-links:not(.is-open) > .items {
    display: none;
  }
}

@media (min-width: 769px) {
  footer .footer-links {
    margin-bottom: 0;
  }

  footer .footer-links > .title.footer-links__toggle {
    padding: 0;
    margin-bottom: 0.4rem;
    border-bottom: 0;
    cursor: default;
    pointer-events: none;
  }

  footer .footer-links > .title.footer-links__toggle::after {
    display: none;
  }

  footer .footer-links > .items {
    display: block !important;
    padding: 0;
  }
}

/* Footer news rotator */
footer .footer-news {
  width: 100%;
}

footer .footer-news__viewport {
  position: relative;
  min-height: 4.2em;
}

footer .footer-news__item {
  display: none;
  font-size: 0.9rem;
  line-height: 1.4;
}

footer .footer-news__item.is-active {
  display: block;
}

footer .footer-news__item.is-hidden {
  display: none !important;
}

footer .footer-news__item > a,
footer .footer-news__item > span {
  display: block;
  white-space: normal;
  word-break: break-word;
}

/* Create/edit form: map tall enough for CH bounds; container follows .map */
.edit-form .map-container {
  height: auto !important;
  min-height: 0 !important;
}

.edit-form .map {
  height: 480px !important;
}

@media screen and (max-width: 768px) {
  .edit-form .map {
    height: 320px !important;
  }
}

/* Dark-only: surfaces that stay light-gray in base CSS */
@media (prefers-color-scheme: dark) {
  .items-list > .item,
  .filter,
  .user-menu,
  .edit-form,
  .reviews,
  .vip,
  .table tr,
  .detail-gallery,
  .bg-white,
  .bg-light,
  .chat,
  .chat-window,
  .message-list,
  .conversation {
    background-color: var(--js-bg-surface) !important;
    color: var(--js-text) !important;
  }

  /* jobaggregate: заголовки вакансий в списке */
  .jobaggregate-work__list a,
  .jobaggregate-work__list a:link,
  .jobaggregate-work__list a:visited,
  .jobaggregate-work__list .jobaggregate-work__title,
  .jobaggregate-work__list .jobaggregate-work__title:link,
  .jobaggregate-work__list .jobaggregate-work__title:visited {
    color: #ffffff !important;
  }

  .jobaggregate-work__list a:hover,
  .jobaggregate-work__list .jobaggregate-work__title:hover {
    color: #6aa6ff !important;
  }

  .jobaggregate-work__list .jobaggregate-work__meta,
  .jobaggregate-work__meta {
    color: #c8cdd6 !important;
  }

  /* /user/stat/: карточки и таблицы */
  .stat-card {
    background: var(--js-bg-surface) !important;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.45) !important;
    color: var(--js-text) !important;
  }

  .stat-card h3 {
    color: var(--js-text-heading) !important;
  }

  .stat-period a {
    border-color: var(--js-border) !important;
    color: var(--js-text-muted) !important;
    background: var(--js-bg-surface) !important;
  }

  .stat-period a.active {
    background: #ff9800 !important;
    color: #ffffff !important;
    border-color: #ff9800 !important;
  }

  .stat-table,
  .stat-table td {
    color: var(--js-text) !important;
  }

  .stat-table th {
    color: var(--js-text-placeholder) !important;
    border-bottom-color: var(--js-border) !important;
    background: var(--js-bg-surface) !important;
  }

  .stat-table td {
    border-bottom-color: #2a3345 !important;
  }

  .stat-num,
  .no-data {
    color: var(--js-text-muted) !important;
  }

  .items-list > .item .title {
    color: var(--js-text-heading) !important;
  }

  /* Цена на фото: плашка светлая — цифры тёмные (белый #fff был слишком светлым) */
  .items-list > .item > .image > .price,
  .items-list > .item .image .price {
    color: #212734 !important;
    background-color: #f0f0f0 !important;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.35) !important;
  }

  .items-list > .item > .image > .price .auction-icon,
  .items-list > .item .image .price .auction-icon {
    color: #4f4f4f !important;
  }

  /* Цена в list-режиме (без плашки на фото) */
  .items-list.--list > .item > .content > .price,
  .items-list > .item > .content > .price {
    color: var(--js-text) !important;
  }

  /* Навигация по фото: без светлой заливки у a.item, линия чуть темнее */
  .items-list > .item > .image > .images > .nav > .item {
    background: transparent !important;
    background-color: transparent !important;
    color: inherit !important;
  }

  .items-list > .item > .image > .images > .nav > .item > .line {
    background-color: #6b7280 !important;
  }

  .items-list > .item > .image > .images > .nav > .item:hover > .line {
    background-color: #3b8cff !important;
  }

  /* Search field border + action buttons */
  .header-bottom__content > .search > form > input,
  .header-bottom__content > .search > form > input:focus {
    border-color: #9aa1ae !important;
    color: #ffffff !important;
  }

  .header-bottom__content > .search > form > input::placeholder {
    color: #c8cdd6 !important;
  }

  .header-bottom__content > .search > form > .search__actions > button,
  .header-bottom__content > .search > form > .search__actions > a.add,
  .header-bottom__content > .search > .search__actions > button,
  .header-bottom__content > .search > .search__actions > a.add,
  .header-bottom__content > .search > a.add {
    color: #ffffff !important;
  }

  .header-bottom__content > .search > form > .search__actions > button,
  .header-bottom__content > .search > .search__actions > button {
    background: #3b8cff !important;
  }

  .header-bottom__content > .search > form > .search__actions > button:hover,
  .header-bottom__content > .search > .search__actions > button:hover {
    background: #6aa6ff !important;
  }

  .header-bottom__content > .search > form > .search__actions > a.add,
  .header-bottom__content > .search > .search__actions > a.add,
  .header-bottom__content > .search > a.add {
    background: #26b15d !important;
  }

  .header-bottom__content > .search > form > .search__actions > a.add:hover,
  .header-bottom__content > .search > .search__actions > a.add:hover,
  .header-bottom__content > .search > a.add:hover {
    background: #2fc56a !important;
  }

  /* Logo: no white plate; SVG has its own dark palette */
  .header-bottom__content > .logo {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
  }

  .header-bottom__content > .logo:hover {
    color: #ffffff !important;
  }

  /* 1. Header description title */
  .header-description,
  .header-description-summary,
  .header-description-summary__title {
    color: #ffffff !important;
  }

  .header-description-summary__icon,
  .header-description-summary__icon path,
  .header-description-summary__icon polygon {
    fill: #ffffff !important;
    stroke: #ffffff !important;
    color: #ffffff !important;
  }

  .header-description-details > .header-description-text {
    background: var(--js-bg-elevated) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text) !important;
  }

  .header-description-details > .header-description-text p,
  .header-description-text,
  .header-description-text p {
    color: #eceff4 !important;
  }

  /* 2. Burger menu lines */
  .menu-icon__item {
    background: #ffffff !important;
  }

  /* 3. Language flags toggle / arrow / icons */
  .flags.flags--dropdown .flags__toggle {
    color: #eceff4 !important;
  }

  .flags.flags--dropdown .flags__arrow {
    border-top-color: #eceff4 !important;
  }

  .flags.flags--dropdown .flags__toggle .flag-icon,
  .flags.flags--dropdown .flags__item,
  .flags > a.flag-icon,
  .flag-icon.flag-icon-de,
  .flag-icon.flag-icon-fr,
  .flag-icon.flag-icon-it,
  .flag-icon.flag-icon-gb,
  .flag-icon.flag-icon-en,
  .flag-icon.flag-icon-ru {
    filter: brightness(0) invert(1);
  }

  .flags.flags--dropdown .flags__menu {
    background: var(--js-bg-elevated) !important;
    border-color: var(--js-border) !important;
  }

  /* Sortierung block (opened) */
  .sort-block,
  .sort-block__top,
  .sort-toggle,
  .sort-toggle__label,
  .sort-toggle__arrow,
  .sort-block__panel,
  .items-list__by-categories,
  .items-list__by-categories label,
  .items-list__by-categories label > span {
    color: #ffffff !important;
  }

  .items-list__sort > .item > a,
  .items-list__sort > .item > a:hover,
  .items-list__sort > .item > a:visited {
    color: #eceff4 !important;
  }

  .items-list__sort > .item.active > a {
    color: #ffffff !important;
  }

  .items-list__sort > .view > .item svg,
  .items-list__sort > .view > .item svg path,
  .items-list__sort > .view > .item svg rect {
    fill: #c8cdd6 !important;
  }

  .items-list__sort > .view > .item.active svg path,
  .items-list__sort > .view > .item.active svg rect {
    fill: #ffffff !important;
  }

  /* 4. Product card meta: type / city / date (incl. inline color:#666) */
  .items-list > .item > .content > .location,
  .items-list > .item > .content > .location > .text,
  .items-list > .item > .content > .location > .text[style],
  .items-list > .item > .content > .location > .text div {
    color: #c8cdd6 !important;
  }

  .items-list > .item > .content > .location > .icon svg,
  .items-list > .item > .content > .location > .icon path {
    fill: #c8cdd6 !important;
    stroke: #c8cdd6 !important;
  }

  .properties .value a:not(.share-square) {
    color: #6aa6ff !important;
  }

  .properties .value a:not(.share-square):hover {
    color: #9bc4ff !important;
  }

  /* Detail: иконки с fill="#4F4F4F" (избранное, статистика и др.) */
  .detail-stat > .item > .icon svg,
  .detail-stat > .item > .icon svg path,
  .detail-stat > .item > .icon path,
  .detail-favourite:not(.active) svg path,
  .favourite-block svg path[fill="#4F4F4F"],
  .two-columns svg path[fill="#4F4F4F"],
  .properties svg path[fill="#4F4F4F"] {
    fill: #c8cdd6 !important;
  }

  /* top.menu / header: серые иконки (#4F4F4F / stroke #000) */
  .header-top__link .icon svg path[fill="#4F4F4F"],
  .cabinet-block .icon svg path[fill="#4F4F4F"],
  .header-top__right .icon svg path[fill="#4F4F4F"] {
    fill: #c8cdd6 !important;
  }

  .header-top__link .icon svg [stroke="#000"],
  .header-top__link .icon svg g[stroke="#000"],
  .cabinet-block .icon svg [stroke="#000"],
  .cabinet-block .icon svg g[stroke="#000"],
  .header-top__right .icon svg [stroke="#000"],
  .header-top__right .icon svg g[stroke="#000"] {
    stroke: #c8cdd6 !important;
  }

  .cabinet-toggle,
  .cabinet-toggle__label,
  .cabinet-toggle__arrow {
    color: #eceff4 !important;
  }

  .detail-stat > .item > .value,
  .detail-stat > .item > .value .timestamp {
    color: var(--js-text) !important;
  }

  /* Горизонтальные разделители: на тёмном фоне #f6f6f6 слишком яркий */
  .delimiter {
    background-color: var(--js-border) !important;
  }

  /* user.menu: разделители между пунктами */
  .inner-menu > .item:not(:last-child),
  .inner-menu > #categories-nav > .item:not(:last-child),
  .user-menu > .item:not(:last-child) {
    border-bottom-color: var(--js-border) !important;
  }

  .user-menu {
    border-color: var(--js-border) !important;
  }

  .user-menu > .item:hover {
    background: var(--js-bg-elevated) !important;
  }

  /* Рамка вокруг user.menu (._box > .inner-menu) */
  ._box {
    border-color: var(--js-border) !important;
  }

  ._box .inner-menu > .title > svg path {
    fill: #c8cdd6 !important;
  }
}

/* Detail page: properties follow theme tokens in both schemes */
.properties .item .name,
.properties > .item > .name,
.properties span.name,
.properties .name {
  color: var(--js-text-muted) !important;
}

.properties .item .value,
.properties > .item > .value,
.properties span.value,
.properties .value,
.properties .value *:not(a):not(svg):not(path) {
  color: var(--js-text-heading) !important;
}

/* Detail: строки свойств на всю ширину блока, текст переносится */
.properties,
.properties > .item {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.properties > .item,
.properties .item {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  white-space: normal !important;
  overflow: visible !important;
}

.properties .item .name,
.properties > .item > .name {
  display: block !important;
  flex: 0 0 20% !important;
  width: 20% !important;
  min-width: 20% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.properties .item .value,
.properties > .item > .value {
  display: block !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
}

.user-phone-search-form,
.user-phone-panel {
  background: #f5f5f5;
  padding: 20px;
  border-radius: 4px;
  margin-bottom: 20px;
}

.user-phone-panel {
  background: #ffffff;
  border: 1px solid #ddd;
}

.user-phone-search-form__field {
  margin-bottom: 15px;
}

.user-phone-search-form input[type="number"] {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box;
}

.user-phone-search-form__submit {
  background: #2196f3;
  color: #ffffff;
  border: none;
  padding: 10px 20px;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
}

.user-phone-panel__table {
  width: 100%;
  border-collapse: collapse;
}

.user-phone-panel__table td {
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.user-phone-status {
  font-weight: bold;
}

.user-phone-status--ok {
  color: #4caf50;
}

.user-phone-status--bad {
  color: #f44336;
}

@media (prefers-color-scheme: dark) {
  .user-phone-search-form,
  .user-phone-panel,
  .user-phone-verify-container .search-form {
    background: var(--js-bg-elevated) !important;
    background-color: var(--js-bg-elevated) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text) !important;
  }

  .user-phone-search-form h3,
  .user-phone-panel h3,
  .user-phone-verify-container .search-form h3 {
    color: var(--js-text-heading) !important;
  }

  .user-phone-search-form label,
  .user-phone-panel td,
  .user-phone-verify-container .search-form label {
    color: var(--js-text) !important;
  }

  .user-phone-search-form input[type="number"],
  .user-phone-verify-container .search-form input {
    background-color: var(--js-bg-input) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text-heading) !important;
  }

  .user-phone-panel__table td {
    border-bottom-color: var(--js-border) !important;
  }

  .user-phone-verify-container .user-info,
  .user-phone-verify-container .phone-info {
    background: var(--js-bg-elevated) !important;
    background-color: var(--js-bg-elevated) !important;
    border-color: var(--js-border) !important;
  }
}

/* Chat /user/direct/ — dark theme */
@media (prefers-color-scheme: dark) {
  .chat-container,
  .chat-main,
  .chat-main .chat-header,
  .chat-main .chat-input,
  .chat-sidebar .sidebar-header,
  .messages-window,
  .messages-window > .bottom,
  .advertisements-container {
    background: var(--js-bg-surface) !important;
    background-color: var(--js-bg-surface) !important;
    color: var(--js-text) !important;
  }

  .chat-container {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45) !important;
  }

  .chat-sidebar,
  .chat-messages,
  .chat-sidebar .search-box input,
  .user-group-header,
  .user-item {
    background: var(--js-bg-elevated) !important;
    background-color: var(--js-bg-elevated) !important;
    color: var(--js-text) !important;
  }

  .chat-sidebar,
  .chat-sidebar .sidebar-header,
  .chat-main .chat-header,
  .chat-main .chat-input,
  .chat-sidebar .user-item,
  .dialogs-window > .item:not(:last-child),
  .user-group-container,
  .user-group-header,
  .emoji-header,
  .file-preview-header,
  .user-info-header {
    border-color: var(--js-border) !important;
  }

  .chat-sidebar .user-item {
    border-bottom-color: var(--js-border) !important;
    border-left-color: var(--js-border) !important;
  }

  .chat-sidebar .user-item:hover,
  .chat-item:hover,
  .dialogs-window > .item:hover,
  .user-group-header:hover,
  .user-item:hover,
  .chat-main .action-btn:hover,
  .chat-main .input-actions button:hover,
  .attach-btn:hover,
  .close-btn:hover,
  .emoji-item:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
  }

  .chat-sidebar .user-item.active,
  .user-item.active,
  .chat-item.active {
    background: rgba(59, 140, 255, 0.18) !important;
    background-color: rgba(59, 140, 255, 0.18) !important;
    border-left-color: var(--js-accent) !important;
  }

  .chat-sidebar .search-box input,
  .chat-main .message-input textarea {
    background: var(--js-bg-input) !important;
    background-color: var(--js-bg-input) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text-heading) !important;
  }

  .chat-sidebar .search-box input:focus,
  .chat-main .message-input textarea:focus {
    background: var(--js-bg-input) !important;
    border-color: var(--js-accent) !important;
    color: var(--js-text-heading) !important;
  }

  .chat-sidebar .search-box input::placeholder,
  .chat-main .message-input textarea::placeholder {
    color: var(--js-text-placeholder) !important;
  }

  .chat-sidebar .search-box,
  .chat-sidebar .search-box svg,
  .chat-main .action-btn,
  .chat-main .input-actions button,
  .emoji-btn,
  .attach-btn,
  .chat-back-btn {
    color: var(--js-text-muted) !important;
  }

  .chat-sidebar .search-box svg,
  .chat-main .action-btn svg,
  .emoji-btn svg,
  .attach-btn svg {
    fill: currentColor !important;
    color: var(--js-text-muted) !important;
  }

  .chat-sidebar .search-box svg circle,
  .chat-sidebar .search-box svg path,
  .emoji-btn svg path,
  .attach-btn svg path,
  .chat-main .action-btn svg circle {
    stroke: currentColor;
    fill: currentColor;
  }

  .emoji-btn svg path[stroke],
  .chat-sidebar .search-box svg circle,
  .chat-sidebar .search-box svg path {
    fill: none;
  }

  .chat-sidebar .user-name,
  .chat-sidebar .user-info .user-name,
  .chat-main .user-details .user-name,
  .chat-main .user-details .user-name a,
  .chat-main .chat-header .user-name,
  .chat-main .chat-header .user-name.username,
  .chat-main .chat-header .user-name a,
  .chat-main .chat-header a.user-ad-link,
  .user-group-header .user-name,
  .user-group-header,
  .dialogs-window > .item > .content > .name,
  .emoji-header h4,
  .file-preview-header h4,
  .user-info-header h4,
  .chat-item.active .title,
  .chat-item:hover .preview-text {
    color: #ffffff !important;
  }

  .chat-main .chat-header .user-name a:hover,
  .chat-main .chat-header a.user-ad-link:hover {
    color: var(--js-accent-hover) !important;
  }

  .chat-sidebar .last-message,
  .chat-sidebar .user-info .last-message,
  .dialogs-window > .item > .content > .date,
  .dialogs-window > .item > .content > .name > span,
  .messages-window.open > .head > .head-top > .user > .status,
  .messages-window > .bottom > .loader-write,
  #messages-items .item .datetime,
  #messages-items .item .date,
  .chat-item.active .preview-text,
  .preview-text,
  .file-size,
  .close-btn,
  .user-group-header .expand-icon,
  .write.loader-write,
  .chat-main .user-details .user-status.offline {
    color: var(--js-text-muted) !important;
  }

  .chat-back-btn {
    background: var(--js-bg-elevated) !important;
    color: var(--js-text-heading) !important;
  }

  #messages-items .item.you .message,
  .chat-messages > .item.you > .message,
  .messages-window > .messages-list > .item > .message {
    background: var(--js-bg-muted) !important;
    background-color: var(--js-bg-muted) !important;
    color: var(--js-text-heading) !important;
  }

  #messages-items .item.you .bold {
    color: var(--js-text-heading) !important;
  }

  #messages-items .item.right .message,
  .chat-messages > .item.right > .message {
    background: var(--js-accent) !important;
    background-color: var(--js-accent) !important;
    color: #ffffff !important;
  }

  #messages-items .item.right .name {
    color: var(--js-accent) !important;
  }

  .messages-window > .messages-list > .item.right > .message {
    background-color: rgba(59, 140, 255, 0.35) !important;
    color: var(--js-text-heading) !important;
  }

  .chat-sidebar .message-counter,
  .users-list .user-item .message-counter {
    border-color: var(--js-bg-elevated) !important;
    box-shadow: 0 0 0 2px var(--js-bg-elevated) !important;
  }

  .chat-main .user-details .status-indicator {
    border-color: var(--js-bg-surface) !important;
  }

  .file-attachment {
    background: rgba(255, 255, 255, 0.08) !important;
  }

  .file-name {
    color: var(--js-accent-hover) !important;
  }

  .emoji-content,
  .file-preview-content,
  .user-info-content {
    background: var(--js-bg-surface) !important;
    color: var(--js-text) !important;
  }

  .loading-overlay {
    background: rgba(18, 22, 31, 0.8) !important;
  }

  .chat-container .preloader .load {
    color: var(--js-text-muted) !important;
  }

  .user-client__desc {
    color: var(--js-text-muted) !important;
  }

  .owner > .colored-name {
    color: #ffffff !important;
    border-color: var(--js-bg-surface) !important;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.45) !important;
  }

  /* Select2 dropdown: light panel inherits body light text — force dark option text */
  .select2-dropdown {
    background-color: #ffffff !important;
    border-color: var(--js-border) !important;
    color: #212734 !important;
  }

  .select2-results__option,
  .select2-container--default .select2-results__option,
  .select2-container--default .select2-results__option[aria-selected="true"],
  .select2-container--default .select2-results__option[aria-selected="false"] {
    color: #212734 !important;
    background-color: #ffffff !important;
  }

  .select2-container--default
    .select2-results__option--highlighted.select2-results__option--selectable,
  .select2-container--default
    .select2-results__option--highlighted[aria-selected],
  .select2-container--default .select2-results__option--highlighted {
    color: #ffffff !important;
    background-color: #3b8cff !important;
  }

  .select2-search--dropdown .select2-search__field {
    background-color: #ffffff !important;
    color: #212734 !important;
    border-color: #cccccc !important;
  }

  .visibility-options__desc,
  .visibility-options .visibility-options__desc {
    color: var(--js-text-muted) !important;
  }

  /* Mobile install modal: white panel inherits light body text */
  .js-mobile-install-modal__dialog,
  .js-mobile-install-modal__dialog h2,
  .js-mobile-install-modal__dialog ol,
  .js-mobile-install-modal__dialog li,
  .js-mobile-install-modal__dialog p,
  .js-mobile-install-modal__dialog strong {
    color: #212734 !important;
  }

  .js-mobile-install-modal__close {
    color: #475569 !important;
  }

  /* Filter checkboxes: unchecked were #212734 (чёрные) — сделать светлыми */
  .filter > .item > .dropdown > ul > li > label > .checkbox,
  .filter label > .checkbox {
    background-color: #eceff4 !important;
    border: 2px solid #9aa1ae !important;
  }

  .filter > .item > .dropdown > ul > li > label:hover input ~ .checkbox,
  .filter label:hover input ~ .checkbox {
    background-color: #ffffff !important;
  }

  .filter > .item > .dropdown > ul > li > label > input:checked ~ .checkbox,
  .filter label > input:checked ~ .checkbox {
    background-color: var(--js-accent) !important;
    border: none !important;
  }

  .filter > .item > .dropdown > ul > li > label > .checkbox:after,
  .filter label > .checkbox:after {
    background: #ffffff !important;
  }

  /* Horizontal filter bar: dark chips + dark dropdowns, light text */
  form.filter-form.filter-form--horizontal > .filter-bar .item--all-filters,
  form.filter-form.filter-form--horizontal .filter--horizontal > .item,
  form.filter-form.filter-form--horizontal .filter-bar__actions > .item {
    background: var(--js-bg-elevated) !important;
    background-color: var(--js-bg-elevated) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text-heading) !important;
  }

  form.filter-form.filter-form--horizontal
    > .filter-bar
    .item--all-filters:hover,
  form.filter-form.filter-form--horizontal .filter--horizontal > .item:hover,
  form.filter-form.filter-form--horizontal .filter-bar__actions > .item:hover,
  form.filter-form.filter-form--horizontal .filter--horizontal > .item.active {
    background: var(--js-bg-muted) !important;
    background-color: var(--js-bg-muted) !important;
    color: var(--js-text-heading) !important;
  }

  form.filter-form.filter-form--horizontal .filter--horizontal > .item > .title,
  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .title
    > .name,
  form.filter-form.filter-form--horizontal .filter-bar .item--all-filters,
  form.filter-form.filter-form--horizontal .filter-bar__actions > .item {
    color: var(--js-text-heading) !important;
  }

  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .title
    > svg,
  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .title
    > svg
    path,
  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .title
    > svg
    polygon {
    fill: var(--js-text-muted) !important;
    stroke: var(--js-text-muted) !important;
    color: var(--js-text-muted) !important;
  }

  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .dropdown,
  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .inputs,
  .filter > .item > .dropdown,
  .filter > .item > .inputs {
    background: var(--js-bg-surface) !important;
    background-color: var(--js-bg-surface) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
  }

  .filter > .item > .dropdown > ul > li > label,
  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .dropdown
    > ul
    > li
    > label,
  .filter > .item > .dropdown > ul > li,
  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .dropdown
    label {
    color: var(--js-text) !important;
  }

  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .inputs
    > div
    > input,
  .filter > .item > .inputs > div > input {
    background-color: var(--js-bg-input) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text-heading) !important;
  }

  form.filter-form.filter-form--horizontal
    .filter--horizontal
    > .item
    > .inputs
    > div
    > input::placeholder,
  .filter > .item > .inputs > div > input::placeholder {
    color: var(--js-text-placeholder) !important;
  }

  form.filter-form.filter-form--horizontal.filter-form--drawer-open
    .filter--horizontal,
  form.filter-form.filter-form--horizontal.filter-form--drawer-open
    .filter-drawer__head,
  form.filter-form.filter-form--horizontal.filter-form--drawer-open
    .filter-bar__actions {
    background: var(--js-bg-surface) !important;
    background-color: var(--js-bg-surface) !important;
    border-color: var(--js-border) !important;
    color: var(--js-text) !important;
  }

  form.filter-form.filter-form--horizontal.filter-form--drawer-open
    .filter-drawer__title,
  form.filter-form.filter-form--horizontal.filter-form--drawer-open
    .filter-drawer__close {
    color: var(--js-text-heading) !important;
  }

  form.filter-form.filter-form--horizontal.filter-form--drawer-open
    .filter--horizontal
    > .item {
    border-bottom-color: var(--js-border) !important;
    background: transparent !important;
    color: var(--js-text) !important;
  }

  form.filter-form.filter-form--horizontal.filter-form--drawer-open
    .filter-drawer__close:hover {
    background: var(--js-bg-elevated) !important;
  }

  /* Detail / auction: кнопки .write — тёмный фон, светлый текст */
  button.write,
  button.write._mt,
  #placeBidButton,
  #buyNowButton,
  #detailBuyNowButton,
  #complainButton,
  #contact-offerer-email-btn {
    background: var(--js-bg-elevated) !important;
    background-color: var(--js-bg-elevated) !important;
    color: var(--js-text-heading) !important;
    border-color: var(--js-border) !important;
  }

  button.write:hover,
  button.write._mt:hover,
  #placeBidButton:hover,
  #buyNowButton:hover,
  #detailBuyNowButton:hover,
  #complainButton:hover,
  #contact-offerer-email-btn:hover {
    background: #2c3548 !important;
    background-color: #2c3548 !important;
    color: #ffffff !important;
    border-color: #4a5568 !important;
  }

  button.apply {
    background: var(--js-bg-elevated) !important;
    background-color: var(--js-bg-elevated) !important;
    color: var(--js-text-heading) !important;
    border-color: var(--js-accent) !important;
  }

  button.apply:hover {
    background: var(--js-accent) !important;
    background-color: var(--js-accent) !important;
    color: #ffffff !important;
  }

  /* user.items.detail: .group, поля, кнопки, dropzone */
  .edit-form .group,
  .edit-form .form-group {
    color: #eceff4 !important;
  }

  .edit-form .group > label,
  .edit-form .group label,
  .edit-form .form-group > label,
  .edit-form .form-group label,
  .edit-form label {
    color: #c8cdd6 !important;
  }

  .edit-form .group input[type="text"],
  .edit-form .group input[type="email"],
  .edit-form .group input[type="tel"],
  .edit-form .group input[type="number"],
  .edit-form .group input[type="url"],
  .edit-form .group input[type="search"],
  .edit-form .group input[type="password"],
  .edit-form .group input.form-control,
  .edit-form .group textarea,
  .edit-form .group select,
  .edit-form .group .form-control,
  .edit-form .form-group input,
  .edit-form .form-group textarea,
  .edit-form .form-group select,
  .edit-form .form-group .form-control,
  .edit-form .form-group input.form-control,
  .edit-form .auction-section input,
  .edit-form .auction-section .form-control,
  .edit-form input[type="text"],
  .edit-form input[type="email"],
  .edit-form input[type="tel"],
  .edit-form input[type="number"],
  .edit-form input.form-control,
  .edit-form textarea,
  .edit-form select,
  .edit-form .form-control {
    background-color: #1a2030 !important;
    background: #1a2030 !important;
    color: #ffffff !important;
    border-color: #3a4255 !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  .edit-form .form-group input:disabled,
  .edit-form .form-group input[disabled],
  .edit-form .form-group .form-control:disabled,
  .edit-form .form-group .form-control[disabled],
  .edit-form .auction-section input:disabled,
  .edit-form .auction-section input[disabled],
  .edit-form .auction-section .form-control:disabled,
  .edit-form input:disabled,
  .edit-form input[disabled],
  .edit-form .form-control:disabled,
  .edit-form .form-control[disabled] {
    background-color: #232a3b !important;
    background: #232a3b !important;
    color: #c8cdd6 !important;
    -webkit-text-fill-color: #c8cdd6 !important;
    border-color: #3a4255 !important;
    opacity: 1 !important;
  }

  .edit-form .group input::placeholder,
  .edit-form .group textarea::placeholder,
  .edit-form input::placeholder,
  .edit-form textarea::placeholder {
    color: #9aa1ae !important;
    -webkit-text-fill-color: #9aa1ae !important;
  }

  .edit-form .group .price-default,
  .edit-form .group .price-default span,
  .edit-form .group .js-price-default-label,
  .edit-form .group .price-default__hint,
  .edit-form .price-default,
  .edit-form .price-default div,
  .edit-form .price-default span,
  .edit-form .price-default__hint {
    color: #c8cdd6 !important;
  }

  .edit-form .group .select2-container--default .select2-selection--single,
  .edit-form .group .select2-container--default .select2-selection--multiple,
  .edit-form .select2-container--default .select2-selection--single,
  .edit-form .select2-container--default .select2-selection--multiple,
  .edit-form .select2-selection,
  .edit-form .select2-selection__rendered {
    background-color: #1a2030 !important;
    background: #1a2030 !important;
    color: #ffffff !important;
    border-color: #3a4255 !important;
  }

  .edit-form
    .select2-container--default
    .select2-selection--single
    .select2-selection__placeholder {
    color: #9aa1ae !important;
  }

  .edit-form
    .select2-container--default
    .select2-selection--single
    .select2-selection__arrow
    b {
    border-color: #c8cdd6 transparent transparent transparent !important;
  }

  /* Заморозка active-item / auction-active / frozen-fields: вместо #f5f5f5 */
  .edit-form.active-item input[type="text"],
  .edit-form.active-item input[type="email"],
  .edit-form.active-item input[type="tel"],
  .edit-form.active-item input[type="number"],
  .edit-form.active-item input[type="password"],
  .edit-form.active-item input[type="url"],
  .edit-form.active-item input[type="search"],
  .edit-form.active-item input:not([type="hidden"]),
  .edit-form.active-item textarea,
  .edit-form.active-item select,
  .edit-form.active-item .form-control,
  .edit-form.active-item .select2-selection,
  .edit-form.active-item .select2-selection__rendered,
  .edit-form.auction-active input[type="text"],
  .edit-form.auction-active input:not([type="hidden"]),
  .edit-form.auction-active textarea,
  .edit-form.auction-active select,
  .edit-form.auction-active .form-control,
  .edit-form.auction-active .select2-selection,
  .edit-form.auction-active .select2-selection__rendered,
  .edit-form.frozen-fields input:not([type="hidden"]),
  .edit-form.frozen-fields textarea,
  .edit-form.frozen-fields select,
  .edit-form.frozen-fields .form-control,
  .edit-form.frozen-fields .select2-selection,
  .edit-form input[name="youtube"],
  .edit-form input[name="youtube"]:disabled,
  .edit-form input[name="youtube"][disabled] {
    background-color: #232a3b !important;
    background: #232a3b !important;
    color: #c8cdd6 !important;
    -webkit-text-fill-color: #c8cdd6 !important;
    border-color: #3a4255 !important;
    opacity: 1 !important;
  }

  .edit-form.active-item input::placeholder,
  .edit-form.auction-active input::placeholder,
  .edit-form.frozen-fields input::placeholder,
  .edit-form input:disabled::placeholder,
  .edit-form input[disabled]::placeholder,
  .edit-form input[name="youtube"]::placeholder,
  .edit-form input[name="youtube"]:disabled::placeholder {
    color: #9aa1ae !important;
    -webkit-text-fill-color: #9aa1ae !important;
    opacity: 1 !important;
  }

  .edit-form > h4,
  .edit-form h4 {
    color: #ffffff !important;
  }

  .detail-actions > form > button,
  .detail-actions > form > button._mt {
    background: #232a3b !important;
    background-color: #232a3b !important;
    color: #ffffff !important;
    border-color: #3a4255 !important;
  }

  .detail-actions > form > button:hover,
  .detail-actions > form > button._mt:hover {
    background: #2c3548 !important;
    background-color: #2c3548 !important;
    color: #ffffff !important;
    border-color: #4a5568 !important;
  }

  .detail-actions > form > input[type="text"],
  .detail-actions > form > input[name="promo"] {
    background-color: #1a2030 !important;
    color: #ffffff !important;
    border-color: #3a4255 !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  .detail-actions > form > input::placeholder {
    color: #9aa1ae !important;
    -webkit-text-fill-color: #9aa1ae !important;
  }

  .detail-actions .detail-attention {
    color: #c8cdd6 !important;
  }

  .edit-form > .upload-files,
  .edit-form .upload-files,
  .edit-form > .upload-files > .dz-default.dz-message,
  .edit-form > .upload-files > .dz-message,
  .dz-default.dz-message {
    background-color: #232a3b !important;
    background: #232a3b !important;
    border-color: #3a4255 !important;
    color: #c8cdd6 !important;
  }

  .edit-form > .upload-files:hover,
  .edit-form .upload-files:hover {
    background-color: #2c3548 !important;
    background: #2c3548 !important;
    color: #ffffff !important;
  }

  .edit-form .btn.btn-default,
  .edit-form button.btn-default,
  #resetLocationsBtn,
  #map-submit.btn-orange,
  .edit-form #map-submit,
  .edit-mode-toggle button {
    background: #232a3b !important;
    background-color: #232a3b !important;
    color: #ffffff !important;
    border-color: #3a4255 !important;
  }

  .edit-form .btn.btn-default:hover,
  #resetLocationsBtn:hover,
  #map-submit.btn-orange:hover,
  .edit-mode-toggle button:hover {
    background: #2c3548 !important;
    color: #ffffff !important;
  }

  .edit-form .bxlhe-frame,
  .edit-form .bxlhe-frame iframe {
    background-color: #1a2030 !important;
    border-color: #3a4255 !important;
    color: #ffffff !important;
  }

  /* Bitrix Light HTML Editor (user.create / user.items.detail) */
  div.bxlhe-frame,
  .edit-form div.bxlhe-frame {
    background: #1a2030 !important;
    background-color: #1a2030 !important;
    color: #eceff4 !important;
    border: 1px solid #3a4255 !important;
  }

  table.bxlhe-frame-table td,
  .edit-form table.bxlhe-frame-table td {
    background-color: #1a2030 !important;
  }

  table.bxlhe-frame-table td.bxlhe-editor-buttons,
  td.bxlhe-editor-cell,
  .edit-form table.bxlhe-frame-table td.bxlhe-editor-buttons,
  .edit-form td.bxlhe-editor-cell {
    background-color: #232a3b !important;
  }

  td.lhe-resize-row,
  .edit-form td.lhe-resize-row {
    background: #232a3b !important;
  }

  .lhe-stat-toolbar-cont {
    background: #232a3b !important;
    border-color: #3a4255 !important;
    border-bottom-color: #3a4255 !important;
  }

  /* LHE icons: тёмный спрайт → светлый на тёмном тулбаре */
  .lhe-stat-toolbar-cont .lhe-button,
  .lhe-stat-toolbar-cont img.lhe-button,
  .lhe-stat-toolbar-cont .lhe-button-cont img,
  table.bxlhe-frame-table td.bxlhe-editor-buttons .lhe-button {
    filter: invert(1) brightness(1.55) contrast(1.15) !important;
    border-color: transparent !important;
    opacity: 1 !important;
  }

  .lhe-button {
    border-color: transparent !important;
  }

  .lhe-stat-toolbar-cont .lhe-button-over,
  .lhe-stat-toolbar-cont .lhe-button-checked,
  .lhe-button-over,
  .lhe-button-checked {
    background-color: #3a4255 !important;
    border-color: #4a5568 !important;
    filter: invert(1) brightness(1.75) contrast(1.2) !important;
  }

  iframe.lha-iframe,
  .edit-form iframe.lha-iframe {
    background-color: #1a2030 !important;
  }

  .lha-textarea,
  .edit-form .lha-textarea {
    background-color: #1a2030 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  div.lhe-list-val-cont,
  .lhe-list-item-cont {
    background-color: #1a2030 !important;
    border-color: #3a4255 !important;
    color: #eceff4 !important;
  }

  .edit-form > .buttons > button.cancel,
  .edit-form > .buttons > button.edit {
    color: #ffffff !important;
  }

  .date-clear {
    color: #c8cdd6 !important;
  }

  .date-clear:hover {
    color: #ffffff !important;
  }

  /* BX.calendar (auction end date popup) */
  .bx-calendar,
  .bx-calendar-month-popup,
  .bx-calendar-year-popup,
  .popup-window:has(.bx-calendar),
  .popup-window-content:has(.bx-calendar),
  div[id^="calendar_popup_"],
  div[id^="calendar_popup_"] .popup-window-content {
    background: #1a2030 !important;
    background-color: #1a2030 !important;
    color: #eceff4 !important;
  }

  .bx-calendar {
    color: #eceff4 !important;
  }

  .bx-calendar-top-month,
  .bx-calendar-top-year,
  .bx-calendar-year-title,
  .bx-calendar-month-title,
  .bx-calendar-year-content,
  .bx-calendar-month-content,
  .bx-calendar-month,
  .bx-calendar-month:link,
  .bx-calendar-month:visited,
  .bx-calendar-year-number,
  .bx-calendar-year-number:link,
  .bx-calendar-year-number:visited,
  .bx-calendar-cell,
  .bx-calendar-cell:link,
  .bx-calendar-cell:visited,
  .bx-calendar-cell:active,
  .bx-calendar-AM-PM-text,
  .bx-calendar-button-text,
  .bx-calendar-form-text {
    color: #eceff4 !important;
  }

  .bx-calendar-top-month,
  .bx-calendar-top-year {
    color: #ffffff !important;
  }

  .bx-calendar-name-day,
  .bx-calendar-set-time,
  .bx-calendar-set-time:hover {
    color: #9aa1ae !important;
  }

  .bx-calendar-date-hidden,
  .bx-calendar-date-hidden:link,
  .bx-calendar-date-hidden:visited {
    color: #5a6270 !important;
  }

  .bx-calendar-weekend,
  .bx-calendar-weekend:link,
  .bx-calendar-weekend:visited {
    color: #ef9a9a !important;
  }

  .bx-calendar-cell:hover,
  .bx-calendar-top-month:hover,
  .bx-calendar-top-year:hover,
  .bx-calendar-month:hover,
  .bx-calendar-year-number:hover,
  .bx-calendar-left-arrow:hover,
  .bx-calendar-right-arrow:hover {
    background-color: #2c3548 !important;
    color: #ffffff !important;
  }

  .bx-calendar-active,
  .bx-calendar-active:hover {
    background-color: #3b8cff !important;
    color: #ffffff !important;
  }

  .bx-calendar-name-day-wrap {
    background-color: #232a3b !important;
  }

  .bx-calendar-range,
  .bx-calendar-set-time-wrap,
  .bx-calendar-year-content,
  .bx-calendar-month-content {
    border-color: #3a4255 !important;
  }

  .bx-calendar-form-input,
  .bx-calendar-year-input,
  .bx-calendar-month-input {
    background: #232a3b !important;
    background-color: #232a3b !important;
    border-color: #3a4255 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  .bx-calendar-form-arrow-top:hover i,
  .bx-calendar-form-arrow-bottom:hover i,
  .bx-calendar-form-close:hover i {
    background-color: #2c3548 !important;
  }

  .bx-calendar-month-active,
  .bx-calendar-month-active:link,
  .bx-calendar-month-active:visited,
  .bx-calendar-year-active,
  .bx-calendar-year-active:link,
  .bx-calendar-year-active:visited {
    color: #6aa6ff !important;
  }
}

.edit-form .price-default__hint {
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
}

.info-message,
.success-message,
.warning-message,
.danger-message {
  color: #ffffff !important;
}

.info-message a,
.success-message a,
.warning-message a,
.danger-message a,
.info-message > a,
.success-message > a,
.warning-message > a,
.danger-message > a {
  color: #ffffff !important;
}

/* Header mobile: Локация/Кабинет раскрываются строкой ниже; вторая открытая — ещё ниже */
@media screen and (max-width: 768px) {
  .header-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 0.45rem;
  }

  .header-top__left,
  .header-top__right,
  .location-block,
  .cabinet-block {
    display: contents;
  }

  .menu-icon {
    order: 1;
  }

  .location-toggle {
    order: 2;
  }

  .cabinet-toggle {
    order: 3;
    margin-left: auto;
  }

  .header-top__right .flags.flags--dropdown {
    order: 4;
    margin-left: 0.75rem;
  }

  .location-block.is-expanded > .location-block__items {
    display: flex !important;
    order: 10;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: flex-start;
  }

  .cabinet-block.is-expanded > .cabinet-block__items {
    display: flex !important;
    order: 11;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: flex-end;
  }

  .header-top.header-top--stack-location-last
    .location-block.is-expanded
    > .location-block__items {
    order: 12;
  }

  .header-top.header-top--stack-location-last
    .cabinet-block.is-expanded
    > .cabinet-block__items {
    order: 11;
  }

  .header-top.header-top--stack-cabinet-last
    .cabinet-block.is-expanded
    > .cabinet-block__items {
    order: 12;
  }

  .header-top.header-top--stack-cabinet-last
    .location-block.is-expanded
    > .location-block__items {
    order: 11;
  }
}

/* Create-ad / search actions outside form */
.header-bottom__content > .search {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap;
}
.header-bottom__content > .search > form {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: center !important;
}
.header-bottom__content > .search > .search__actions {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  position: relative;
  z-index: 6;
}
.header-bottom__content > .search > .search__actions > a.add,
.header-bottom__content > .search > a.add {
  flex: 0 0 auto !important;
  margin-left: 0.5rem !important;
  position: relative;
  z-index: 6;
  pointer-events: auto !important;
}

/* Card props line: truncate when it does not fit min card height */
.items-list > .item > .content > .location.item-props {
  min-width: 0;
  max-width: 100%;
}

.items-list > .item > .content > .location.item-props > .text {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
