﻿/* Дополнения к фирменному custom.css.
   Палитра старого сайта: текст #292929, акцент #fede00/#FFCC00, тёмный #2c2c2c. */

/* ============ НОВАЯ ШАПКА (rmb-*): одинаковая на обоих городах ============ */
.rmb-header { background: #101010; }

/* Верхняя тонкая полоса: часы слева, телефоны справа */
.rmb-topbar { background: #000; border-bottom: 1px solid #1f1f1f; }
.rmb-topbar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 15px; flex-wrap: wrap; }
.rmb-hours { color: #e2e2e2; font-size: 15px; }
.rmb-hours i { color: #fede00; margin-right: 6px; }
.rmb-topbar-phones { display: flex; gap: 26px; flex-wrap: wrap; }
.rmb-top-phone { display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important; font-size: 15px; white-space: nowrap; }
.rmb-top-phone i { color: #25D366; font-size: 19px; }
.rmb-top-phone-label { color: #b5b5b5; }
.rmb-top-phone b { color: #ffd200; font-size: 16px; letter-spacing: .3px; }
.rmb-top-phone:hover b { color: #fff; }

/* Средняя строка: логотип + кнопка города + язык */
.rmb-header-main { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 15px; }
.rmb-logo img { height: 86px; width: auto; display: block; filter: drop-shadow(0 2px 10px rgba(254,222,0,.25)); transition: transform .25s; }
.rmb-logo:hover img { transform: scale(1.03); }
.rmb-header-right { display: flex; align-items: center; gap: 18px; }
.rmb-city-btn {
  display: inline-flex; align-items: center; gap: 9px;
  background: #fede00; color: #111 !important; font-weight: 800; font-size: 16px;
  padding: 13px 26px; border-radius: 28px; text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(254,222,0,.3); transition: all .2s; white-space: nowrap;
}
.rmb-city-btn:hover { background: #ffe84d; transform: translateY(-1px); box-shadow: 0 6px 22px rgba(254,222,0,.45); }

/* Нижняя строка: меню */
.rmb-nav { background: #191919; position: sticky; top: 0; z-index: 1100; }
/* JS-фиксация меню при скролле. Селектор с id: legacy-compat задаёт
   #slidemenu { position: relative } (ID сильнее класса) — перебиваем. */
#slidemenu.rmb-nav--fixed, .rmb-nav--fixed {
  position: fixed !important; top: 0; left: 0; right: 0; width: 100%;
  z-index: 1100; box-shadow: 0 3px 10px rgba(0,0,0,.35);
}
.rmb-nav-list { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.rmb-nav-list li { margin: 0; }
.rmb-nav-list a {
  display: block; color: #f2f2f2; text-decoration: none !important;
  padding: 17px 24px; font-weight: 700; font-size: 16px;
  transition: color .2s, background .2s, box-shadow .2s;
}
.rmb-nav-list a:hover { color: #fede00; background: #232323; box-shadow: inset 0 -3px 0 #fede00; }
.rmb-nav-list li.active a { color: #111; background: #fede00; }

/* Бургер для мобильных */
.rmb-burger { display: none; background: #fede00; border: 0; border-radius: 8px; padding: 10px 11px; cursor: pointer; }
.rmb-burger span { display: block; width: 22px; height: 3px; background: #111; margin: 4px 0; border-radius: 2px; }
@media (max-width: 991px) {
  body { overflow-x: hidden; }
  .rmb-burger { display: block; order: 2; }
  .rmb-logo { order: 1; }
  /* На телефоне шапка в две строки: логотип+бургер сверху, город+языки снизу —
     иначе флаги уезжали за правый край экрана и язык было не выбрать */
  .rmb-header-main { flex-wrap: wrap; gap: 10px; padding: 12px 15px; }
  .rmb-header-right {
    order: 3; flex: 1 1 100%; justify-content: space-between; gap: 10px;
    flex-wrap: wrap;
  }
  .rmb-city-btn { padding: 8px 14px; font-size: 13px; }
  .rmb-logo img { height: 48px; }
  .rmb-nav { display: none; }
  .rmb-nav.open { display: block; }
  .rmb-nav-list { flex-direction: column; }
  .rmb-topbar-phones { gap: 10px; }
  .rmb-hours { display: none; }
  .rmb-top-phone-label { display: none; }  /* телефоны компактнее, чтобы влезали */
}

/* --- (старые переопределения шапки ниже больше не задействованы: разметка сменилась) --- */
header.page-header {
  position: sticky !important; top: 0; left: 0; right: 0; z-index: 1100;
  background: #0d0d0d !important; height: auto !important; min-height: 0 !important;
  box-shadow: 0 3px 18px rgba(0,0,0,.5);
  border-bottom: 0 !important;
}
header.page-header #panel { display: none; }
header.page-header .navbar { position: static !important; margin: 0 !important; border: 0 !important; min-height: 0 !important; background: transparent !important; }
header.page-header .header-row {
  display: flex !important; align-items: center; justify-content: space-between;
  gap: 24px; padding: 22px 0 18px; position: static !important; height: auto !important;
}
header.page-header .logo { position: static !important; float: none !important; padding: 0 !important; margin: 0 !important; }
header.page-header .logo img { height: 84px; width: auto !important; display: block; filter: drop-shadow(0 2px 8px rgba(254,222,0,.25)); }
header.page-header .header-right {
  display: flex !important; flex-direction: column; align-items: flex-end; gap: 12px;
  position: static !important; float: none !important; width: auto !important; padding: 0 !important;
}
header.page-header .header-right-top,
header.page-header .header-right-bottom {
  display: flex !important; align-items: center; gap: 18px;
  position: static !important; float: none !important; height: auto !important; padding: 0 !important;
}
header.page-header .address { color: #fff !important; font-size: 15px; font-weight: 600; position: static !important; padding: 0 !important; }
header.page-header .header-phone { text-align: right; font-size: 16px; line-height: 1.9; position: static !important; padding: 0 !important; white-space: nowrap; width: auto !important; max-width: none !important; }
header.page-header .header-phone .text { color: #d9d9d9; margin-right: 8px; text-transform: none; font-size: 13px; font-weight: 600; white-space: nowrap; }
header.page-header .header-phone a { text-decoration: none; white-space: nowrap; }
header.page-header .header-phone .code { color: #ffd200; font-weight: 800; font-size: 17px; letter-spacing: .3px; white-space: nowrap; }
header.page-header .header-phone a:hover .code { color: #fff; }
header.page-header .button-header-rent { position: static !important; margin: 0 !important; width: auto !important; height: auto !important; }
header.page-header .button-header-rent a {
  display: inline-block; background: #fede00; color: #111; font-weight: 800;
  padding: 10px 22px; border-radius: 8px; text-decoration: none; font-size: 15px;
  white-space: nowrap; width: auto !important; height: auto !important; line-height: 1.4 !important;
  transform: skew(-8deg); transition: background .2s, transform .2s, box-shadow .2s;
  box-shadow: 0 4px 14px rgba(254,222,0,.35);
}
header.page-header .button-header-rent a:hover { background: #ffe84d; transform: skew(-8deg) scale(1.05); box-shadow: 0 6px 20px rgba(254,222,0,.5); }
header.page-header .navbar-toggle { display: none; }
/* Меню-полоса под шапкой */
header.page-header #slidemenu,
#slide-nav #slidemenu {
  position: static !important; background: #0d0d0d !important; margin: 0 !important;
  border: 0 !important; border-radius: 0;
  overflow: visible !important; height: auto !important; max-height: none !important;
}
header.page-header #slidemenu::-webkit-scrollbar { display: none; }
header.page-header .header-right-top__split { display: none !important; }
header.page-header .address { background: none !important; width: auto !important; height: auto !important; border: 0 !important; }
header.page-header .button-header-rent-xs { background: none !important; }
header.page-header #slidemenu .row, header.page-header #slidemenu .col-md-11 { margin: 0 !important; padding: 0 !important; width: 100% !important; }
header.page-header .navbar-nav { display: flex !important; flex-wrap: wrap; float: none !important; margin: 0 !important; }
header.page-header .navbar-nav > li { float: none !important; }
header.page-header .navbar-nav > li > a {
  color: #fff !important; text-decoration: none; padding: 16px 20px !important;
  font-weight: 700; font-size: 15px; display: block; background: transparent !important;
  border: 0 !important; transition: color .2s, background .2s, box-shadow .2s;
}
header.page-header .navbar-nav > li > a:hover { color: #fede00 !important; background: #262626 !important; box-shadow: inset 0 -3px 0 #fede00; }
header.page-header .navbar-nav > li.active > a { color: #111 !important; background: #fede00 !important; }
@media (max-width: 991px) {
  header.page-header .navbar-toggle { display: block !important; position: static !important; background: #fede00; border-radius: 6px; margin: 0; }
  header.page-header .header-right-top { display: none !important; }
  header.page-header .header-phone { display: none; }
  header.page-header .logo img { height: 46px; }
  header.page-header #slidemenu .navbar-nav { flex-direction: column; }
}

/* --- Герой на главной --- */
.rmb-hero {
  position: relative;
  /* Без фотографий: чистый тёмный фон с лёгким жёлтым отсветом в углу */
  background:
    radial-gradient(900px 420px at 85% 15%, rgba(254,222,0,.10), transparent 60%),
    linear-gradient(135deg, #181818 0%, #101010 55%, #161616 100%);
  color: #fff; padding: 96px 0;
}
.rmb-hero-inner { position: relative; }
.rmb-hero h1 { color: #fff; font-size: 42px; line-height: 1.15; margin: 0 0 14px; font-weight: 800; }
.rmb-hero-sub { font-size: 18px; max-width: 700px; opacity: .92; }
.rmb-hero-actions { margin-top: 26px; display: flex; gap: 14px; flex-wrap: wrap; }
@media (max-width: 767px) { .rmb-hero { padding: 52px 0; } .rmb-hero h1 { font-size: 28px; } }

/* --- Сетка каталога: ровные карточки одинаковой высоты --- */
.prd-grid--modern { display: flex !important; flex-wrap: wrap; gap: 26px; justify-content: center; }
.prd-grid--modern .prd {
  width: 262px !important; margin: 0 !important; float: none !important;
  background: #fff; border: 1px solid #ececec; border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column; text-align: center;
  transition: transform .25s ease, box-shadow .25s ease;
}
.prd-grid--modern .prd:hover { transform: translateY(-6px); box-shadow: 0 14px 34px rgba(0,0,0,.14); }
.prd-grid--modern .prd-img { height: 195px; overflow: hidden; background: #fff; padding: 8px; }
.prd-grid--modern .prd-img img {
  width: 100%; height: 100%; object-fit: contain; display: block;
  transition: transform .45s ease;
}
.prd-grid--modern .prd:hover .prd-img img { transform: scale(1.06); }
.prd-grid--modern .prd-info { display: flex; flex-direction: column; flex: 1; padding: 0 10px 18px; }
.prd-grid--modern .prd-info h3 { font-size: 17px; margin: 14px 4px 6px; line-height: 1.3; min-height: 44px; }
.prd-grid--modern .prd-info h3 a { text-decoration: none; }
.prd-grid--modern .prd-price { font-weight: 800; margin-bottom: 12px; font-size: 15px; }
.prd-grid--modern .prd-btn { min-width: 150px; padding: 12px 18px; margin: auto auto 0; }

/* --- Галерея карточки --- */
.rmb-gallery-main { border: 1px solid #eee; border-radius: 10px; overflow: hidden; background: #fafafa; }
.rmb-gallery-main img { width: 100%; max-height: 460px; object-fit: contain; display: block; }
.rmb-gallery-thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
/* !important — старый CSS растягивает любые img внутри .post-image на 100% */
.blog-post .post-image .rmb-gallery-thumbs img, .rmb-gallery-thumbs img {
  width: 84px !important; height: 64px !important; max-width: 84px !important;
  object-fit: cover; cursor: pointer; border: 2px solid transparent; border-radius: 6px;
  opacity: .8; transition: all .2s; display: inline-block;
}
.rmb-gallery-thumbs img.active, .rmb-gallery-thumbs img:hover { border-color: #fede00 !important; opacity: 1; }

/* Правая колонка карточки: таблица цен не должна вылезать за край */
.product-block-info { width: 100% !important; max-width: 100% !important; padding: 0 !important; overflow: hidden; }
.product-block-info table { width: 100% !important; table-layout: fixed; }
.product-block-info table th, .product-block-info table td { padding: 8px 10px !important; }
.product-block-info .cell-marker { width: 42% !important; text-align: right; }

/* Доставка на карточке: место слева, цена справа, ничего не режется */
.rmb-delivery-list { margin: 6px 0 4px; }
.rmb-delivery-row { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px dashed #e8e8e8; font-size: 14px; }
.rmb-delivery-row:last-child { border-bottom: 0; }
.rmb-delivery-place { color: #333; }
.rmb-delivery-cost { font-weight: 700; white-space: nowrap; }

.rmb-news-count { color: #888; font-size: 14px; margin: 0 0 16px; }

/* --- Статьи --- */
.rmb-articles { display: flex; flex-wrap: wrap; gap: 26px; }
.rmb-article-card {
  width: calc(33.33% - 18px); min-width: 260px; border: 1px solid #ececec; border-radius: 10px;
  overflow: hidden; background: #fff; text-decoration: none !important; display: flex; flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease;
}
.rmb-article-card:hover { transform: translateY(-6px); box-shadow: 0 14px 34px rgba(0,0,0,.14); }
.rmb-article-img { height: 185px; overflow: hidden; background: #f3f3f3; display: flex; align-items: center; justify-content: center; }
.rmb-article-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s ease; }
.rmb-article-card:hover .rmb-article-img img { transform: scale(1.06); }
.rmb-article-noimg { font-size: 54px; opacity: .35; }
.rmb-article-body { padding: 14px 16px 18px; display: flex; flex-direction: column; flex: 1; }
.rmb-article-date { display: inline-block; font-size: 12px; color: #9a8400; background: #fff6c4; padding: 2px 10px; border-radius: 10px; margin-bottom: 8px; font-weight: 700; }
.rmb-article-body h3 { font-size: 17px; line-height: 1.35; margin: 0 0 8px; }
.rmb-article-body p { color: #666; font-size: 14px; }
.rmb-article-more { color: #b89b00; font-weight: 700; font-size: 14px; margin-top: auto; }
@media (max-width: 991px) { .rmb-article-card { width: calc(50% - 13px); } }
@media (max-width: 640px) { .rmb-article-card { width: 100%; } }
.rmb-article-content img { max-width: 100%; height: auto; }

/* ============ НОВЫЙ ПОДВАЛ (rmb-*): одинаковый на обоих городах ============ */
.rmb-footer { background: linear-gradient(180deg, #1c1c1c 0%, #121212 100%); color: #d8d8d8; margin-top: 56px; }
.rmb-footer-in { display: flex; gap: 40px; padding: 48px 15px 36px; flex-wrap: wrap; align-items: flex-start; }
.rmb-footer-left { flex: 0 1 420px; min-width: 300px; }
.rmb-footer-right { flex: 1 1 480px; min-width: 300px; }
.rmb-footer-logo { height: 58px; width: auto; margin-bottom: 22px; }
.rmb-f-phones { margin-bottom: 20px; }
.rmb-f-phone { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; white-space: nowrap; }
.rmb-f-wa { color: #25D366; font-size: 21px; text-decoration: none !important; }
.rmb-f-number { color: #fff; font-size: 19px; font-weight: 700; text-decoration: none !important; letter-spacing: .3px; }
.rmb-f-number:hover { color: #fede00; }
.rmb-f-place { color: #fede00; font-weight: 700; font-size: 14px; }
.rmb-f-addresses { margin-bottom: 18px; }
.rmb-f-address { display: flex; gap: 10px; align-items: flex-start; color: #d8d8d8 !important; text-decoration: none !important; margin-bottom: 10px; line-height: 1.45; font-size: 14px; }
.rmb-f-address:hover span { color: #fff; text-decoration: underline; }
.rmb-f-address i { color: #fede00; margin-top: 3px; }
.rmb-f-address em { font-style: normal; color: #ffde7a; font-size: 12px; }
.rmb-f-hours { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; margin-bottom: 20px; }
.rmb-f-hours i { color: #fede00; margin-top: 3px; }
.rmb-f-hours .color { color: #fede00; }
.rmb-f-social { display: flex; gap: 12px; }
.rmb-f-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%; background: #fede00; color: #111 !important;
  font-size: 18px; text-decoration: none !important; transition: transform .2s, background .2s;
}
.rmb-f-social a:hover { transform: translateY(-3px) scale(1.06); background: #ffe84d; }
.rmb-map-tabs { display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.rmb-map-tab { border: 1px solid #555; background: transparent; color: #eee; padding: 7px 14px; border-radius: 18px; cursor: pointer; font-weight: 700; font-size: 13px; transition: all .2s; }
.rmb-map-tab.active, .rmb-map-tab:hover { background: #fede00; color: #111; border-color: #fede00; }
.rmb-map-frame { width: 100%; height: 400px; border: 0; border-radius: 12px; display: block; }
.rmb-footer-bottom { border-top: 1px solid #2c2c2c; padding: 15px 0; font-size: 13px; color: #8f8f8f; }
/* Перелинковка: районы в подвале */
.rmb-footer-districts { border-top: 1px solid #2c2c2c; padding: 13px 0; font-size: 13px; color: #8f8f8f; text-align: center; }
.rmb-footer-districts a { color: #c9c9c9; text-decoration: none; }
.rmb-footer-districts a:hover { color: #fede00; }

/* --- (старый подвал ниже не задействован: разметка сменилась) --- */
.page-footer .footer-content {
  display: flex !important; flex-wrap: wrap; gap: 34px; align-items: flex-start;
  max-width: 1170px; margin: 0 auto !important; padding: 44px 15px 30px !important;
  float: none !important; width: auto !important;
}
/* Старый CSS рассчитан на абсолютную шапку: убираем его отступы и текстуры */
body:not(.home) #pageContent { padding-top: 10px !important; }
/* Полоса с хлебными крошками: без серой подложки и без одинокого «/» */
#pageTitle { background: none !important; border: 0 !important; box-shadow: none !important; padding: 18px 0 0 !important; margin: 0 !important; min-height: 0 !important; height: auto !important; }
#pageTitle .breadcrumbs { display: none !important; }
#pageTitle h1 { margin: 0 !important; padding: 0 !important; }
header.page-header .header-row { background: none !important; }
#panel { display: none !important; }

.page-footer { position: relative; overflow: hidden; }
.page-footer .footer-content { display: flex !important; table-layout: auto !important; }
.page-footer .footer-col-left, .page-footer .footer-col-right { display: block !important; }
.page-footer .footer-col-left .inside { width: auto !important; float: none !important; padding: 0 !important; }
.page-footer .footer-col-left { flex: 0 0 40%; min-width: 320px; max-width: 480px; padding: 0 !important; margin: 0 !important; float: none !important; width: auto !important; position: static !important; }
.page-footer .footer-col-right { flex: 1 1 480px; min-width: 320px; padding: 0 !important; margin: 0 !important; float: none !important; width: auto !important; position: static !important; }
.page-footer .inside { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.page-footer .contact-info { text-align: left; }
/* Карта строго в своей колонке (старый CSS позиционировал её абсолютно поверх текста) */
.page-footer .footer-map {
  position: static !important; top: auto !important; right: auto !important; left: auto !important;
  width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important;
  transform: none !important;
}
.page-footer .footer-map iframe { position: static !important; display: block; }

/* --- Подвал: доп-стили как на старом сайте --- */
.rmb-footer-phones { margin-bottom: 20px; }
.rmb-phone-item { display: flex; align-items: center; font-size: 17px; margin-bottom: 12px; gap: 10px; white-space: nowrap; flex-wrap: nowrap; }
.rmb-phone-number { color: #fff; font-weight: 600; text-decoration: none; white-space: nowrap; }
.rmb-phone-label { white-space: nowrap; }
.rmb-phone-number:hover { color: #ffcc00; }
.rmb-phone-label { color: #ffcc00; font-weight: 700; }
.rmb-phone-wa { color: #25D366; font-size: 20px; text-decoration: none; }
.rmb-footer-address a { display: block; color: #fff; line-height: 1.35; overflow-wrap: anywhere; }
.rmb-phone-note { display: inline-block; margin-left: 8px; font-size: 12px; color: #ffde7a; }
.rmb-footer-map-tabs { display: flex; gap: 6px; margin: 0 0 10px; flex-wrap: wrap; }
.rmb-footer-map-tab { border: 1px solid #fff; background: transparent; color: #fff; padding: 6px 12px; border-radius: 8px; cursor: pointer; font-weight: 600; transition: all .2s; }
.rmb-footer-map-tab.active, .rmb-footer-map-tab:hover { background: #FFCC00; color: #111; border-color: #FFCC00; }
#rmb-footer-map iframe { height: 432px; width: 100%; border: 0; border-radius: 8px; }
@media (max-width: 992px) { #rmb-footer-map iframe { height: 380px; } }

/* --- Модальные окна --- */
/* z-index выше шапки (1100) и языкового меню (1200) — форма всегда поверх */
.rmb-modal { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 16px; backdrop-filter: blur(2px); }
.rmb-modal[hidden] { display: none; }
.rmb-modal-box { background: #fff; max-width: 430px; width: 100%; padding: 26px 26px 22px; position: relative; max-height: 92vh; overflow-y: auto; border-radius: 12px; animation: rmbPop .22s ease; }
@keyframes rmbPop { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.rmb-modal-close { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 26px; cursor: pointer; line-height: 1; }
.lead-form label { display: block; margin-bottom: 10px; font-weight: 600; font-size: 14px; }
.lead-form input, .lead-form textarea, .lead-form select { width: 100%; padding: 9px 10px; border: 1px solid #ccc; border-radius: 6px; margin-top: 4px; font: inherit; background: #fff; }
.lead-form input:focus, .lead-form textarea:focus, .lead-form select:focus { outline: none; border-color: #fede00; box-shadow: 0 0 0 3px rgba(254,222,0,.25); }
.lead-form .btn { width: 100%; margin-top: 6px; }
.lead-ok { margin-top: 12px; color: #1a7f37; font-weight: 700; }

/* --- Селектор языка: аккуратная кнопка с флагами --- */
.language-selector { position: relative; }
.language-selector .current-lang {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px;
  font-weight: 700; font-size: 15px; cursor: pointer;
  border: 1px solid #e2e2e2; border-radius: 24px; background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.language-selector .flag-icon { width: 26px; height: 18px; }
.language-selector .current-lang:hover { border-color: #fede00; box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.language-selector .flag-icon { width: 22px; height: 15px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); display: block; }
.language-selector .lang-arrow { font-size: 11px; color: #888; transition: transform .2s; }
.language-selector.open .lang-arrow { transform: rotate(180deg); }
.language-selector .lang-dropdown {
  /* display:block всегда — старый битрикс-CSS прятал через display:none и показывал
     только по hover, из-за чего на телефонах язык было не выбрать */
  display: block !important;
  visibility: hidden; opacity: 0; transform: translateY(-6px);
  position: absolute; right: 0 !important; left: auto !important; top: 100%; background: transparent;
  border: 0 !important; min-width: 150px; z-index: 1200; box-shadow: none !important;
  padding: 8px 0 0;  /* «зазор» внутри наводимой области — hover не срывается */
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.language-selector .lang-dropdown-inner {
  background: #fff; border: 1px solid #eee; border-radius: 12px;
  box-shadow: 0 12px 34px rgba(0,0,0,.16); overflow: hidden; padding: 5px;
}
.language-selector.open .lang-dropdown,
.language-selector:hover .lang-dropdown { visibility: visible; opacity: 1; transform: none; }
.language-selector .lang-item {
  display: flex; align-items: center; gap: 9px; padding: 9px 12px;
  text-decoration: none; border-radius: 8px; font-size: 14px; font-weight: 600;
}
.language-selector .lang-item:hover { background: #fff6c4; }

/* --- Мобильное меню --- */
@media (max-width: 991px) {
  #slidemenu { display: none; }
  #slidemenu.open { display: block; }

  /* Языки на телефоне: без выпадашки — все флаги сразу, тапабельные кнопки */
  .language-selector { display: flex; align-items: center; gap: 6px; }
  .language-selector .lang-arrow { display: none; }
  .language-selector .current-lang { pointer-events: none; padding: 8px 10px; }
  .language-selector .current-lang .lang-code { display: none; }
  .language-selector .lang-dropdown {
    display: block !important;
    visibility: visible !important; opacity: 1 !important; transform: none !important;
    position: static !important; padding: 0 !important; min-width: 0 !important;
  }
  .language-selector .lang-dropdown-inner {
    display: flex; gap: 6px; background: transparent; border: 0; box-shadow: none;
    padding: 0; border-radius: 0; overflow: visible;
  }
  .language-selector .lang-item {
    border: 1px solid #e2e2e2; border-radius: 18px; background: #fff;
    padding: 8px 10px; min-width: 44px; justify-content: center;
  }
  .language-selector .lang-item .lang-name { display: none; }
}

/* --- Тайский текст: высокие диакритики требуют большего line-height,
       иначе верх букв обрезается фиксированными высотами старого CSS --- */
html[lang="th"] body { line-height: 1.75; }
html[lang="th"] h1, html[lang="th"] h2, html[lang="th"] h3,
html[lang="th"] h4, html[lang="th"] .h-lg {
  line-height: 1.55 !important; padding-top: .1em;
}
html[lang="th"] .btn, html[lang="th"] .prd-btn { line-height: 1.6 !important; }
html[lang="th"] .navbar-nav > li > a { line-height: 1.7 !important; }

/* Никаких декоративных фоновых картинок в секциях (источник «полосок») */
.block, .block .container, #pageTitle, #pageContent { background-image: none !important; }

/* ============ РАДИКАЛЬНАЯ ЗАЧИСТКА СТАРОЙ ШАПКИ ============ */
/* Никаких фоновых текстур/градиентов внутри шапки, чьи бы они ни были */
header.page-header, header.page-header * { background-image: none !important; }
header.page-header::before, header.page-header::after,
header.page-header .navbar::before, header.page-header .navbar::after,
#slide-nav::before, #slide-nav::after,
#slidemenu::before, #slidemenu::after { display: none !important; content: none !important; }
header.page-header { box-shadow: none !important; }
/* Между шапкой и контентом — ноль зазора на всех страницах */
#pageContent { margin-top: 0 !important; }
body.home #pageContent { padding-top: 0 !important; }
.rmb-hero { margin-top: 0 !important; }

/* ============ СПЕЦЭФФЕКТЫ ============ */

/* Появление блоков при загрузке */
.block { animation: rmbFade .5s ease both; }
@keyframes rmbFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* Появление карточек при прокрутке (JS вешает .reveal-in) */
.reveal { opacity: 0; transform: translateY(26px) scale(.98); }
.reveal.reveal-in { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.3,1); }
.prd-grid--modern .prd.reveal-in:nth-child(2) { transition-delay: .07s; }
.prd-grid--modern .prd.reveal-in:nth-child(3) { transition-delay: .14s; }
.prd-grid--modern .prd.reveal-in:nth-child(4) { transition-delay: .21s; }

/* Блеск, пробегающий по кнопкам */
.btn, .prd-btn { position: relative; overflow: hidden; }
.btn::after {
  content: ''; position: absolute; top: 0; left: -80%; width: 50%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.45), transparent);
  transform: skewX(-20deg); transition: none; pointer-events: none;
}
.btn:hover::after { left: 130%; transition: left .55s ease; }

/* Герой: въезд текста (зум фона убран — светлый край фото давал «полоску») */
.rmb-hero { overflow: hidden; }
.rmb-hero h1 { animation: rmbSlideUp .7s ease both; }
.rmb-hero-sub { animation: rmbSlideUp .7s .15s ease both; }
.rmb-hero-actions { animation: rmbSlideUp .7s .3s ease both; }
@keyframes rmbSlideUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.rmb-hero h1 { text-shadow: 0 3px 22px rgba(0,0,0,.55); }

/* Промо-блок: байк выезжает справа (как на старом сайте, но плавнее) */
.rmb-moto-block { display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.rmb-moto-text { flex: 1 1 420px; min-width: 300px; }
.rmb-moto-text .info { font-style: italic; margin: 14px 0 18px; }
.rmb-moto-text .h-phone a { text-decoration: underline; color: inherit; font-weight: 700; }
.rmb-moto-img { flex: 1 1 420px; min-width: 300px; text-align: center; overflow: hidden; }
.rmb-moto-img img { max-width: 100%; height: auto; }
.rmb-moto-img.reveal { opacity: 0; transform: translateX(60%); }
.rmb-moto-img.reveal.reveal-in {
  opacity: 1; transform: none;
  transition: opacity .9s ease, transform 1.1s cubic-bezier(.16,.8,.26,1);
}
.rmb-moto-img.reveal-in img { animation: rmbMotoFloat 4.5s 1.2s ease-in-out infinite; }
@keyframes rmbMotoFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* Жёлтое подчёркивание-акцент у заголовков секций */
.h-lg.text-center { position: relative; padding-bottom: 16px; }
.h-lg.text-center::after {
  content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 74px; height: 4px; border-radius: 2px; background: #fede00;
}

/* Цена на карточке — жёлтый бейдж */
.prd-grid--modern .prd-price {
  display: inline-block; margin: 0 auto 12px; padding: 3px 12px;
  background: #fff6c4; border-radius: 14px; font-size: 14px;
}

/* Плавный скролл + аккуратный фокус */
html { scroll-behavior: smooth; }
a:focus-visible, button:focus-visible { outline: 2px solid #fede00; outline-offset: 2px; }

/* Лёгкий градиент на тёмных зонах, чтобы не были плоскими */
.page-footer { background: linear-gradient(180deg, #202020 0%, #171717 100%) !important; }
header.page-header { background: linear-gradient(180deg, #1d1d1d 0%, #141414 100%) !important; }

/* Наличие модели (данные из CRM) */
.rmb-availability { margin: 10px 0 4px; font-weight: 700; font-size: 14px; }
.rmb-availability.ok { color: #2e9e5b; }
.rmb-availability.no { color: #b98515; }

/* Кнопка бронирования: в шапке (десктоп) + плавающая (мобильные) */
.rmb-book-btn {
  display: inline-flex; align-items: center; gap: 9px;
  background: #e53935; color: #fff !important; font-weight: 800; font-size: 16px;
  padding: 13px 26px; border-radius: 28px; text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(229,57,53,.35); transition: all .2s; white-space: nowrap;
  animation: rmb-book-pulse 2.4s infinite;
}
.rmb-book-btn:hover { background: #ff5148; transform: translateY(-1px); box-shadow: 0 6px 22px rgba(229,57,53,.5); }
@keyframes rmb-book-pulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(229,57,53,.35); }
  50% { box-shadow: 0 4px 26px rgba(229,57,53,.65); }
}
.rmb-fab-book {
  display: none; position: fixed; right: 16px; bottom: 16px; z-index: 900;
  align-items: center; gap: 8px;
  background: #e53935; color: #fff !important; font-weight: 800; font-size: 15px;
  padding: 13px 20px; border-radius: 28px; text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.35);
  animation: rmb-book-pulse 2.4s infinite;
}
@media (max-width: 991px) {
  .rmb-book-btn { padding: 8px 14px; font-size: 13px; }
  .rmb-fab-book { display: inline-flex; }
}

/* ===== Наполнение главной как на оригинале: недостающие стили ===== */
/* утилиты (контент писался под новый bootstrap, у нас v3) */
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.align-items-center { align-items: center; }
.justify-content-center { justify-content: center; }
.gap-2 { gap: 12px; }
.h-100 { height: 100%; }
.col-12 { width: 100%; padding-left: 15px; padding-right: 15px; }
.mb-4 { margin-bottom: 24px; }
.mb-5 { margin-bottom: 40px; }
.img-fluid { max-width: 100%; height: auto; }
@media (min-width: 768px) {
  .flex-md-row { flex-direction: row; }
  .justify-content-md-start { justify-content: flex-start; }
  .text-md-left, .text-md-start { text-align: left; }
  .mb-md-0 { margin-bottom: 0; }
}
@media (min-width: 576px) { .flex-sm-row { flex-direction: row; } }
.adsbygoogle { display: none !important; }

/* герой-блок из контента (заголовок + подзаголовок + телефон + кнопки) */
.hero-head { padding: 30px 0 10px; }
.hero-title, .hero-title-main { font-size: 34px; font-weight: 800; line-height: 1.25; margin: 0 0 12px; }
.hero-subtitle { font-size: 17px; color: #555; font-style: italic; line-height: 1.55; margin-bottom: 14px; }
.accent { color: #e5b800; }
.h-lg2 { font-size: 30px; font-weight: 800; }
.section-eyebrow { text-transform: uppercase; letter-spacing: 2px; color: #b98515; font-size: 13px; font-weight: 700; }
.section-head { text-align: center; margin-bottom: 18px; }
.section-sub { color: #666; font-size: 15px; }

/* колауты «паспорт остаётся у вас» / «права» */
.passport-card, .license-card {
  border: 2px solid #fede00; border-radius: 14px; padding: 18px 22px; margin: 22px 0;
  background: #fffdf2; display: flex; gap: 16px; align-items: center;
  box-shadow: 0 4px 18px rgba(254,222,0,.15);
}
.license-link-wrap { text-align: center; margin: 14px 0; }

/* ценник на карточках каталога */
.prd-badge { display: inline-flex; align-items: baseline; gap: 4px; background: #fede00; border-radius: 16px; padding: 4px 12px; font-weight: 800; margin: 6px 0; }
.prd-badge__from { font-size: 12px; font-weight: 600; }
.prd-badge__val { font-size: 17px; }
.prd-badge__cur { font-size: 13px; }
.prd-img__link { display: block; }

/* таблица цен на главной */
.prices-block { margin: 30px 0; }
.prices-title { font-size: 28px; font-weight: 800; text-align: center; margin-bottom: 6px; }
.prices-subtitle { text-align: center; color: #666; margin-bottom: 16px; }
.prices-table-wrap { overflow-x: auto; }
.prices-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.prices-table th { background: #191919; color: #fede00; padding: 10px 8px; text-align: left; }
.prices-table td { padding: 9px 8px; border-bottom: 1px solid #eee; }
.prices-table tr:nth-child(even) td { background: #fafafa; }
.prices-note { color: #777; font-size: 13px; margin-top: 10px; text-align: center; }
.prices-link-wrap { text-align: center; margin-top: 14px; }
.prices-link { font-weight: 700; }

/* CTA под каталогом */
.block-motorbikes { padding-top: 10px; }
.catalog-cta { text-align: center; margin: 26px 0 8px; }
.catalog-cta .btn, .btn-catalog { min-width: 220px; }
.catalog-cta__note { color: #777; font-size: 13px; margin-top: 8px; }
.text-icon-carousel { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; }
.text-icon-carousel > [class*="col-"] { float: none; }
@media (max-width: 767px) { .text-icon-carousel > [class*="col-"] { width: 100%; } }

/* отзывы Google (без карусельного JS — горизонтальная прокрутка) */
.reviews-google, .gr-reviews { margin: 30px 0; }
.gr-head { display: flex; align-items: center; gap: 14px; justify-content: center; margin-bottom: 16px; flex-wrap: wrap; }
.gr-logo { font-weight: 800; font-size: 22px; }
.gr-logo__g { color: #4285F4; } .gr-logo__o1 { color: #EA4335; } .gr-logo__o2 { color: #FBBC05; }
.gr-logo__l { color: #4285F4; } .gr-logo__e { color: #34A853; } .gr-logo__word { color: #333; margin-left: 6px; }
.gr-head__info { display: flex; align-items: center; gap: 8px; }
.gr-head__score { font-size: 22px; font-weight: 800; }
.gr-head__rating, .gr-stars { color: #FBBC05; letter-spacing: 2px; }
.gr-carousel { position: relative; }
.gr-track { display: flex; flex-wrap: wrap; gap: 14px; padding: 6px 2px 14px; justify-content: center; }
.gr-card {
  flex: 1 1 200px; max-width: 280px; background: #fff; border: 1px solid #eee;
  border-radius: 12px; padding: 16px; box-shadow: 0 4px 14px rgba(0,0,0,.07);
  display: flex; flex-direction: column; gap: 8px;
}
.gr-card__top { display: flex; align-items: center; gap: 10px; }
.gr-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #fede00; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.gr-card__photo { width: 100%; height: auto; border-radius: 10px; display: block; margin-top: auto; }
.gr-card__text { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.gr-more { display: none !important; } /* «Читать полностью» требовал старого JS-модала */
.gr-btn { display: inline-block; background: #1a73e8; color: #fff !important; font-weight: 700; padding: 11px 22px; border-radius: 24px; text-decoration: none !important; }
.gr-btn:hover { background: #3d8bff; }

.gr-card__name { font-weight: 700; }
.gr-card__source { color: #888; font-size: 12px; }
.gr-card__text { font-size: 14px; color: #444; line-height: 1.5; }
.gr-nav { display: none; } /* стрелки карусели требуют старого JS — прокрутка свайпом/колесом */
.gr-modal { display: none !important; }


/* Кнопка «Выбери свой байк» в баннере: текст был белым на белом */
.btn-border, .btn.btn-border { color: #191919 !important; }
.btn-border:hover { background: #fede00 !important; color: #111 !important; }

/* Байки в карточках каталога главной — целиком, без обрезки */
.rmb-home-content .prd-img { height: 200px; overflow: hidden; background: #fff; display: flex; align-items: center; justify-content: center; }
.rmb-home-content .prd-img img { width: 100%; height: 100%; object-fit: contain !important; display: block; }
/* Отзывы по центру (на десктопе), карусель каталога главной как на оригинале */
@media (min-width: 992px) { .gr-track { justify-content: center; } }

/* каталог главной — обычная сетка (без горизонтальной прокрутки), рендерит prd-grid--modern */
.rmb-home-content .prd-grid.prd-carousel { margin: 0 !important; }
.rmb-home-content .prd-carousel .prd {
  flex: 0 0 272px; width: 272px !important; margin: 0 !important; scroll-snap-align: start;
  float: none !important; background: #fff; border: 1px solid #eee; border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0,0,0,.06); padding: 10px;
}
.rmb-carousel-wrap { position: relative; }
.rmb-car-nav {
  position: absolute; top: 42%; width: 40px; height: 40px; border-radius: 50%;
  background: #fff; border: 1px solid #ddd; box-shadow: 0 2px 10px rgba(0,0,0,.18);
  cursor: pointer; z-index: 5; font-size: 18px; line-height: 1; font-weight: 700;
}
.rmb-car-nav:hover { background: #fede00; }
.rmb-car-prev { left: -8px; }
.rmb-car-next { right: -8px; }

/* Каталог: легаси-правила (float, отрицательные поля, ширины) не должны трогать современную сетку */
.prd-grid--modern { margin: 0 !important; }
.prd-grid--modern .prd:hover .prd-img img { transform: none; } /* зум обрезал края байка */

/* FAQ на главной: аккордеон-карточки с плюсом/минусом */
.faq-list { display: flex; flex-direction: column; gap: 14px; max-width: 920px; margin: 0 auto; }
details.faq-item { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 4px 18px; box-shadow: 0 3px 12px rgba(0,0,0,.05); }
details.faq-item[open] { border-color: #fede00; box-shadow: 0 4px 16px rgba(254,222,0,.28); }
details.faq-item > summary { list-style: none; cursor: pointer; font-weight: 700; font-size: 15px; padding: 15px 46px 15px 0; position: relative; outline: none; }
details.faq-item > summary::-webkit-details-marker { display: none; }
details.faq-item > summary::after {
  content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; border-radius: 50%; background: #fede00; color: #111;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px;
}
details.faq-item[open] > summary::after { content: "\2212"; }
details.faq-item .faq-answer { padding: 0 0 16px; color: #555; line-height: 1.65; display: block !important; }

/* ЖЕЛЕЗНОЕ правило для всех карточек техники: байк виден целиком, обрезка невозможна */
.prd-img { height: 200px !important; overflow: hidden; display: flex !important; align-items: center; justify-content: center; background: #fff; }
.prd-img img {
  max-width: 100% !important; max-height: 100% !important;
  width: auto !important; height: auto !important;
  object-fit: contain; margin: auto; display: block;
}
/* Каталог: сетка + боковая колонка как на оригинале */
.rmb-catalog-layout { display: flex; gap: 26px; align-items: flex-start; }
.rmb-catalog-main { flex: 1 1 auto; min-width: 0; }
.rmb-catalog-side { flex: 0 0 250px; }
.rmb-side-block { background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: 18px; margin-bottom: 20px; box-shadow: 0 3px 12px rgba(0,0,0,.05); }
.rmb-side-block h3 { margin: 0 0 12px; font-size: 19px; font-weight: 800; }
.rmb-side-brands { list-style: none; margin: 0; padding: 0; }
.rmb-side-brands a { display: block; padding: 7px 0; text-decoration: none !important; font-weight: 600; }
.rmb-side-brands a.active { color: #b98515; }
.rmb-side-brands a:hover { color: #b98515; }
.rmb-side-popular { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid #f0f0f0; text-decoration: none !important; }
.rmb-side-popular:first-of-type { border-top: 0; }
.rmb-side-popular img { width: 84px; height: 62px; object-fit: contain; flex: 0 0 84px; }
.rmb-side-popular-name { display: block; font-weight: 600; font-size: 13.5px; line-height: 1.3; }
.rmb-side-popular-price { display: block; font-weight: 800; font-size: 16px; margin-top: 4px; }
@media (max-width: 991px) {
  .rmb-catalog-layout { flex-direction: column; }
  .rmb-catalog-side { flex: 1 1 auto; width: 100%; }
}

/* Блок «Motorcycle and scooter rental» (Паттайя): колонки нового бутстрапа поверх v3 —
   на десктопе текст слева, байк справа 50/50, без наложения на следующий блок */
.row.align-items-center { display: flex; flex-wrap: wrap; align-items: center; }
@media (min-width: 992px) { .col-12.col-md-6 { width: 50% !important; } }
@media (max-width: 991px) { [class*='col-12'][class*='col-md-'] { width: 100% !important; float: none !important; } }
/* .img-move управляется оригинальными правилами (absolute на широких экранах) — не трогаем */

/* col-12 нового бутстрапа не должен растягивать md-колонки на десктопе */
@media (min-width: 992px) {
  .col-12.col-md-3 { width: 25% !important; }
  .col-12.col-md-4 { width: 33.3333% !important; }
  .col-12.col-md-8 { width: 66.6666% !important; }
  .col-12.col-md-12 { width: 100% !important; }
}

/* Анимация байка (img-move): «приехал» — выезжает справа и останавливается, потом слегка дышит */
@keyframes rmb-moto-ride {
  0% { transform: translateX(90%); opacity: 0; }
  60% { transform: translateX(-3%); opacity: 1; }
  80% { transform: translateX(1.5%); }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes rmb-moto-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.img-move img { opacity: 0; will-change: transform; }
.img-move.drive-in img { animation: rmb-moto-ride 1.5s ease-out both, rmb-moto-float 4s ease-in-out 1.6s infinite; }
@media (prefers-reduced-motion: reduce) { .img-move img { opacity: 1; animation: none !important; } .img-move.drive-in img { animation: none !important; } }

/* Фото клиентов из Google под отзывами (Паттайя) */
.rmb-cphotos { margin: 6px 0 24px; }
.rmb-cphotos h3 { font-size: 18px; font-weight: 700; margin-bottom: 14px; }
.rmb-cphotos-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.rmb-cphoto { margin: 0; flex: 0 1 170px; }
.rmb-cphoto img { width: 100%; height: 150px; object-fit: cover; border-radius: 10px; box-shadow: 0 3px 12px rgba(0,0,0,.12); display: block; }
.rmb-cphoto figcaption { font-size: 12px; color: #888; text-align: center; margin-top: 5px; }
