/* RealityHost: адаптивность сайта под все ширины экрана (14.11.2026).
   Подключает mu-plugin realityhost-responsive.php после стилей Elementor; откат: удалить плагин и этот файл. */

/* ---------- большие мониторы: страница масштабируется целиком, а не стоит узкой колонкой ---------- */
@media (min-width: 1600px) { html { zoom: 1.1; } }
@media (min-width: 1800px) { html { zoom: 1.25; } }
@media (min-width: 2100px) { html { zoom: 1.4; } }
@media (min-width: 2400px) { html { zoom: 1.6; } }
@media (min-width: 2880px) { html { zoom: 1.9; } }
@media (min-width: 3400px) { html { zoom: 2.3; } }

/* ---------- поля по краям: текст не прилипает к краю экрана ---------- */
@media (max-width: 767px) {
  body .elementor .e-con.e-parent { --padding-left: 16px !important; --padding-right: 16px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body .elementor .e-con.e-parent { --padding-left: 28px !important; --padding-right: 28px !important; }
}

/* ---------- шапка: меню-бургер на телефоне и планшете ---------- */
@media (max-width: 1024px) {
  .elementor-location-header .elementor-element-6d5b01c { position: relative; }
  .elementor-location-header .elementor-element-6d5b01c > .e-con-inner { position: static; flex-wrap: nowrap !important; align-items: center; gap: 12px; }
  .elementor-location-header .elementor-element-b5a0bd5 { flex-direction: row !important; align-items: center !important; gap: 10px; }
  .elementor-location-header .elementor-element-f9f9486 { display: flex !important; order: 3; flex: 0 0 auto !important; width: auto !important; position: static !important; }
  .elementor-location-header .elementor-element-2d39bf7 { position: static !important; width: auto !important; }
  .elementor-location-header .elementor-element-2d39bf7 .elementor-nav-menu--main { display: none !important; }
  .elementor-location-header .elementor-element-2d39bf7 .elementor-menu-toggle { display: flex !important; margin: 0; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 10px; background: transparent; color: #15192b; font-size: 24px; }
  .elementor-location-header .elementor-element-2d39bf7 .elementor-menu-toggle:focus-visible { outline: 2px solid #ff5a4d; outline-offset: 2px; }
  .elementor-location-header .elementor-element-2d39bf7 .elementor-nav-menu--dropdown { display: block !important; position: absolute !important; left: 0; right: 0; top: 100%; width: auto !important; margin: 0 !important; z-index: 9999; background: #fff; border-top: 1px solid #e7e9f1; box-shadow: 0 18px 30px -18px rgba(21, 25, 43, .35); border-radius: 0 0 14px 14px; }
  .elementor-location-header .elementor-element-2d39bf7 .elementor-nav-menu--dropdown a.elementor-item { padding: 14px 24px !important; font-size: 17px !important; font-weight: 600; color: #15192b !important; background: transparent !important; justify-content: flex-start; border: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
  .elementor-location-header .elementor-element-2d39bf7 .elementor-nav-menu--dropdown a.elementor-item:hover,
  .elementor-location-header .elementor-element-2d39bf7 .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active { color: #ff5a4d !important; }
  .elementor-location-header .elementor-element-48dcc7f { margin-left: auto !important; width: auto !important; flex: 0 0 auto !important; flex-wrap: nowrap !important; align-items: center; gap: 8px !important; }
  .elementor-location-header .elementor-element-b5a0bd5 { flex: 0 1 auto !important; min-width: 0; }
  /* верхняя строка: на планшете убираем второстепенный пункт */
  .elementor-location-header .elementor-element-37acce5 { display: none !important; }
}
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-f38a0a6 { display: none !important; }
  .elementor-location-header .elementor-element-2ebeb18 { display: none !important; }
}
@media (max-width: 1024px) {
  .elementor-location-header .elementor-element-2d39bf7 { --toggle-icon-color: #15192b; --toggle-icon-hover-color: #ff5a4d; }
  .elementor-location-header .elementor-element-2d39bf7 .elementor-menu-toggle svg { fill: currentColor !important; width: 24px; height: 24px; }
  html[data-theme="dark"] .elementor-location-header .elementor-element-2d39bf7 { --toggle-icon-color: #e8ebf2; }
  html[data-theme="dark"] .elementor-location-header .elementor-element-2d39bf7 .elementor-menu-toggle { color: #e8ebf2 !important; }
}
html[data-theme="dark"] .elementor-location-header .elementor-element-2d39bf7 .elementor-nav-menu--dropdown { background: #151a2a; border-top-color: #272e45; }
html[data-theme="dark"] .elementor-location-header .elementor-element-2d39bf7 .elementor-nav-menu--dropdown a.elementor-item { color: #e8ebf2 !important; }

/* ---------- первый экран: плашки не рвутся, на планшете колонки встают друг под друга ---------- */
.elementor-element-36ad73a { flex-wrap: wrap !important; }
.elementor-element-36ad73a .elementor-heading-title { white-space: nowrap; }
.elementor-element-36ad73a > .e-con { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; width: auto !important; }
@media (max-width: 767px) {
  .elementor-element-9117e97 .e-con:has(> .elementor-widget-text-editor.elementor-widget__width-auto),
  .elementor-element-791d081 .e-con:has(> .elementor-widget-text-editor.elementor-widget__width-auto) { flex-wrap: nowrap !important; gap: 14px !important; justify-content: space-between; }
}
@media (min-width: 768px) and (max-width: 900px) {
  .elementor-element-9117e97 > .e-con-inner, .elementor-element-791d081 > .e-con-inner { flex-direction: column !important; }
  .elementor-element-9117e97 > .e-con-inner > .e-con, .elementor-element-791d081 > .e-con-inner > .e-con { width: 100% !important; max-width: 100% !important; --width: 100% !important; }
}

/* ---------- текст и колонка характеристик рядом: на планшете друг под другом ---------- */
@media (max-width: 900px) {
  .elementor-element-35c65b3 > .e-con-inner { flex-direction: column !important; }
  .elementor-element-35c65b3 > .e-con-inner > .e-con { width: 100% !important; max-width: 100% !important; --width: 100% !important; }
}

/* ---------- ряды карточек на планшете: сетка по две / по три вместо четырёх-шести в линию ---------- */
@media (min-width: 768px) and (max-width: 900px) {
  .elementor-element-374ce5c > .e-con-inner, .elementor-element-6511837 > .e-con-inner, .elementor-element-489d536 > .e-con-inner,
  .elementor-element-edf42fb > .e-con-inner, .elementor-element-860858a, .elementor-element-1a2bb16 {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--row-gap, 20px) var(--column-gap, 20px) !important; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .elementor-element-860858a { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--row-gap, 20px) var(--column-gap, 20px) !important; }
}
.elementor-element-374ce5c > .e-con-inner > .e-con, .elementor-element-6511837 > .e-con-inner > .e-con, .elementor-element-489d536 > .e-con-inner > .e-con,
.elementor-element-edf42fb > .e-con-inner > .e-con, .elementor-element-860858a > .e-con, .elementor-element-1a2bb16 > .e-con { min-width: 0; }
@media (min-width: 768px) and (max-width: 1100px) {
  .elementor-element-374ce5c > .e-con-inner > .e-con, .elementor-element-6511837 > .e-con-inner > .e-con, .elementor-element-489d536 > .e-con-inner > .e-con,
  .elementor-element-edf42fb > .e-con-inner > .e-con, .elementor-element-860858a > .e-con, .elementor-element-1a2bb16 > .e-con { width: auto !important; max-width: none !important; --width: auto !important; }
}

/* ---------- подвал: строка с документами переносится, а не сжимается ---------- */
@media (max-width: 1024px) {
  .elementor-element-1256055 > .e-con-inner { flex-wrap: wrap !important; row-gap: 12px; }
  .elementor-element-f56dbfa { flex-wrap: wrap !important; width: 100% !important; max-width: 100% !important; justify-content: flex-start !important; gap: 8px 20px !important; }
  .elementor-element-f56dbfa > * { width: auto !important; }
  .elementor-element-f56dbfa .elementor-heading-title, .elementor-element-f56dbfa a { white-space: nowrap; }
}

/* ---------- метки наличия: на узких карточках встают на рамку и не закрывают название ---------- */
@media (max-width: 1024px) {
  .price-card.rh-preorder::after, .price-card.rh-soldout::after { top: -11px !important; right: 16px !important; }
}

/* ---------- телефон: заголовки нижних текстовых блоков главной в одном размере с остальными ---------- */
@media (max-width: 767px) {
  .elementor-element-9cb6b03 .elementor-heading-title, .elementor-element-f0be264 .elementor-heading-title, .elementor-element-466f565 .elementor-heading-title { font-size: 24px !important; line-height: 1.2 !important; }
}
