/* Арабская версия sipwall.estate: разворот вёрстки справа налево (29.10.2026).
 *
 * Подключается только на страницах /ar/. Вёрстка зеркала написана под направление слева направо,
 * поэтому `dir="rtl"` сам по себе переворачивает текст, но оставляет на прежних местах отступы,
 * стрелки и порядок колонок. Этот слой доворачивает остальное.
 *
 * Правило работы: ничего не трогаем глобально, только внутри `[dir="rtl"]`. Так русская,
 * турецкая, английская и немецкая версии не могут пострадать.
 */

[dir="rtl"] body { text-align: right; }

/* Числа, цены, телефоны и адреса в арабском НЕ переворачиваются: оставляем им левое направление,
   иначе «+90 551» превращается в «551 90+», а «120 000 €» читается задом наперёд. */
[dir="rtl"] .ac-price,
[dir="rtl"] .ac-icons,
[dir="rtl"] .ac-dims,
[dir="rtl"] .est-table td:nth-child(2),
[dir="rtl"] a[href^="tel:"],
[dir="rtl"] a[href^="https://wa.me"],
[dir="rtl"] .price,
[dir="rtl"] .phone,
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="phone"],
/* 30.10.2026: счётчик кадров галереи «1 / 14» показывался как «14 / 1» — обе цифры
   сильные слева направо, а разделитель между ними нейтральный, и порядок брался от абзаца. */
[dir="rtl"] .swm-cnt {
  direction: ltr;
  unicode-bidi: embed;
  text-align: right;
}

/* Поля ввода: текст справа, подсказка тоже. */
[dir="rtl"] input[type="text"],
[dir="rtl"] input[type="search"],
[dir="rtl"] textarea,
[dir="rtl"] select { text-align: right; }
[dir="rtl"] input::placeholder,
[dir="rtl"] textarea::placeholder { text-align: right; }

/* Списки: маркеры и нумерация справа. */
[dir="rtl"] ul, [dir="rtl"] ol { padding-right: 22px; padding-left: 0; }

/* Стрелки «вперёд/назад» и шевроны смотрят в другую сторону. */
[dir="rtl"] .ac-open::after,
[dir="rtl"] .ao-chip svg,
[dir="rtl"] .site-crumbs span,
[dir="rtl"] .default-switch__arrow,
[dir="rtl"] .slick-prev,
[dir="rtl"] .slick-next { transform: scaleX(-1); }

/* Хлебные крошки и шапка: порядок элементов в строке. */
[dir="rtl"] .site-crumbs,
[dir="rtl"] .ao-crumbrow,
[dir="rtl"] .header__middel-socials-list,
[dir="rtl"] .ac-hero-row,
[dir="rtl"] .cooperation-form__item--check .default-select__checkboxs { flex-direction: row-reverse; }

/* Флажки и радиокнопки: квадратик справа от подписи. */
[dir="rtl"] .default-select__checkboxs label { flex-direction: row-reverse; justify-content: flex-end; }

/* Карточки каталога: подписи и значки по правому краю. */
[dir="rtl"] .ac-card,
[dir="rtl"] .ac-body,
[dir="rtl"] .ac-title { text-align: right; }
[dir="rtl"] .ac-tags { right: auto; left: 12px; }
[dir="rtl"] .pa-actions { left: auto; right: 12px; }

/* Таблицы характеристик объекта. */
[dir="rtl"] table th,
[dir="rtl"] table td { text-align: right; }

/* Фильтры и боковая колонка меняются местами с результатами. */
[dir="rtl"] .catalog-layout,
[dir="rtl"] .ac-layout { flex-direction: row-reverse; }

/* Подвал. */
[dir="rtl"] .footer__row,
[dir="rtl"] .footer__col { text-align: right; }

/* Плавающие кнопки связи: уводим к левому краю, чтобы не перекрывать текст. */
[dir="rtl"] .floating-contacts,
[dir="rtl"] .swe-chat-button { right: auto; left: 16px; }

/* Телефон: на узком экране колонки выстраиваются в столбец, разворот строк не нужен. */
@media (max-width: 767px) {
  [dir="rtl"] .catalog-layout,
  [dir="rtl"] .ac-layout,
  [dir="rtl"] .ac-hero-row { flex-direction: column; }

  /* 29.10.2026: полоса вкладок карточки шириной 872 px центрируется внутри прокрутки.
     На телефоне это оставляет пустое поле у правого края, а вторая вкладка обрезается за левым краем
     экрана. Прижимаем к началу строки — в арабском это правый край. */
  [dir="rtl"] .detail-card__header-list { min-width: 0; justify-content: flex-start; }
}

/* 29.10.2026, Андрей показал заголовок карточки: «Roys Oasis، 1+1، 57 м²» рассыпался — «م²»
   уехало в начало строки, а число осталось в конце. Так бывает всегда, когда в арабском абзаце
   стоит строка из латинского названия, цифр и арабской единицы: направление абзаца RTL
   переставляет куски местами.

   plaintext берёт направление каждой строки по её первому значащему символу: название,
   начинающееся латиницей, читается слева направо целиком; название, начинающееся по-арабски,
   остаётся справа налево. Поэтому правило безопасно для обоих случаев.
   Применяем только к названиям объектов и комплексов — к обычным абзацам нельзя: предложение,
   начатое словом SIPwall, развернулось бы целиком. */
[dir="rtl"] .detail-card__info-title,
[dir="rtl"] .default-card-title,
[dir="rtl"] .ac-title,
[dir="rtl"] .swe-crumbs span:last-child,
[dir="rtl"] .site-crumbs span:last-child {
  unicode-bidi: plaintext;
  text-align: right;
}

/* Текст названия часто лежит внутри ссылки, а не в самом блоке: на блоке plaintext не срабатывает,
   потому что абзац собирается из всего содержимого. Поэтому то же свойство и на самой ссылке. */
[dir="rtl"] .detail-card__info-title a,
[dir="rtl"] .default-card-title a,
[dir="rtl"] .ac-title a,
[dir="rtl"] a.ac-title {
  unicode-bidi: plaintext;
}

/* 30.10.2026. Заголовки и подписи, которым исходные стили жёстко задают выключку влево:
   на арабской версии они стояли слева, пока абзацы рядом шли справа. Перечисляем точечно,
   а не ставим общее правило: часть выключек влево на странице относится к латинице
   (карта Яндекса, технические подписи) и трогать их не нужно.
   Важность нужна по двум причинам: часть этих правил в снимке сама стоит с !important,
   а часть лежит в <style> внутри страницы — то есть ниже нашего файла и при равной
   специфичности выигрывает по порядку. */
[dir="rtl"] .top-section__row h1,
[dir="rtl"] .vakancy__row-rigth-content h2,
[dir="rtl"] .article-card__title,
[dir="rtl"] .detail-card__info__items-title,
[dir="rtl"] .detail-card__info__items__main-left,
[dir="rtl"] .swe-doc h1,
[dir="rtl"] .swe-doc h2,
[dir="rtl"] .swe-build__title,
[dir="rtl"] .swt__title,
[dir="rtl"] .hdr-switch__value,
[dir="rtl"] .why-we__advantages-text,
[dir="rtl"] .live-home-benefit,
[dir="rtl"] label.default-select__checkboxs,
[dir="rtl"] .accept_policy {
  text-align: right !important;
}

/* Согласие под формой и строка «ответственного за данные» в подвале юридических страниц
   приходят из снимка с инлайновым text-align: left — перебить их можно только важностью. */
[dir="rtl"] label.sw-consent,
[dir="rtl"] .footer__bottom-line__list p,
[dir="rtl"] .footer__bottom-line__list li {
  text-align: right !important;
}

/* Ссылки на юридические документы в подвале и подпись о форматах файла в форме загрузки:
   выключка задана на самой ссылке/подписи, родитель уже развёрнут. */
[dir="rtl"] .footer__bottom-line__list a,
[dir="rtl"] .ac-ownactions span,
[dir="rtl"] .ao-mini,
[dir="rtl"] .faqhead,
[dir="rtl"] .pack,
/* кнопки городов в подвале видны только на рабочем столе — на мобильной ширине их нет */
[dir="rtl"] .footer__city-button {
  text-align: right !important;
}

/* 30.10.2026. Галерея объекта в арабской версии показывала пустое место: слайдер slick
   считает сдвиг дорожки как для письма слева направо (translateX(-373px)), а при rtl
   дорожка раскладывается в другую сторону — и текущий кадр уезжал за экран целиком.
   Возвращаем самой дорожке направление слева направо: порядок кадров тот же, что на
   остальных языках, а это и нужно — кадры не текст. Стрелки и подписи вокруг остаются RTL. */
[dir="rtl"] .slick-list,
[dir="rtl"] .slick-track {
  direction: ltr;
}

/* 31.10.2026. Приманка для спам-ботов — скрытое поле `website` — спрятана инлайновым
   стилем `position:absolute; left:-9999px`. При письме слева направо такой выезд за левый
   край браузер обрезает, а при rtl левый край становится концом строки, и выезд делается
   прокручиваемым: страница `/houses/request/` на 375 px ехала вправо на 9999 px, вся
   вёрстка уходила за экран. Зеркалить смещение бесполезно: браузер считает прокручиваемую
   область по крайним точкам в обе стороны. Поэтому убираем смещение совсем и прячем поле
   обрезкой: оно остаётся в потоке, 1×1 px, прозрачное, вне обхода табуляцией — приманка
   работает, бот её по-прежнему заполнит, а вёрстка не едет. */
[dir="rtl"] input[name="website"][aria-hidden="true"] {
  left: 0 !important;
  right: auto !important;
  clip-path: inset(50%) !important;
}
