@charset "UTF-8";
/* ═══════════════════════════════════════════════════════════
   COSMOS 2026 — LEGACY OVERRIDE (DARK THEME)
   Перекрывает старые классы design2009_2 во ВСЕХ страницах.
   .cn-legacy-wrap теперь ТЁМНОЕ СТЕКЛО — единый дизайн.
   ═══════════════════════════════════════════════════════════ */

/* === 0a. СКРЫВАЕМ старые красные кнопки "Добавить фирму в каталог" === */
/* Inline-style баннеры из pages/catalog.php, catalogview.php, all_search.php */
.cn-legacy-wrap a[href="/regfirm/"][style*="background: red"],
.cn-legacy-wrap a[href="/regfirm/"][style*="background:red"] {
  display: none !important;
}

/* Глобально включаем тёмную тему для нативных UI (popup <select>,
   полосы прокрутки и т.п.) — иначе Chrome рисует popup белым. */
:root, html, body { color-scheme: dark; }

/* === 1. ТИПОГРАФИКА ВНУТРИ КАРТОЧКИ === */
.cn-legacy-wrap,
.cn-legacy-wrap *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not([class*="fa-"]) {
  font-family: 'Manrope', 'Segoe UI', Tahoma, sans-serif !important;
}
/* Font Awesome иконки внутри легаси-карточки сохраняют свой шрифт */
.cn-legacy-wrap i.fa-solid,
.cn-legacy-wrap i.fa-regular,
.cn-legacy-wrap i.fa-brands,
.cn-legacy-wrap i.fas,
.cn-legacy-wrap i.far,
.cn-legacy-wrap i.fab,
.cn-legacy-wrap .fa-solid::before,
.cn-legacy-wrap .fa-regular::before,
.cn-legacy-wrap .fa-brands::before,
.cn-legacy-wrap .fas::before,
.cn-legacy-wrap .far::before,
.cn-legacy-wrap .fab::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome" !important;
}
.cn-legacy-wrap .fa-solid, .cn-legacy-wrap .fas { font-weight: 900 !important; }
.cn-legacy-wrap .fa-regular, .cn-legacy-wrap .far { font-weight: 400 !important; }
.cn-legacy-wrap .fa-brands, .cn-legacy-wrap .fab { font-weight: 400 !important; font-family: "Font Awesome 6 Brands" !important; }
.cn-legacy-wrap { font-size: 14px; color: rgba(255,255,255,.85); line-height: 1.65; }
.cn-legacy-wrap *,
.cn-legacy-wrap *::before,
.cn-legacy-wrap *::after { word-wrap: break-word; overflow-wrap: break-word; max-width: 100%; }
.cn-legacy-wrap h1 {
  font-size: 26px !important; font-weight: 800 !important;
  color: rgba(255,255,255,.95) !important;
  margin: 0 0 18px !important; padding-bottom: 14px !important;
  border-bottom: 2px solid #D4AF37 !important;
  letter-spacing: -.01em;
  /* отменяем inline-стили из catalogview.php (фоновая иконка, фикс. height, отступ слева) */
  height: auto !important;
  min-height: 0 !important;
  padding-left: 0 !important;
  padding-top: 0 !important;
  background-image: none !important;
  background: none !important;
  word-wrap: break-word; overflow-wrap: break-word;
  line-height: 1.3 !important;
}
/* em/strong внутри H1 — без курсива и доп. жирности, цвет наследуется */
.cn-legacy-wrap h1 em,
.cn-legacy-wrap h1 strong {
  font-style: normal !important;
  font-weight: inherit !important;
  color: inherit !important;
}
.cn-legacy-wrap h2 {
  font-size: 20px !important; font-weight: 800 !important;
  color: rgba(255,255,255,.95) !important;
  margin: 28px 0 14px !important;
  /* отступ слева под иконку 36px из inline-style catalogview.php + золотой border-left */
  padding: 8px 0 8px 60px !important;
  border-left: 4px solid #D4AF37 !important;
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
  /* иконка категории (background-image из inline-style) — центрируем и нормализуем размер */
  background-repeat: no-repeat !important;
  background-position: 10px center !important;
  background-size: 36px 36px !important;
  min-height: 52px !important;
  height: auto !important;
  box-sizing: border-box !important;
}
.cn-legacy-wrap h2 em,
.cn-legacy-wrap h2 strong {
  font-style: normal !important;
  font-weight: inherit !important;
  color: inherit !important;
}
.cn-legacy-wrap h3 {
  font-size: 16px !important; font-weight: 700 !important;
  color: rgba(255,255,255,.95) !important;
  margin: 20px 0 12px !important;
}
.cn-legacy-wrap h4, .cn-legacy-wrap h5 {
  font-size: 14px !important; font-weight: 700 !important;
  color: rgba(255,255,255,.95) !important;
  margin: 16px 0 10px !important;
}
.cn-legacy-wrap p { margin: 0 0 14px; color: rgba(255,255,255,.75); }
.cn-legacy-wrap a { color: #F0C84A; text-decoration: none; transition: color .15s; }
.cn-legacy-wrap a:hover { color: #D4AF37; text-decoration: underline; }
.cn-legacy-wrap strong, .cn-legacy-wrap b { color: rgba(255,255,255,.95); font-weight: 700; }
.cn-legacy-wrap em, .cn-legacy-wrap i { color: rgba(255,255,255,.80); }
.cn-legacy-wrap hr {
  border: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,.40), transparent);
  margin: 24px 0;
}
.cn-legacy-wrap ul, .cn-legacy-wrap ol { padding-left: 22px; margin: 0 0 14px; }
.cn-legacy-wrap ul li { list-style: disc; margin-bottom: 6px; color: rgba(255,255,255,.75); }
.cn-legacy-wrap ol li { list-style: decimal; margin-bottom: 6px; color: rgba(255,255,255,.75); }
.cn-legacy-wrap img { border-radius: 8px; }
.cn-legacy-wrap table {
  border-collapse: separate !important; border-spacing: 0 !important;
  width: 100% !important; margin: 0 0 16px;
}
.cn-legacy-wrap td { vertical-align: top; color: rgba(255,255,255,.85); }

/* === 2. SMART NAVIGATOR (dropdown'ы) на тёмном === */
.cn-smart-nav {
  background: linear-gradient(135deg, rgba(212,175,55,.10) 0%, rgba(37,99,196,.05) 100%) !important;
  border: 1px solid rgba(212,175,55,.25) !important;
}
.cn-sn-title { color: rgba(255,255,255,.95) !important; }
.cn-sn-sel {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.95) !important;
}
.cn-sn-sel option { background: #0C1425; color: #ffffff; }

/* === 3. SEARCH FORM на тёмном === */
.cn-search-form {
  background: linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.cn-sf-inp {
  background: rgba(255,255,255,.06) !important;
  border: 2px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.95) !important;
  padding-left: 42px !important; /* место под лупу слева */
}
.cn-sf-inp::placeholder { color: rgba(255,255,255,.40); }
.cn-sf-inp:focus { border-color: #D4AF37 !important; }
.cn-sf-radio { color: rgba(255,255,255,.75); }
.cn-sf-rlabel { color: rgba(255,255,255,.65); }
.cn-sf-region {
  background: rgba(255,255,255,.06) !important;
  border: 2px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.95) !important;
}
.cn-sf-region option { background: #0C1425; color: #ffffff; }

/* === 4. СТАРАЯ форма поиска (если останется) === */
/* На большинстве страниц форма дублирует шапку — скрываем.
   На странице /search/ (op=search) — это ЕДИНСТВЕННАЯ форма + алфавит,
   поэтому там их показываем и стилизуем (правила ниже). */
.cn-legacy-wrap .alfavit { display: none !important; }
.cn-legacy-wrap .search,
.cn-legacy-wrap .search_input,
.cn-legacy-wrap .search_button,
.cn-legacy-wrap .search2,
.cn-legacy-wrap .search3 { display: none !important; }
.cn-legacy-wrap .search_razdelit { display: none !important; }

/* === 4b. СТРАНИЦА /search/ — показываем алфавит и форму === */
body[data-op="search"] .cn-legacy-wrap .alfavit {
  display: block !important;
  margin: 14px 0 18px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  line-height: 2.2;
  text-align: center;
}
body[data-op="search"] .cn-legacy-wrap .alfavit a {
  display: inline-block;
  min-width: 28px;
  height: 28px;
  line-height: 28px;
  padding: 0 6px;
  margin: 2px;
  border-radius: 8px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.85) !important;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
body[data-op="search"] .cn-legacy-wrap .alfavit a:hover {
  background: rgba(212,175,55,0.18);
  border-color: rgba(212,175,55,0.45);
  color: #F0C84A !important;
}
body[data-op="search"] .cn-legacy-wrap .search {
  display: block !important;
  margin: 14px 0;
  padding: 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
}
body[data-op="search"] .cn-legacy-wrap .search_input {
  display: block !important;
  margin-bottom: 12px;
  float: none !important;
  background: none !important;
  background-image: none !important;
  width: auto !important;
  height: auto !important;
}
body[data-op="search"] .cn-legacy-wrap .search_input input[type="text"] {
  width: 100% !important;
  max-width: 540px;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.95) !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  outline: none !important;
}
body[data-op="search"] .cn-legacy-wrap .search_input input[type="text"]:focus {
  border-color: #D4AF37 !important;
  background: rgba(255,255,255,0.09) !important;
}
body[data-op="search"] .cn-legacy-wrap .search_button {
  display: inline-block !important;
  margin: 0 0 12px;
  float: none !important;
  background: none !important;
  background-image: none !important;
  width: auto !important;
  height: auto !important;
}
body[data-op="search"] .cn-legacy-wrap .search_button input[type="submit"] {
  background: linear-gradient(135deg, #D4AF37, #F0C84A) !important;
  background-image: linear-gradient(135deg, #D4AF37, #F0C84A) !important;
  border: none !important;
  color: #1a1408 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 10px 22px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  width: auto !important;
  height: auto !important;
  box-shadow: 0 4px 14px rgba(212,175,55,0.25) !important;
  transition: transform .15s ease, box-shadow .2s ease !important;
}
body[data-op="search"] .cn-legacy-wrap .search_button input[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(212,175,55,0.4) !important;
}
body[data-op="search"] .cn-legacy-wrap .search2 {
  display: block !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px;
  line-height: 1.8;
}
body[data-op="search"] .cn-legacy-wrap .search2 input[type="radio"] {
  accent-color: #D4AF37 !important;
  vertical-align: middle;
  margin-right: 6px;
}
body[data-op="search"] .cn-legacy-wrap .search2 label {
  cursor: pointer;
  color: rgba(255,255,255,0.85);
}
body[data-op="search"] .cn-legacy-wrap .search_razdelit {
  display: block !important;
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 16px 0;
}

/* === 5. ВЛОЖЕННЫЕ box1/box2 — обнуляем === */
.cn-legacy-wrap .container, .cn-legacy-wrap .warrper,
.cn-legacy-wrap .box1, .cn-legacy-wrap .box1_up, .cn-legacy-wrap .box1_up1, .cn-legacy-wrap .box1_up3,
.cn-legacy-wrap .box1_content1, .cn-legacy-wrap .box1_content2,
.cn-legacy-wrap .box2, .cn-legacy-wrap .box2_content1, .cn-legacy-wrap .box2_content2, .cn-legacy-wrap .box2_content3 {
  width: auto !important; max-width: 100% !important; height: auto !important; min-height: 0 !important;
  background: none !important; margin: 0 !important; padding: 0 !important; float: none !important;
}

/* === 6. БЛОК ЗОЛОТОЙ КАРТЫ === */
.cn-legacy-wrap .glavn_text { margin-top: 20px; }
.cn-legacy-wrap .glavn_text > div[style*="padding"] {
  background: linear-gradient(135deg, rgba(212,175,55,.10) 0%, rgba(212,175,55,.02) 100%) !important;
  border: 1px solid rgba(212,175,55,.30) !important;
  border-radius: 14px !important;
  padding: 18px !important; margin: 18px 0 !important;
  color: rgba(255,255,255,.85) !important;
}
.cn-legacy-wrap .glavn_text > div[style*="padding"] b,
.cn-legacy-wrap .glavn_text > div[style*="padding"] strong { color: #F0C84A !important; }

/* === 7. CENTER UPGRADE === */
.cn-legacy-wrap center { display: block; text-align: center; }

/* === 8. SIDEBAR — Новые фирмы (старый .firm_new если попадёт) === */
.cn-sb-body .firm_new { display: flex; flex-direction: column; gap: 4px; }
.cn-sb-body .firm_new_box1, .cn-sb-body .firm_new_box1_2 {
  display: flex !important; align-items: center; justify-content: space-between; gap: 8px;
  padding: 8px 10px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 8px;
  width: 100% !important; height: auto !important; float: none !important; margin: 0 !important;
  transition: all .15s;
}
.cn-sb-body .firm_new_box1:hover, .cn-sb-body .firm_new_box1_2:hover {
  background: rgba(212,175,55,.10) !important; border-color: rgba(212,175,55,.30);
}
.cn-sb-body .firm_new_box2, .cn-sb-body .firm_new_box2_2,
.cn-sb-body .firm_new_box3, .cn-sb-body .firm_new_box3_2 {
  flex: 0 1 auto; width: auto !important; height: auto !important;
  margin: 0 !important; padding: 0 !important; float: none !important;
}
.cn-sb-body .firm_new_box2, .cn-sb-body .firm_new_box2_2 { flex: 1; min-width: 0; }
.cn-sb-body .firm_new_slk {
  color: #F0C84A !important; font-size: 11px !important; font-weight: 700;
  text-decoration: none !important; text-transform: uppercase;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;
}
.cn-sb-body .firm_new_razdelit { display: none; }
.cn-sb-body .reg_firm_mini { color: rgba(255,255,255,.40); font-size: 10px; }
.cn-sb-body .newfirm222 {
  display: block; color: rgba(255,255,255,.90); font-size: 12px; font-weight: 700;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* === 9. Старый .firm_new_reg1 (если где-то остался) === */
.cn-sb-body .firm_new_reg1 {
  width: auto !important; background: none !important; padding: 0 !important; margin: 0 !important;
}
.cn-sb-body .firm_new_reg1_zag,
.cn-sb-body .firm_new_reg31,
.cn-sb-body .firm_new_reg2 {
  width: auto !important; height: auto !important; background: none !important;
  margin: 0 !important; padding: 0 !important;
}

/* === 10. КАРТОЧКИ ФИРМ В КАТАЛОГЕ === */
.cn-legacy-wrap .firm_listing, .cn-legacy-wrap .firma_block_logo { margin: 0 0 16px !important; }
.cn-legacy-wrap .firm_name, .cn-legacy-wrap .firma_name, .cn-legacy-wrap .firm_nazv {
  font-size: 16px !important; font-weight: 800 !important;
  color: rgba(255,255,255,.95) !important; margin-bottom: 4px;
}
.cn-legacy-wrap .firm_name a, .cn-legacy-wrap .firma_name a { color: #F0C84A !important; }
.cn-legacy-wrap .firm_name a:hover, .cn-legacy-wrap .firma_name a:hover { color: #D4AF37 !important; }
.cn-legacy-wrap .firm_opisanie, .cn-legacy-wrap .firma_opisanie, .cn-legacy-wrap .firm_text {
  color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.65; margin-bottom: 6px;
}
.cn-legacy-wrap .firm_telefon, .cn-legacy-wrap .firma_telefon {
  color: #60A5FA !important; font-weight: 700;
}

/* === 11. ДОСКА ОБЪЯВЛЕНИЙ === */
.cn-legacy-wrap .advert_block_advertname, .cn-legacy-wrap .advertv_advname {
  font-size: 16px !important; font-weight: 800 !important;
  color: rgba(255,255,255,.95) !important; margin: 8px 0 6px !important;
}
.cn-legacy-wrap .advert_block_opisanie, .cn-legacy-wrap .advertv_opisanie {
  font-size: 13px; color: rgba(255,255,255,.70); line-height: 1.65; margin-bottom: 8px;
}
.cn-legacy-wrap .advert_block_price, .cn-legacy-wrap .advertv_block_price {
  color: #10B981 !important; font-weight: 800; font-size: 15px;
}
.cn-legacy-wrap .advert_date, .cn-legacy-wrap .advertv_razdel_dateclose {
  color: rgba(255,255,255,.50); font-size: 12px;
}
.cn-legacy-wrap .advert_razdelit_01, .cn-legacy-wrap .advert_razdelit_02, .cn-legacy-wrap .advertv_razdelit {
  height: 1px !important; background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent) !important;
  margin: 14px 0 !important; border: 0 !important;
}
.cn-legacy-wrap .advert_block_button input,
.cn-legacy-wrap .advertv_button_preview input {
  background: linear-gradient(135deg, #D4AF37 0%, #A88A20 100%) !important;
  color: #1a1408 !important; border: 0 !important; border-radius: 8px !important;
  padding: 10px 22px !important; font-weight: 800 !important;
  cursor: pointer; font-family: 'Manrope', sans-serif !important;
}

/* === 12. ЛОГОТИПЫ ПАРТНЁРОВ остаются белыми (картинки видны) === */
.cn-legacy-wrap .firm_logos_block { display: none !important; }

/* === 13. ССЫЛКИ-КНОПКИ .slk* === */
.cn-legacy-wrap .slk_addfavorite, .cn-legacy-wrap .slk_copyr, .cn-legacy-wrap .updcat2_slk {
  color: #F0C84A !important; text-decoration: none !important; font-weight: 600;
}
.cn-legacy-wrap .slk_addfavorite:hover, .cn-legacy-wrap .updcat2_slk:hover {
  color: #D4AF37 !important; text-decoration: underline !important;
}

/* === 14. REKLAMA WRAP === */
.cn-reklama-wrap a { color: #F0C84A; }
.cn-reklama-wrap img { border-radius: 8px; }
.cn-reklama-wrap b, .cn-reklama-wrap strong { color: rgba(255,255,255,.95); }

/* === 15. inline style fix === */
.cn-legacy-wrap div[style*="height: 70px"] { height: auto !important; }
.cn-legacy-wrap div[style*="margin-left"] { margin-left: 0 !important; }

/* === 16. РЕГИОНАЛЬНАЯ ПАНЕЛЬ — старая (если попадёт) === */
.cn-legacy-wrap .region_panel,
.cn-legacy-wrap .region_pnl1, .cn-legacy-wrap .region_pnl2,
.cn-legacy-wrap .region_pnl4, .cn-legacy-wrap .region_pnl5,
.cn-legacy-wrap .region_pnl3_ost { display: none !important; }

/* === 17. РУБРИКИ КАТАЛОГА (catalog.php) === */
.cn-legacy-wrap .slk_catfr_id1_rb,
.cn-legacy-wrap a.slk_catfr_id1,
.cn-legacy-wrap .slk_catfr_id1 {
  color: #F0C84A !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-decoration: none !important;
}
.cn-legacy-wrap .slk_catfr_id1_rb:hover,
.cn-legacy-wrap a.slk_catfr_id1:hover,
.cn-legacy-wrap .slk_catfr_id1:hover {
  color: #D4AF37 !important;
  text-decoration: underline !important;
}
/* Подрубрики catalogview и прочие legacy-ссылки (.slk / .slk2) */
.cn-legacy-wrap a.slk,
.cn-legacy-wrap a.slk:visited,
.cn-legacy-wrap a.slk2,
.cn-legacy-wrap a.slk2:visited,
.cn-legacy-wrap a.slk2mini,
.cn-legacy-wrap a.slk2mini:visited {
  color: #F0C84A !important;
  text-decoration: none !important;
  font-family: 'Manrope', sans-serif !important;
}
.cn-legacy-wrap a.slk:hover,
.cn-legacy-wrap a.slk2:hover,
.cn-legacy-wrap a.slk2mini:hover {
  color: #D4AF37 !important;
  text-decoration: underline !important;
}
.cn-legacy-wrap a.advert_url,
.cn-legacy-wrap a.advert_url:visited {
  color: #F0C84A !important;
  text-decoration: none !important;
}
.cn-legacy-wrap a.advert_url:hover {
  color: #D4AF37 !important;
  text-decoration: underline !important;
}
.cn-legacy-wrap .slk_catfr_id2 {
  color: rgba(255,255,255,.78) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}
.cn-legacy-wrap .slk_catfr_id2:hover {
  color: #F0C84A !important;
  text-decoration: underline !important;
}
.cn-legacy-wrap .slk_catfr_id3 {
  color: rgba(212,175,55,.65) !important;
  font-style: italic;
  font-size: 12px !important;
  font-weight: 600;
}
.cn-legacy-wrap .slk_catfr_id3:hover {
  color: #F0C84A !important;
  text-decoration: underline !important;
}
.cn-legacy-wrap .ctg_kolvofirm {
  color: rgba(255,255,255,.40) !important;
  font-size: 11px !important;
  font-weight: 500;
  margin-left: 4px;
}

/* === 18. КРАСНАЯ КНОПКА "Добавить фирму в каталог" === */
.cn-legacy-wrap a[style*="background: red"],
.cn-legacy-wrap a[style*="background:red"] {
  background: linear-gradient(135deg, #D4AF37 0%, #A88A20 100%) !important;
  color: #1a1408 !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  height: auto !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  box-shadow: 0 6px 18px rgba(212,175,55,.25);
  transition: all .15s;
}
.cn-legacy-wrap a[style*="background: red"]:hover,
.cn-legacy-wrap a[style*="background:red"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(212,175,55,.35) !important;
  text-decoration: none !important;
}

/* === 19. СПИСОК ФИРМ В КАТАЛОГЕ (firma_block_*) === */
.cn-legacy-wrap .firma_listing { color: rgba(255,255,255,.85) !important; padding: 8px 0; }
.cn-legacy-wrap .firma_kolvsearch {
  color: rgba(255,255,255,.55) !important;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 14px;
  letter-spacing: .02em;
}
.cn-legacy-wrap .firma_otstup_01,
.cn-legacy-wrap .firma_razdelit_01,
.cn-legacy-wrap .firma_razdelit_02 {
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent) !important;
  margin: 18px 0 !important;
  border: 0 !important;
}
/* Названия фирм (оба варианта: с логотипом и без) */
.cn-legacy-wrap .firma_block_firmname,
.cn-legacy-wrap .firma_block_firmname2,
.cn-legacy-wrap .firma_block_firmname_one,
.cn-legacy-wrap .firma_block_firmname_one2,
.cn-legacy-wrap .firma_block_firmname_two,
.cn-legacy-wrap .firma_block_firmname_two2 {
  color: #F0C84A !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .01em;
  text-decoration: none !important;
  margin-bottom: 6px;
  line-height: 1.3;
}
.cn-legacy-wrap a.firma_block_firmname:hover,
.cn-legacy-wrap a.firma_block_firmname2:hover,
.cn-legacy-wrap a.firma_block_firmname_one:hover,
.cn-legacy-wrap a.firma_block_firmname_one2:hover,
.cn-legacy-wrap a.firma_block_firmname_two:hover,
.cn-legacy-wrap a.firma_block_firmname_two2:hover {
  color: #D4AF37 !important;
  text-decoration: underline !important;
}
.cn-legacy-wrap .firma_block_adres,
.cn-legacy-wrap .firma_block_adres2 {
  color: rgba(255,255,255,.55) !important;
  font-size: 13px !important;
  line-height: 1.5;
  margin: 4px 0;
}
.cn-legacy-wrap .firma_block_opisanie,
.cn-legacy-wrap .firma_block_opisanie *,
.cn-legacy-wrap .firma_block_opisanie2,
.cn-legacy-wrap .firma_block_opisanie2 * {
  color: rgba(255,255,255,.80) !important;
  font-size: 13px !important;
  line-height: 1.65;
  margin: 8px 0;
}
.cn-legacy-wrap .firma_block_telefon,
.cn-legacy-wrap .firma_block_telefon *,
.cn-legacy-wrap .firma_block_telefon2,
.cn-legacy-wrap .firma_block_telefon2 * {
  color: #60A5FA !important;
  font-weight: 700;
  font-size: 14px;
}
.cn-legacy-wrap .firma_block_fax,
.cn-legacy-wrap .firma_block_fax2 {
  color: rgba(255,255,255,.55) !important;
  font-size: 13px !important;
}
.cn-legacy-wrap .firma_block_logo {
  float: left;
  margin: 0 16px 8px 0;
  max-width: 130px;
}
.cn-legacy-wrap .firma_block_logo img {
  max-width: 130px;
  height: auto;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.08);
}
.cn-legacy-wrap .firma_block_right,
.cn-legacy-wrap .firma_block_right2 {
  overflow: visible;
  width: auto !important;
  max-width: 100%;
  float: none;
}
/* .firma_block_color_XX — это ОБЁРТКА КАРТОЧКИ ФИРМЫ
   (XX = 01..05, маркирует тип/рейтинг). Превращаем в тёмное стекло. */
.cn-legacy-wrap [class*="firma_block_color_"] {
  display: block;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-left: 3px solid rgba(255,255,255,.10);
  border-radius: 12px;
  padding: 16px 18px 20px;
  margin: 10px 0;
  transition: all .15s var(--ease, ease);
  overflow: visible;
}
.cn-legacy-wrap [class*="firma_block_color_"]::after {
  content: "";
  display: table;
  clear: both;
}
.cn-legacy-wrap [class*="firma_block_color_"]:hover {
  background: rgba(255,255,255,.05);
  border-color: rgba(212,175,55,.20);
}
/* Цветовые акценты по типу карточки (золотой = надёжная фирма) */
.cn-legacy-wrap .firma_block_color_05 {
  background: linear-gradient(180deg, rgba(212,175,55,.06), rgba(212,175,55,.02)) !important;
  border-left-color: #D4AF37 !important;
  border-color: rgba(212,175,55,.20) !important;
}
.cn-legacy-wrap .firma_block_color_04 { border-left-color: #60A5FA !important; }
.cn-legacy-wrap .firma_block_color_03 { border-left-color: #10B981 !important; }
.cn-legacy-wrap .firma_block_color_02 { border-left-color: rgba(255,255,255,.30) !important; }

.cn-legacy-wrap .firma_block_right2 {
  background: transparent;
  padding: 0;
}

/* === 20. КНОПКА "ПОДРОБНЕЕ" (firma_block_button / firma_block_button2) === */
/* Старый design2009_2 задаёт height:29px — режет новую кнопку */
.cn-legacy-wrap .firma_block_button,
.cn-legacy-wrap .firma_block_button2 {
  display: block !important;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 12px 0 6px !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: left;
}
.cn-legacy-wrap .firma_block_button a,
.cn-legacy-wrap .firma_block_button2 a {
  display: inline-block;
  box-sizing: border-box;
  line-height: 1.35;
  vertical-align: middle;
  background: linear-gradient(135deg, rgba(212,175,55,.20), rgba(212,175,55,.05));
  color: #F0C84A !important;
  border: 1px solid rgba(212,175,55,.40);
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none !important;
  transition: all .15s;
}
.cn-legacy-wrap .firma_block_button a:hover,
.cn-legacy-wrap .firma_block_button2 a:hover {
  background: linear-gradient(135deg, #D4AF37, #A88A20);
  color: #1a1408 !important;
  border-color: #D4AF37;
}
.cn-legacy-wrap .firma_block_button a > img,
.cn-legacy-wrap .firma_block_button2 a > img { display: none !important; }
.cn-legacy-wrap .firma_block_button a::before,
.cn-legacy-wrap .firma_block_button2 a::before {
  content: "Подробнее";
}
.cn-legacy-wrap .firma_block_button a:hover::before,
.cn-legacy-wrap .firma_block_button2 a:hover::before { content: "Подробнее →"; }

.cn-legacy-wrap .firma_razdelit_02 {
  width: 100% !important;
  height: 1px !important;
  margin: 14px 0 4px !important;
  overflow: visible !important;
  background: rgba(255,255,255,.08) !important;
}

/* === 21. ПАГИНАЦИЯ (.slk / .slk_active) === */
.cn-legacy-wrap .slk_navig {
  display: inline-block;
  color: #F0C84A !important;
  font-weight: 600;
  text-decoration: none !important;
  font-size: 13px;
}
.cn-legacy-wrap .slk_navig:hover { text-decoration: underline !important; }
.cn-legacy-wrap .slk,
.cn-legacy-wrap .slk_active {
  display: inline-block;
  min-width: 32px;
  padding: 6px 10px;
  margin: 2px 2px;
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.75) !important;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  transition: all .15s;
}
.cn-legacy-wrap .slk:hover {
  background: rgba(212,175,55,.10);
  border-color: rgba(212,175,55,.30);
  color: #F0C84A !important;
}
.cn-legacy-wrap .slk_active {
  background: linear-gradient(135deg, #D4AF37, #A88A20) !important;
  border-color: #D4AF37 !important;
  color: #1a1408 !important;
  box-shadow: 0 4px 12px rgba(212,175,55,.25);
}

/* === 22. ОБЁРТКА ПАГИНАЦИИ (только когда есть .slk_active) === */
.cn-legacy-wrap .firma_listing:has(> .slk_active) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  height: auto !important;
  min-height: 40px;
  margin: 18px 0;
  padding: 8px 0 !important;
  line-height: 1.4 !important;
  font-size: 0;          /* убираем «пробельные» разделители-палочки между ссылками */
}
.cn-legacy-wrap .firma_listing:has(> .slk_active) > a {
  font-size: 13px;
}
.cn-legacy-wrap .firma_listing:has(> .slk_active)::before {
  content: "Страницы:";
  font-size: 12px;
  font-weight: 700;
  color: rgba(255,255,255,.45);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-right: 6px;
}

/* === 23. МЕНЮ ДОСКИ ОБЪЯВЛЕНИЙ (advert_btn_*.gif) === */
.cn-legacy-wrap a:has(> img[src*="advert_btn_"]) {
  display: inline-block;
  background: linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.85);
  padding: 10px 18px;
  margin: 2px 4px 2px 0;
  border-radius: 999px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .06em;
  text-decoration: none !important;
  transition: all .15s;
}
.cn-legacy-wrap a:has(> img[src*="advert_btn_"]):hover {
  background: linear-gradient(135deg, rgba(212,175,55,.20), rgba(212,175,55,.05));
  border-color: rgba(212,175,55,.40);
  color: #F0C84A;
}
.cn-legacy-wrap a:has(> img[src*="advert_btn_"]) > img { display: none !important; }
.cn-legacy-wrap a:has(> img[src*="advert_btn_001"])::before { content: "Рубрики"; }
.cn-legacy-wrap a:has(> img[src*="advert_btn_002"])::before { content: "Правила"; }
.cn-legacy-wrap a:has(> img[src*="advert_btn_003"])::before { content: "Подать"; }
.cn-legacy-wrap a:has(> img[src*="advert_btn_004"])::before { content: "Удалить"; }
.cn-legacy-wrap a:has(> img[src*="advert_btn_001_2"]),
.cn-legacy-wrap a:has(> img[src*="advert_btn_002_2"]),
.cn-legacy-wrap a:has(> img[src*="advert_btn_003_2"]),
.cn-legacy-wrap a:has(> img[src*="advert_btn_004_2"]) {
  background: linear-gradient(135deg, #D4AF37, #A88A20);
  border-color: #D4AF37;
  color: #1a1408;
}

/* === 23a. КАРТОЧКА ФИРМЫ (firm/X/) — виды деятельности, ключевые слова === */
.cn-legacy-wrap .slk_firma_ctg {
  color: #F0C84A !important;
  font-weight: 600;
  text-decoration: none !important;
}
.cn-legacy-wrap .slk_firma_ctg:hover {
  color: #D4AF37 !important;
  text-decoration: underline !important;
}
/* Карточка фирмы: название, подписи полей, значения */
.cn-legacy-wrap span.firm_name,
.cn-legacy-wrap .firm_name.fn {
  display: block;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #F0C84A !important;
  line-height: 1.3;
  margin-bottom: 4px;
}
.cn-legacy-wrap .td_ctgv1 {
  color: rgba(255,255,255,.58) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 10px 14px 6px 0 !important;
  vertical-align: top;
  white-space: nowrap;
}
.cn-legacy-wrap .td_ctgv2 {
  color: rgba(255,255,255,.90) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  padding: 6px 0 12px !important;
  vertical-align: top;
}
.cn-legacy-wrap .td_ctgv2 a {
  color: #93C5FD !important;
  word-break: break-all;
}
.cn-legacy-wrap .td_ctgv2 a:hover { color: #BFDBFE !important; }
.cn-legacy-wrap .td_ctgv,
.cn-legacy-wrap table[bordercolor='#f6f6f6'] td {
  border-color: rgba(255,255,255,.08) !important;
}
.cn-legacy-wrap .ctg_tell,
.cn-legacy-wrap .ctg_tell .tel {
  color: #93C5FD !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1.5;
}
.cn-legacy-wrap a.url_adrmap {
  color: #60A5FA !important;
  font-size: 12px !important;
  font-weight: 600;
  text-decoration: none !important;
  margin-left: 6px;
}
.cn-legacy-wrap a.url_adrmap:hover {
  color: #BFDBFE !important;
  text-decoration: underline !important;
}
/* Скрываем счётчик просмотров (рудиментарная GIF-картинка, выглядит как загрузка) */
.cn-legacy-wrap img[src*="mod_mystat_firm"] {
  display: none !important;
}
.cn-legacy-wrap tr:has(> td > img[src*="mod_mystat_firm"]),
.cn-legacy-wrap tr:has(> td > a > img[src*="mod_mystat_firm"]) {
  display: none !important;
}
/* Виджеты социальных сетей (VK/G+) — на локалке не грузятся, выглядят как полоски */
.cn-legacy-wrap #vk_like,
.cn-legacy-wrap #vk_groups,
.cn-legacy-wrap #vk_groups_widget,
.cn-legacy-wrap iframe[id^="vkwidget"],
.cn-legacy-wrap iframe[src*="vk.com/widget"],
.cn-legacy-wrap iframe[src*="plusone"] {
  display: none !important;
}
/* Алфавит внутри карточки фирмы (если случайно появился) — скрываем */
.cn-legacy-wrap .alfavit {
  display: none !important;
}

/* === 22b. УСТАРЕВШИЕ ПАРТНЁРСКИЕ БАННЕРЫ (старый адрес «Великий Новгород») === */
/* Тянутся с боевого сайта /uploads/rekonce/*.gif, ломают стилистику cosmos2026 */
.cn-legacy-wrap table:has(img[src*="bn_buhgalter"]),
.cn-legacy-wrap table:has(img[src*="bn_catalogvn"]),
.cn-legacy-wrap table:has(img[src*="bn_stroyca"]),
.cn-legacy-wrap table:has(img[src*="bn_registratorfirm"]) {
  display: none !important;
}

/* === 23b. СТАРЫЕ КНОПКИ "ВЕРНУТЬСЯ" и "НОВОСТИ ФИРМЫ" === */
.cn-legacy-wrap a:has(> img[src*="ctg-004"]),
.cn-legacy-wrap a:has(> img[src*="ctg-009"]) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: var(--rpill, 999px);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none !important;
  transition: all .15s;
  margin: 6px 4px;
}
.cn-legacy-wrap a:has(> img[src*="ctg-004"]) {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.80) !important;
}
.cn-legacy-wrap a:has(> img[src*="ctg-004"]):hover {
  background: rgba(212,175,55,.10);
  border-color: rgba(212,175,55,.30);
  color: #F0C84A !important;
}
.cn-legacy-wrap a:has(> img[src*="ctg-009"]) {
  background: linear-gradient(135deg, rgba(96,165,250,.20), rgba(96,165,250,.05));
  border: 1px solid rgba(96,165,250,.40);
  color: #93C5FD !important;
}
.cn-legacy-wrap a:has(> img[src*="ctg-009"]):hover {
  background: linear-gradient(135deg, #2563C4, #1E40AF);
  border-color: #2563C4;
  color: #fff !important;
}
.cn-legacy-wrap a:has(> img[src*="ctg-004"]) > img,
.cn-legacy-wrap a:has(> img[src*="ctg-009"]) > img { display: none !important; }
.cn-legacy-wrap a:has(> img[src*="ctg-004"])::before { content: "← Вернуться"; }
.cn-legacy-wrap a:has(> img[src*="ctg-009"])::before { content: "Новости фирмы →"; }

/* === 23c. БЕЙДЖИКИ «Надёжная фирма» / «не проверена» (nfirm*.gif) === */
.cn-legacy-wrap img[src*="nfirm.gif"],
.cn-legacy-wrap img[src*="nfirm_no"] {
  display: none !important;
}
.cn-legacy-wrap a:has(> img[src*="nfirm.gif"])::after {
  content: "Надёжная фирма";
  display: inline-block;
  background: linear-gradient(135deg, rgba(212,175,55,.25), rgba(212,175,55,.08));
  color: #F0C84A;
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  vertical-align: middle;
  white-space: nowrap;
}
/* Уберём также через :has-обёртку если она есть — точечно */
.cn-legacy-wrap a:has(> img[src*="nfirm_no"])::after,
.cn-legacy-wrap div:has(> img[src*="nfirm_no"])::after,
.cn-legacy-wrap span:has(> img[src*="nfirm_no"])::after {
  content: "не проверена";
  display: inline-block;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.55);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  vertical-align: middle;
  margin-left: 6px;
  white-space: nowrap;
}

/* === 25. ТЁМНЫЕ ФОРМЫ (regfirm, advert_add и т.п.) === */
/* Исключаем .cn-sf-inp / .cn-hsearch-inp — у них собственный padding под иконку-лупу */
.cn-legacy-wrap input[type="text"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap input[type="email"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap input[type="tel"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap input[type="url"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap input[type="password"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap input[type="number"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap input[type="search"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap input:not([type]):not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap textarea,
.cn-legacy-wrap select {
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 8px !important;
  padding: 9px 12px !important;
  font-family: 'Manrope', 'Segoe UI', sans-serif !important;
  font-size: 14px !important;
  outline: none !important;
  box-sizing: border-box;
  transition: border-color .15s, background .15s;
}
.cn-legacy-wrap input[type="text"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap input[type="email"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap input[type="tel"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap input[type="url"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap input[type="password"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap input[type="number"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap input[type="search"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap textarea:focus,
.cn-legacy-wrap select:focus {
  border-color: rgba(212,175,55,.55) !important;
  background: rgba(255,255,255,.08) !important;
}
.cn-legacy-wrap input::placeholder,
.cn-legacy-wrap textarea::placeholder {
  color: rgba(255,255,255,.40) !important;
}
.cn-legacy-wrap textarea {
  min-height: 90px;
  line-height: 1.55 !important;
  resize: vertical;
}
/* Маленькие input-счётчики "Символов осталось:" — не растягиваем */
.cn-legacy-wrap input[name^="count"] {
  width: 80px !important;
  min-width: 80px !important;
  text-align: center;
  padding: 4px 8px !important;
  font-size: 13px !important;
  font-variant-numeric: tabular-nums;
  font-weight: 700 !important;
  color: #F0C84A !important;
  background: rgba(212,175,55,.10) !important;
  border-color: rgba(212,175,55,.30) !important;
}

/* Submit-кнопки в legacy формах — золотые */
.cn-legacy-wrap input[type="submit"],
.cn-legacy-wrap input[type="button"],
.cn-legacy-wrap button[type="submit"],
.cn-legacy-wrap button:not([class*="cn-"]) {
  background: linear-gradient(135deg, #D4AF37 0%, #A88A20 100%) !important;
  color: #1a1408 !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 11px 24px !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(212,175,55,.25);
  transition: all .15s;
  font-family: 'Manrope', sans-serif !important;
}
.cn-legacy-wrap input[type="submit"]:hover,
.cn-legacy-wrap input[type="button"]:hover,
.cn-legacy-wrap button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(212,175,55,.35) !important;
}

/* Подсказки под лейблами (.reg_firm_mini, .reg_firm_naim) */
.cn-legacy-wrap .reg_firm_mini,
.cn-legacy-wrap .reg_firm_naim,
.cn-legacy-wrap .reg_firm_mini_b,
.cn-legacy-wrap .text_mini,
.cn-legacy-wrap span.text_grey,
.cn-legacy-wrap font[color="#575757"],
.cn-legacy-wrap font[color="#494949"],
.cn-legacy-wrap font[color="#333333"],
.cn-legacy-wrap font[color="#000000"],
.cn-legacy-wrap font[color="black"] {
  color: rgba(255,255,255,.60) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-style: normal !important;
}

/* Тёмный текст внутри легаси (inline color="#000") — белый */
.cn-legacy-wrap *[style*="color:#000"],
.cn-legacy-wrap *[style*="color: #000"],
.cn-legacy-wrap *[style*="color:black"],
.cn-legacy-wrap *[style*="color: black"] {
  color: rgba(255,255,255,.85) !important;
}

/* Сниппет статьи в /news/ — span.text был чёрный */
.cn-legacy-wrap span.text,
.cn-legacy-wrap .news_text,
.cn-legacy-wrap .articles_text,
.cn-legacy-wrap .news_ttall,
.cn-legacy-wrap div[class^="news_"],
.cn-legacy-wrap div[class*=" news_"] {
  color: rgba(255,255,255,.78) !important;
  font-size: 14px !important;
  line-height: 1.65;
}
/* Прямые текстовые узлы внутри news_ttall (Вы можете / прямо сейчас) */
.cn-legacy-wrap .news_ttall,
.cn-legacy-wrap .news_ttall > br + br {
  color: rgba(255,255,255,.85) !important;
}
.cn-legacy-wrap .news_date,
.cn-legacy-wrap .articles_date,
.cn-legacy-wrap span.news_date {
  color: rgba(255,255,255,.50) !important;
  font-size: 12px !important;
  font-weight: 500;
}
.cn-legacy-wrap .news_zag,
.cn-legacy-wrap .articles_zag {
  color: #F0C84A !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

/* Жёлтый блок "Оплата производится..." и подобные таблицы предупреждений */
.cn-legacy-wrap table[bgcolor="#fbdb96"],
.cn-legacy-wrap td[bgcolor="#fbdb96"],
.cn-legacy-wrap *[bgcolor="#fbdb96"],
.cn-legacy-wrap *[bgcolor="#FBDB96"] {
  background: rgba(212,175,55,.10) !important;
  color: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(212,175,55,.30) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
}

/* Блок .oplata_www (был ярко-оранжевый #ffbc75 + чёрный текст) */
.cn-legacy-wrap .oplata_www {
  display: block;
  width: auto !important;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 10px !important;
  padding: 12px 14px !important;
  background: rgba(212,175,55,.10) !important;
  color: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(212,175,55,.30) !important;
  border-radius: 10px !important;
  font-family: 'Manrope', 'Segoe UI', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.cn-legacy-wrap .oplata_www b,
.cn-legacy-wrap .oplata_www u {
  color: #F0C84A !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
.cn-legacy-wrap .oplata_www a {
  display: inline-block;
  margin-top: 6px;
  color: #F0C84A !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

/* Inline-стили с background-color: yellow (лейбл "www:") */
.cn-legacy-wrap span[style*="yellow"],
.cn-legacy-wrap font[style*="yellow"],
.cn-legacy-wrap span[style*="background-color:yellow"],
.cn-legacy-wrap span[style*="background-color: yellow"] {
  background: transparent !important;
  color: rgba(255,255,255,.85) !important;
  font-weight: 700 !important;
  padding: 0 !important;
}

/* === 26. ОБЁРТКА ФОРМЫ — карточный вид === */
.cn-legacy-wrap form {
  margin: 0;
}
.cn-legacy-wrap form table,
.cn-legacy-wrap form tr,
.cn-legacy-wrap form td {
  background: transparent !important;
}
.cn-legacy-wrap form td {
  padding: 6px 8px !important;
  border-color: transparent !important;
}

/* Картинка-капча */
.cn-legacy-wrap img[src*="imgcod"],
.cn-legacy-wrap img[alt="Защитный код"] {
  border-radius: 8px;
  border: 1px solid rgba(212,175,55,.30);
  background: #fff;
  padding: 4px;
  display: inline-block;
}
.cn-legacy-wrap td:has(> img[src*="imgcod"]) {
  border: 0 !important;
}

/* Старые таблицы-обёртки внутри форм: убрать серую рамку bordercolor=#a89a9a */
.cn-legacy-wrap form table[bordercolor="#a89a9a"],
.cn-legacy-wrap form table[bordercolor="#A89A9A"] {
  border: 0 !important;
}
.cn-legacy-wrap form table[bordercolor="#a89a9a"] td,
.cn-legacy-wrap form table[bordercolor="#A89A9A"] td {
  border: 0 !important;
}

/* === 24. АДАПТИВ === */
@media (max-width: 768px) {
  .cn-legacy-wrap h1 { font-size: 20px !important; }
  .cn-legacy-wrap h2 { font-size: 17px !important; }
  .cn-legacy-wrap .firma_block_firmname2,
  .cn-legacy-wrap .firma_block_firmname_one2,
  .cn-legacy-wrap .firma_block_firmname_two2 { font-size: 15px !important; }

  /* --- запрет любых горизонтальных переполнений в legacy-обёртке --- */
  .cn-legacy-wrap { word-wrap: break-word; overflow-wrap: break-word; }
  .cn-legacy-wrap img,
  .cn-legacy-wrap table,
  .cn-legacy-wrap iframe,
  .cn-legacy-wrap object,
  .cn-legacy-wrap embed { max-width: 100% !important; height: auto; }
  .cn-legacy-wrap table { width: 100% !important; }

  /* --- ФОРМЫ /regfirm/, /editfirm/, /comment/ — вертикальный стек --- */
  .cn-legacy-wrap form table,
  .cn-legacy-wrap form tbody,
  .cn-legacy-wrap form tr,
  .cn-legacy-wrap form td {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box;
    border: 0 !important;
  }
  .cn-legacy-wrap form td { padding: 6px 0 !important; }
  /* пустой spacer-tr с colspan=3 — превращаем в просто разделитель */
  .cn-legacy-wrap form tr:has(> td[colspan="3"]:empty),
  .cn-legacy-wrap form tr:has(> td[colspan="3"]:not(:has(*))) {
    height: 0 !important;
    padding: 0 !important;
  }
  .cn-legacy-wrap form input[type="text"],
  .cn-legacy-wrap form input[type="email"],
  .cn-legacy-wrap form input[type="tel"],
  .cn-legacy-wrap form input[type="url"],
  .cn-legacy-wrap form input[type="password"],
  .cn-legacy-wrap form input[type="search"],
  .cn-legacy-wrap form textarea,
  .cn-legacy-wrap form select {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* счётчики "Символов осталось" — оставляем компактными, но достаточно для 4-х цифр */
  .cn-legacy-wrap form input[name^="count"] { width: 80px !important; min-width: 80px !important; display: inline-block !important; }
  /* картинка-капча не растягивается */
  .cn-legacy-wrap form img[src*="imgcod"] { width: auto !important; max-width: 100% !important; }
  /* блок ссылок об оплате не вылазит */
  .cn-legacy-wrap .oplata_www { word-break: break-word; }

  /* --- КАРТОЧКА ФИРМЫ /firm/N/ — стек: лого + инфо + строки лейбл/значение --- */
  /* охватываем ЛЮБУЮ таблицу, содержащую лейблы td_ctgv1/td_ctgv2 — и внутри неё всё в стек */
  .cn-legacy-wrap table:has(.td_ctgv1),
  .cn-legacy-wrap table:has(.td_ctgv1) tbody,
  .cn-legacy-wrap table:has(.td_ctgv1) tr,
  .cn-legacy-wrap table:has(.td_ctgv1) td,
  .cn-legacy-wrap table:has(.firm_name) tr,
  .cn-legacy-wrap table:has(.firm_name) > tbody > tr > td,
  .cn-legacy-wrap .firma_block,
  .cn-legacy-wrap .firma_block table,
  .cn-legacy-wrap .firma_block tbody,
  .cn-legacy-wrap .firma_block tr,
  .cn-legacy-wrap .firma_block td {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .cn-legacy-wrap .firma_block td { padding: 6px 0 !important; }
  /* блок «лейбл : значение» — в столбик */
  .cn-legacy-wrap .td_ctgv,
  .cn-legacy-wrap .td_ctgv1,
  .cn-legacy-wrap .td_ctgv2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 4px 0 !important;
  }
  .cn-legacy-wrap .td_ctgv1 { padding-top: 10px !important; }
  .cn-legacy-wrap .td_ctgv2 { word-wrap: break-word; overflow-wrap: break-word; }
  /* лого фирмы — на всю ширину сверху */
  .cn-legacy-wrap .firma_block_logo,
  .cn-legacy-wrap td:has(> a > img[alt*="лого"]),
  .cn-legacy-wrap td:has(> img[alt*="лого"]) {
    text-align: center !important;
  }
  /* бейдж «Надёжная фирма» не обрезаем */
  .cn-legacy-wrap img[src*="nfirm.gif"] + *,
  .cn-legacy-wrap img[src*="nfirm.gif"]::after {
    white-space: normal !important;
  }
  /* «Вернуться»/«В каталог» — кнопки в столбик чтобы не наслаивались */
  .cn-legacy-wrap td:has(> a[href*="javascript:history.back"]),
  .cn-legacy-wrap td:has(> a.slk2),
  .cn-legacy-wrap td:has(> a.slk) {
    display: block !important;
    text-align: center !important;
    padding: 6px 0 !important;
  }
}

/* ===== Список регионов (pages/region.php) ===== */
.cn-legacy-wrap .cn-region-page { margin: 0 0 18px; }
.cn-legacy-wrap .cn-region-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
}
.cn-legacy-wrap .cn-region-search-wrap i {
  color: #F0C84A;
  font-size: 15px;
  flex: 0 0 auto;
}
.cn-legacy-wrap .cn-region-search-inp {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: rgba(255,255,255,0.95);
  font: inherit;
  font-size: 15px;
}
.cn-legacy-wrap .cn-region-search-inp::placeholder { color: rgba(255,255,255,0.45); }
.cn-legacy-wrap .cn-region-search-clear {
  flex: 0 0 auto;
  border: 0;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.8);
  width: 28px;
  height: 28px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
.cn-legacy-wrap .cn-region-search-clear:hover { background: rgba(255,255,255,0.14); }
.cn-legacy-wrap .cn-region-search-meta {
  margin: 0 0 10px;
  font-size: 13px;
  color: rgba(255,255,255,0.55);
}
.cn-legacy-wrap .cn-region-no-results {
  margin: 12px 0 0;
  padding: 14px;
  text-align: center;
  color: rgba(255,255,255,0.55);
  border-radius: 10px;
  background: rgba(255,255,255,0.03);
}
.cn-legacy-wrap .ul_region_list {
  list-style: none;
  margin: 0;
  padding: 8px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
}
.cn-legacy-wrap .ul_region_list li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 0;
  padding: 8px 10px;
  border-radius: 10px;
  line-height: 1.3;
  min-height: 34px;
  white-space: normal;
  overflow: hidden;
  transition: background .2s ease;
}
.cn-legacy-wrap .ul_region_list li:hover {
  background: rgba(255,255,255,0.06);
}
.cn-legacy-wrap .ul_region_list li img {
  flex: 0 0 auto;
  width: 31px;
  height: 22px;
  object-fit: cover;
  border-radius: 3px;
  vertical-align: middle;
  display: inline-block;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08);
}
.cn-legacy-wrap .ul_region_list li a.region_list_slk,
.cn-legacy-wrap .ul_region_list li a.region_list_slkgl {
  flex: 1 1 auto;
  display: inline-block;
  word-break: normal;
  overflow-wrap: anywhere;
  padding: 0;
  color: rgba(255,255,255,0.92) !important;
  text-decoration: none !important;
  font-weight: 500;
  letter-spacing: 0.1px;
}
.cn-legacy-wrap .ul_region_list li a.region_list_slkgl {
  color: #F0C84A !important;
  font-weight: 700;
}
.cn-legacy-wrap .ul_region_list li a.region_list_slk:hover,
.cn-legacy-wrap .ul_region_list li a.region_list_slkgl:hover {
  color: #F0C84A !important;
  text-decoration: none !important;
}

/* ===== Кнопки-действия cosmos2026 (rekonce, kontakt и т.п.) ===== */
.cn-legacy-wrap .cn-action-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 18px 0;
  max-width: 480px;
}
.cn-legacy-wrap .cn-btn-action {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  color: rgba(255,255,255,0.92) !important;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 14px;
  transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.cn-legacy-wrap .cn-btn-action:hover {
  background: rgba(212,175,55,0.10);
  border-color: rgba(212,175,55,0.45);
  color: #F0C84A !important;
  transform: translateY(-1px);
}
.cn-legacy-wrap .cn-btn-action-ico {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(212,175,55,0.12);
  color: #F0C84A;
  font-size: 16px;
}
.cn-legacy-wrap .cn-btn-action-t {
  flex: 1 1 auto;
}

/* ===== Формы объявлений (advert_del, advert_add и т.п.) ===== */

/* Прячем уголковые GIF-фоны старой таблицы оформления */
.cn-legacy-wrap td[background*="adv-001.gif"],
.cn-legacy-wrap td[background*="adv-002.gif"],
.cn-legacy-wrap td[background*="adv-003.gif"],
.cn-legacy-wrap td[background*="adv-004.gif"],
.cn-legacy-wrap td[background*="adv-005.gif"],
.cn-legacy-wrap td[background*="adv-006.gif"],
.cn-legacy-wrap td[background*="adv-007.gif"],
.cn-legacy-wrap td[background*="adv-008.gif"] {
  background-image: none !important;
  height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  width: 0 !important;
  padding: 0 !important;
}

/* Перекрываем хардкод-цвета внутри табличной разметки advert */
.cn-legacy-wrap td[bgcolor="#ffffff"],
.cn-legacy-wrap td[bgcolor="#FFFFFF"] {
  background-color: transparent !important;
  color: rgba(255,255,255,0.92) !important;
}
.cn-legacy-wrap td[bgcolor="#f5f5f5"],
.cn-legacy-wrap td[bgcolor="#F5F5F5"] {
  background-color: rgba(212,175,55,0.10) !important;
  color: #F0C84A !important;
  border-radius: 8px;
}

/* Заголовок таблицы (advert_zagr) */
.cn-legacy-wrap .advert_zagr {
  color: #F0C84A !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  padding: 10px 0 !important;
}

/* Ячейки с текстом / радио */
.cn-legacy-wrap .advert1,
.cn-legacy-wrap .advert2,
.cn-legacy-wrap .advertv_razdelname {
  color: rgba(255,255,255,0.92) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Радио-кнопки с акцентным цветом */
.cn-legacy-wrap .advert1 input[type="radio"],
.cn-legacy-wrap .advert2 input[type="radio"],
.cn-legacy-wrap input[type="radio"][name="tip"] {
  accent-color: #D4AF37 !important;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-right: 6px;
}
.cn-legacy-wrap .advert1 label,
.cn-legacy-wrap .advert2 label {
  cursor: pointer;
  color: rgba(255,255,255,0.92);
}

/* Поля ввода в формах advert_* */
.cn-legacy-wrap input.inp_left,
.cn-legacy-wrap input[type="text"].inp_left,
.cn-legacy-wrap input[type="password"].inp_left,
.cn-legacy-wrap input[name="advertnomer"],
.cn-legacy-wrap input[name="advertpass"] {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.95) !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .2s ease, background .2s ease;
}
.cn-legacy-wrap input.inp_left:focus,
.cn-legacy-wrap input[name="advertnomer"]:focus,
.cn-legacy-wrap input[name="advertpass"]:focus {
  border-color: #D4AF37 !important;
  background: rgba(255,255,255,0.09) !important;
}

/* Селекты в формах (регион/город/категории и т.д.) — тёмная тема */
.cn-legacy-wrap select,
.cn-legacy-wrap select.inp_left {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.95) !important;
  padding: 9px 36px 9px 12px !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23d4af37%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 10px !important;
  transition: border-color .2s ease, background-color .2s ease;
}
.cn-legacy-wrap select:focus,
.cn-legacy-wrap select.inp_left:focus {
  border-color: #D4AF37 !important;
  background-color: rgba(255,255,255,0.09) !important;
}
.cn-legacy-wrap select:disabled,
.cn-legacy-wrap select.inp_left:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
}
/* === Форма регистрации фирмы: блок выбора категории — адаптив для узких экранов === */
/* Контейнеры фильтра и дерева категорий идут с inline-style width:561px (фикс).
   На узких экранах они вылазят за пределы колонки таблицы → правая часть обрезается.
   Делаем их responsive: 100% ширины родителя, не больше 561px. */
.cn-legacy-wrap #cn_categ_filter,
.cn-legacy-wrap #cn_cat_tree {
  width: 100% !important;
  max-width: 561px !important;
  box-sizing: border-box !important;
}
/* Длинные названия подкатегорий («Автотранспортные предприятия» и т.п.) должны
   переноситься, а не уезжать за правый край. Span внутри flex-row сам по себе не
   уменьшается ниже самого длинного слова — даём ему явный min-width:0 и
   разрешаем перенос по любым символам. */
.cn-legacy-wrap #cn_cat_tree .cn-cat-row .cn-cat-name,
.cn-legacy-wrap #cn_cat_tree .cn-cat-sum .cn-cat-name {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* Сама ячейка таблицы регистрации на узких экранах тоже не должна расширять
   родительскую таблицу. */
@media (max-width: 700px) {
  .cn-legacy-wrap form table td { word-break: break-word; }
  .cn-legacy-wrap #cn_cat_tree details > summary {
    padding-right: 4px;
  }
}

/* === Карточка фирмы (платная) — растягиваем width=741 на всю ширину блока === */
/* В firm.php есть ДВЕ ветки, обе создают <table width='741' style='background: url(/uploads/images/firm-fon/...)...'>.
   Первая — внутри <div class='vcard'>, вторая (после перехода со страницы каталога) — без обёртки.
   Поэтому селектор по атрибуту style (универсальный), а не по .vcard > table. */
.cn-legacy-wrap .vcard {
  border-radius: 10px;
  overflow: hidden;
}
.cn-legacy-wrap table[style*="firm-fon"],
.cn-legacy-wrap table[background*="firm-fon"] {
  width: 100% !important;
  max-width: 100% !important;
  background-size: 100% auto !important;
  background-repeat: repeat-y !important;
  background-position: center top !important;
  /* Полупрозрачная тёмная «подложка» поверх фоновой картинки — гарантирует
     читаемость текста даже на светлых фонах. Через inset box-shadow рисуется
     слой между background и содержимым ячеек. 0.30 — почти прозрачно. */
  box-shadow: inset 0 0 0 9999px rgba(15, 18, 28, 0.30) !important;
}

/* === Кастомный dropdown (cn-cs) для select полей в формах === */
.cn-cs-wrap {
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-family: inherit;
  font-size: 14px;
  text-align: left;
}
.cn-cs-wrap .cn-cs-btn {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; box-sizing: border-box;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.95);
  padding: 9px 36px 9px 12px;
  border-radius: 8px;
  font-family: inherit; font-size: 14px; line-height: 1.3;
  cursor: pointer; outline: none;
  transition: border-color .15s ease, background-color .15s ease;
  text-align: left;
  min-height: 38px;
}
.cn-cs-wrap .cn-cs-btn:hover { border-color: rgba(212,175,55,0.45); }
.cn-cs-wrap.is-open .cn-cs-btn,
.cn-cs-wrap .cn-cs-btn:focus { border-color: #D4AF37; background: rgba(255,255,255,0.09); }
.cn-cs-wrap .cn-cs-val {
  flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: rgba(255,255,255,0.95);
}
.cn-cs-wrap .cn-cs-val.cn-cs-ph { color: rgba(255,255,255,0.55); font-style: italic; }
.cn-cs-wrap .cn-cs-arr {
  width: 10px; height: 10px; flex: none; margin-left: 8px;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23d4af37%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat; background-position: center; background-size: contain;
  transition: transform .2s ease;
}
.cn-cs-wrap.is-open .cn-cs-arr { transform: rotate(180deg); }

.cn-cs-wrap .cn-cs-dd {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: #1a1a1a;
  border: 1px solid rgba(212,175,55,0.45);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.55);
  padding: 8px;
  z-index: 9999;
  min-width: 260px;
  max-height: 340px;
  display: flex; flex-direction: column;
  overflow: hidden;
}
.cn-cs-wrap .cn-cs-dd[hidden] { display: none !important; }
.cn-cs-wrap .cn-cs-filter {
  width: 100%; box-sizing: border-box;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.14);
  color: #fff;
  padding: 7px 10px; font-size: 13px; font-family: inherit;
  border-radius: 6px; outline: none; margin-bottom: 6px;
}
.cn-cs-wrap .cn-cs-filter:focus { border-color: #D4AF37; }
.cn-cs-wrap .cn-cs-list {
  flex: 1 1 auto; overflow-y: auto; padding-right: 2px;
}
.cn-cs-wrap .cn-cs-list::-webkit-scrollbar { width: 6px; }
.cn-cs-wrap .cn-cs-list::-webkit-scrollbar-track { background: transparent; }
.cn-cs-wrap .cn-cs-list::-webkit-scrollbar-thumb { background: #444; border-radius: 6px; }
.cn-cs-wrap .cn-cs-item {
  display: block; width: 100%; text-align: left;
  background: transparent; border: 0; color: #d8d4c4;
  padding: 8px 10px; font-size: 13px; font-family: inherit;
  border-radius: 6px; cursor: pointer; line-height: 1.35;
  transition: background-color .12s ease, color .12s ease;
}
.cn-cs-wrap .cn-cs-item:hover { background: rgba(212,175,55,0.16); color: #fff; }
.cn-cs-wrap .cn-cs-item.is-active { background: rgba(212,175,55,0.22); color: #ffd95a; font-weight: 600; }
.cn-cs-wrap .cn-cs-hl { background: transparent; color: #D4AF37; font-weight: 700; font-style: normal; }
.cn-cs-wrap .cn-cs-empty {
  padding: 10px 8px; color: rgba(255,255,255,0.55); font-size: 13px; text-align: center;
}

/* Кликабельные телефоны в карточках (mod_phone_links оборачивает в .cn-tel) */
a.cn-tel,
a.cn-tel:visited,
a.cn-tel:link {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(212,175,55,.5);
  transition: color .15s ease, border-color .15s ease;
}
a.cn-tel:hover,
a.cn-tel:active {
  color: #D4AF37 !important;
  border-bottom-color: #D4AF37;
}
/* На мобильных — увеличиваем зону тапа */
@media (max-width: 720px) {
  a.cn-tel { padding: 2px 0; display: inline-block; min-height: 28px; line-height: 28px; }
}

/* В выпадающем списке options фон тёмный (Firefox/Chrome поддерживают) */
.cn-legacy-wrap select option,
.cn-legacy-wrap select.inp_left option {
  background: #1a1a1a !important;
  color: #ffffff !important;
  padding: 6px 10px;
}
.cn-legacy-wrap select option:checked,
.cn-legacy-wrap select option:hover,
.cn-legacy-wrap select.inp_left option:checked {
  background: linear-gradient(0deg, rgba(212,175,55,0.25), rgba(212,175,55,0.25)) !important;
  color: #ffffff !important;
}

/* Кнопка submit для advert-форм (универсальная) */
.cn-legacy-wrap input.button[type="submit"],
.cn-legacy-wrap input.cn-btn-submit[type="submit"] {
  background: linear-gradient(135deg, #D4AF37, #F0C84A) !important;
  background-image: linear-gradient(135deg, #D4AF37, #F0C84A) !important;
  border: none !important;
  color: #1a1408 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 11px 22px !important;
  border-radius: 10px !important;
  width: auto !important;
  height: auto !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(212,175,55,0.25) !important;
  transition: transform .15s ease, box-shadow .2s ease !important;
  margin-top: 14px !important;
}
.cn-legacy-wrap input.button[type="submit"]:hover,
.cn-legacy-wrap input.cn-btn-submit[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(212,175,55,0.4) !important;
}

/* "Выбранные" маркеры — был зелёный, теперь золото */
.cn-legacy-wrap .advert_text_ok,
.cn-legacy-wrap .advert_text_ok2 {
  color: #F0C84A !important;
  font-weight: 700 !important;
}
.cn-legacy-wrap .advert_text_ok2 {
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(240,200,74,0.5);
  padding-bottom: 2px;
}
.cn-legacy-wrap a.advert_text_ok2,
.cn-legacy-wrap a .advert_text_ok2 {
  color: #F0C84A !important;
}
/* Не-выбранные альтернативы (обычно тёмные / красные) — приглушённый белый */
.cn-legacy-wrap .advert_text,
.cn-legacy-wrap .advert_text2,
.cn-legacy-wrap .advert_text_no,
.cn-legacy-wrap .advert_text_no2 {
  color: rgba(255,255,255,0.82) !important;
}
/* Жирные акценты внутри описаний (1 шт., до 70 символов и т.п.) */
.cn-legacy-wrap .advert_text b,
.cn-legacy-wrap .advert_text2 b,
.cn-legacy-wrap .advert_text_ok b,
.cn-legacy-wrap .advert_text_ok2 b,
.cn-legacy-wrap .advert_text_no b,
.cn-legacy-wrap .advert_text_no2 b {
  color: #F0C84A !important;
}

/* Описание тарифных пакетов (.adwcf_*) — было тёмно-серым на белом */
.cn-legacy-wrap .adwcf_pla,
.cn-legacy-wrap .adwcf_plamini,
.cn-legacy-wrap .adwcf_zagsb {
  color: rgba(255,255,255,0.82) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
.cn-legacy-wrap .adwcf_pla b,
.cn-legacy-wrap .adwcf_plamini b,
.cn-legacy-wrap .adwcf_zagsb b {
  color: #F0C84A !important;
}
.cn-legacy-wrap .adwcf_plared {
  color: #FF6B6B !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* Поля ввода (input type text/password/email/tel/number, textarea) */
/* Исключаем .cn-sf-inp / .cn-hsearch-inp — у них собственный padding под иконку-лупу */
.cn-legacy-wrap form input[type="text"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap form input[type="password"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap form input[type="email"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap form input[type="tel"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap form input[type="number"]:not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap form input:not([type]):not(.cn-sf-inp):not(.cn-hsearch-inp),
.cn-legacy-wrap form textarea {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.95) !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .2s ease, background .2s ease;
}
.cn-legacy-wrap form input[type="text"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap form input[type="password"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap form input[type="email"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap form input[type="tel"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap form input[type="number"]:not(.cn-sf-inp):not(.cn-hsearch-inp):focus,
.cn-legacy-wrap form textarea:focus {
  border-color: #D4AF37 !important;
  background: rgba(255,255,255,0.09) !important;
}

/* <select> и <select multiple> — тёмный фон, светлый текст */
/* Исключаем .cn-sf-region — у него собственная стилизация в блоке search-form */
.cn-legacy-wrap select:not(.cn-sf-region) {
  color-scheme: dark;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.95) !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  outline: none !important;
  cursor: pointer !important;
  /* стрелка для одиночного select */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,0.6) 50%),
                    linear-gradient(135deg, rgba(255,255,255,0.6) 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  padding-right: 32px !important;
}
.cn-legacy-wrap select:focus {
  border-color: #D4AF37 !important;
  background-color: rgba(255,255,255,0.09) !important;
}
.cn-legacy-wrap select[multiple],
.cn-legacy-wrap select[size] {
  appearance: listbox;
  -webkit-appearance: listbox;
  background-image: none !important;
  padding: 6px !important;
  min-height: 220px !important;
}
.cn-legacy-wrap select option {
  background: #0C1425 !important;
  color: rgba(255,255,255,0.92) !important;
  padding: 6px 10px !important;
}
.cn-legacy-wrap select option:checked,
.cn-legacy-wrap select option:hover {
  background: rgba(212,175,55,0.20) !important;
  color: #F0C84A !important;
}
/* Старый Firefox / некоторые WebKit — подсветка выбранной опции в multiple */
.cn-legacy-wrap select[multiple] option:checked,
.cn-legacy-wrap select[size] option:checked {
  background: linear-gradient(rgba(212,175,55,0.30), rgba(212,175,55,0.30)) !important;
  color: #F0C84A !important;
  font-weight: 600 !important;
}

/* ── Подсказки поиска (autocomplete) ── */
.cn-hsearch-wrap,
.cn-sf-field,
.cn-mob-search {
  position: relative;
}
.cn-suggest-box {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 9000;
  background: rgba(12, 20, 37, 0.98);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
  overflow: hidden;
  max-height: 320px;
  overflow-y: auto;
}
.cn-suggest-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
  font-size: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.cn-suggest-item:hover,
.cn-suggest-item.cn-suggest-active {
  background: rgba(212, 175, 55, 0.15);
  color: #F0C84A;
}
.cn-suggest-item i {
  color: var(--gold, #D4AF37);
  opacity: 0.85;
  flex-shrink: 0;
}
.cn-suggest-all {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border: 0;
  background: rgba(212, 175, 55, 0.12);
  color: #F0C84A;
  font-size: 13px;
  cursor: pointer;
  text-align: left;
}
.cn-suggest-all:hover {
  background: rgba(212, 175, 55, 0.22);
}
.cn-suggest-empty {
  padding: 12px 14px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 13px;
}

/* ── Блок Яндекс-поиска на главной ── */
.cn-ya-search {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 204, 0, 0.25);
  background: rgba(255, 204, 0, 0.06);
}
.cn-ya-search-h {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}
.cn-ya-search-h i {
  color: #fc0;
}
.cn-ya-form {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.cn-ya-inp {
  flex: 1;
  min-width: 160px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  font-size: 14px;
}
.cn-ya-btn {
  padding: 10px 16px;
  border-radius: 8px;
  border: 0;
  background: linear-gradient(135deg, #fc0, #e6b800);
  color: #1a1200;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  white-space: nowrap;
}
.cn-ya-btn:hover {
  filter: brightness(1.05);
}

/* Старый виджет Яндекса (жёлтая форма site.yandex.net) — скрыть */
.cn-legacy-wrap .yandexform,
.cn-legacy-wrap div.yandexform {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

.cn-ya-search--block {
  margin-top: 20px;
}
.cn-sf-hint {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.6);
}
.cn-sf-hint i {
  color: var(--gold, #D4AF37);
  margin-right: 6px;
}
.cn-ya-search-lead {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}
.cn-ya-search-lead strong {
  color: rgba(255, 255, 255, 0.9);
}
.cn-ya-search--block .cn-ya-inp {
  background: rgba(0, 0, 0, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
.cn-ya-search--block .cn-ya-inp::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.cn-ya-search--block .cn-ya-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* «Ничего не найдено» на /search/ — улучшенный блок 2026-06-15 */
.cn-search-empty {
  margin: 24px 0;
  padding: 28px 32px;
  background: linear-gradient(180deg, rgba(13, 19, 36, .65) 0%, rgba(13, 19, 36, .4) 100%);
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 20px;
  color: #cbd5e1;
  font-size: 15px;
  line-height: 1.55;
}
.cn-search-empty b {
  display: block;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
.cn-search-empty .slk,
.cn-search-empty a.slk {
  color: #ffcc00 !important;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255, 204, 0, .5);
}
.cn-search-empty .slk:hover,
.cn-search-empty a.slk:hover {
  border-bottom-color: #ffcc00;
}
.cn-search-empty-hint {
  display: block;
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
  margin-top: 14px;
}
.cn-search-empty-list {
  color: rgba(255, 255, 255, 0.8);
  margin: 6px 0 0 20px;
  padding: 0;
}
.cn-search-empty-list li {
  margin-bottom: 4px;
}

/* ==========================================================
   CN-TARIFFS — pricing grid for /rekonce/
   ========================================================== */
.cn-tariffs-section {
  margin: 28px 0 18px;
}
.cn-tariffs-section .cn-tariffs-lead {
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 1.5;
}
.cn-tariffs-section h2 {
  margin: 0 0 8px;
}

/* HERO card — premium tariff */
.cn-tariff-hero {
  position: relative;
  margin: 0 0 22px;
  padding: 24px 28px;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(212, 175, 55, 0.20) 0%, rgba(212, 175, 55, 0.04) 100%),
    rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(212, 175, 55, 0.48);
  box-shadow: 0 8px 28px rgba(212, 175, 55, 0.10);
  overflow: hidden;
}
.cn-tariff-hero::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.22) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.cn-tariff-hero > * { position: relative; z-index: 1; }

.cn-tariff-badge {
  display: inline-block;
  padding: 5px 12px;
  background: #D4AF37;
  color: #1A0F00;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-radius: 4px;
  margin-bottom: 12px;
}
.cn-tariff-hero h3 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.25;
}
.cn-tariff-hero .cn-tariff-price {
  font-size: 32px;
  font-weight: 900;
  color: #D4AF37;
  margin: 0 0 16px;
  line-height: 1;
}
.cn-tariff-hero .cn-tariff-price small {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  margin-left: 4px;
}
.cn-tariff-hero ul {
  margin: 0 0 20px;
  padding-left: 0;
  list-style: none;
  color: rgba(255, 255, 255, 0.88);
}
.cn-tariff-hero ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.5;
}
.cn-tariff-hero ul li::before {
  content: '\2713';
  position: absolute;
  left: 0; top: 0;
  color: #D4AF37;
  font-weight: 700;
}

/* CTA buttons */
.cn-tariff-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none !important;
  font-weight: 700;
  border-radius: 8px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}
.cn-tariff-hero .cn-tariff-cta {
  background: #D4AF37;
  color: #000000 !important;
  font-size: 15px;
  padding: 12px 24px;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.30);
}
.cn-tariff-hero .cn-tariff-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(212, 175, 55, 0.50);
}

/* Grid layout */
.cn-tariff-grid {
  display: grid;
  gap: 14px;
  margin: 0 0 22px;
}
.cn-tariff-grid.cn-tg-2 { grid-template-columns: repeat(2, 1fr); }
.cn-tariff-grid.cn-tg-3 { grid-template-columns: repeat(3, 1fr); }
.cn-tariff-grid.cn-tg-4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 820px) {
  .cn-tariff-grid.cn-tg-4 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 720px) {
  .cn-tariff-grid.cn-tg-3 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .cn-tariff-grid.cn-tg-2 { grid-template-columns: 1fr; }
  .cn-tariff-grid.cn-tg-4 { grid-template-columns: 1fr; }
}

/* Regular card */
.cn-tariff-card {
  position: relative;
  padding: 18px 20px 16px;
  background: rgba(15, 23, 42, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
}
.cn-tariff-card:hover {
  border-color: rgba(212, 175, 55, 0.55);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.30);
}
.cn-tariff-tag {
  display: inline-block;
  align-self: flex-start;
  padding: 3px 9px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #D4AF37;
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 4px;
  margin-bottom: 10px;
}
.cn-tariff-card h4 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}
.cn-tariff-card .cn-tariff-price {
  font-size: 22px;
  font-weight: 800;
  color: #D4AF37;
  margin: 0 0 10px;
  line-height: 1;
}
.cn-tariff-card p {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.45;
  flex-grow: 1;
}
.cn-tariff-card .cn-tariff-cta {
  background: transparent;
  border: 1px solid rgba(212, 175, 55, 0.55);
  color: #D4AF37 !important;
  font-size: 13px;
  padding: 9px 14px;
  align-self: stretch;
}
.cn-tariff-card .cn-tariff-cta:hover {
  background: #D4AF37;
  color: #000000 !important;
  border-color: #D4AF37;
}

/* Section subhead */
.cn-tariff-h3 {
  margin: 28px 0 14px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 8px;
}

/* Compact action-buttons fallback styling — only inside tariffs section */
.cn-tariffs-section .cn-action-buttons {
  margin-top: 0;
}

/* === Карточка объявления: контактные данные на тёмном фоне === */
/* Сами строки (контейнер) — светлый текст для имени, телефона, e-mail и др. */
.cn-legacy-wrap .advertv_razdel_null,
.cn-legacy-wrap .advert_razdel_null {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin: 4px 0 !important;
}
/* Лейбл (Контактное лицо:, Телефон:, E-mail:) — чуть приглушённее, но всё ещё контрастный */
.cn-legacy-wrap .advertv_razdel_null .advertv_razdelname,
.cn-legacy-wrap .advert_razdel_null .advertv_razdelname {
  color: rgba(255, 255, 255, 0.55) !important;
  font-weight: 400 !important;
}
/* Ссылка "написать" в e-mail */
.cn-legacy-wrap .advertv_razdel_null a.slk,
.cn-legacy-wrap .advert_razdel_null a.slk {
  color: #D4AF37 !important;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(212, 175, 55, 0.45) !important;
}
.cn-legacy-wrap .advertv_razdel_null a.slk:hover,
.cn-legacy-wrap .advert_razdel_null a.slk:hover {
  color: #E6C966 !important;
  border-bottom-color: #E6C966 !important;
}

/* Регион — светлее, italic */
.cn-legacy-wrap .advertv_razdel_region {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 14px !important;
  margin: 4px 0 !important;
}

/* Подписи ID (Фирма ID / Объявление ID под H1, № объявления в карточке) — золотисто-серый, заметнее */
.cn-legacy-wrap .cn-entity-id,
.cn-legacy-wrap .cn-advert-num,
.cn-entity-id,
.cn-advert-num {
  color: rgba(212, 175, 55, 0.75) !important;
  font-size: 12px !important;
}
.cn-legacy-wrap .cn-entity-id b,
.cn-legacy-wrap .cn-advert-num b,
.cn-entity-id b,
.cn-advert-num b {
  color: #E6C966 !important;
  font-weight: 700 !important;
}

/* === Карта сайта — читаемые ссылки на тёмном фоне === */
.cn-legacy-wrap a.slk_map,
.cn-legacy-wrap a.slk_map:link,
.cn-legacy-wrap a.slk_map:visited {
  color: rgba(255,255,255,.88) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1.6 !important;
}
.cn-legacy-wrap a.slk_map:hover {
  color: #F0C84A !important;
  text-decoration: underline !important;
}
.cn-legacy-wrap a.slk_map_zag,
.cn-legacy-wrap a.slk_map_zag:link,
.cn-legacy-wrap a.slk_map_zag:visited {
  color: #F0C84A !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: inline-block;
  margin: 8px 0 4px;
}
.cn-legacy-wrap a.slk_map_zag:hover {
  color: #FFE082 !important;
  text-decoration: underline !important;
}
.cn-legacy-wrap table[width='741'] td.text,
.cn-legacy-wrap table[width='741'] td[width='721'] {
  color: rgba(255,255,255,.85) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* === Визитка с фоновой картинкой — затемнение для читаемости === */
.cn-legacy-wrap table[style*="firm-fon"],
.cn-legacy-wrap table[style*="firm-fon/"] {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}
.cn-legacy-wrap table[style*="firm-fon"]::before,
.cn-legacy-wrap table[style*="firm-fon/"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,14,28,.78) 0%, rgba(8,14,28,.88) 100%);
  pointer-events: none;
  z-index: 0;
}
.cn-legacy-wrap table[style*="firm-fon"] > tbody,
.cn-legacy-wrap table[style*="firm-fon/"] > tbody {
  position: relative;
  z-index: 1;
}
.cn-legacy-wrap table[style*="firm-fon"] .firm_name,
.cn-legacy-wrap table[style*="firm-fon"] .td_ctgv2,
.cn-legacy-wrap table[style*="firm-fon/"] .firm_name,
.cn-legacy-wrap table[style*="firm-fon/"] .td_ctgv2 {
  text-shadow: 0 1px 3px rgba(0,0,0,.85);
}
.cn-legacy-wrap table[style*="firm-fon"] .td_ctgv2,
.cn-legacy-wrap table[style*="firm-fon/"] .td_ctgv2 {
  color: #fff !important;
}
.cn-legacy-wrap table[style*="firm-fon"] img[src*="default.jpg"],
.cn-legacy-wrap table[style*="firm-fon/"] img[src*="default.jpg"] {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  background: rgba(8,14,28,.5);
}

/* Адрес и текст на визитках с фоном — читаемость */
.cn-legacy-wrap .ctg_adres {
  color: rgba(255,255,255,.92) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  display: inline-block;
  max-width: 100%;
  word-wrap: break-word;
}
.cn-legacy-wrap table[style*="firm-fon"] .ctg_adres,
.cn-legacy-wrap table[style*="firm-fon/"] .ctg_adres {
  background: rgba(8,14,28,.55);
  padding: 4px 8px;
  border-radius: 6px;
}
.cn-legacy-wrap table[style*="firm-fon"] td[width='160'],
.cn-legacy-wrap table[style*="firm-fon/"] td[width='160'] {
  vertical-align: top !important;
  max-width: 175px;
  overflow: hidden;
}
.cn-legacy-wrap table[style*="firm-fon"] td[width='160'] img,
.cn-legacy-wrap table[style*="firm-fon/"] td[width='160'] img {
  max-width: 160px !important;
  height: auto !important;
  object-fit: contain;
}

/* Regional firm list on homepage (subdomains) */
.cn-firm-list-reg {
  margin: 20px 0 24px;
  padding: 18px 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r10, 10px);
}
.cn-flr-title {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 700;
  color: var(--t1, #f0f0f0);
}
.cn-flr-list {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: 24px;
}
@media (max-width: 640px) {
  .cn-flr-list { columns: 1; }
}
.cn-flr-item {
  margin: 0 0 8px;
  break-inside: avoid;
}
.cn-flr-item a {
  color: var(--t2, #d0d0d0);
  text-decoration: none;
  font-size: 14px;
}
.cn-flr-item a:hover { color: var(--gold, #e8b923); }
.cn-flr-paid a::after {
  content: " *";
  color: var(--gold, #e8b923);
  font-size: 12px;
}
.cn-flr-foot { margin: 14px 0 0; }
.cn-flr-all {
  color: var(--gold, #e8b923) !important;
  font-weight: 600;
  text-decoration: none !important;
}
.cn-flr-all:hover { text-decoration: underline !important; }

/* firm_list — полный список компаний региона */
.cn-firm-list-page { margin: 0 0 24px; }
.cn-flp-alpha { margin: 0 0 20px; padding: 14px 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; }
.cn-flp-alpha-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 8px; }
.cn-flp-alpha-row:last-child { margin-bottom: 0; }
.cn-flp-alpha-lbl { min-width: 36px; font-size: 11px; font-weight: 700; text-transform: uppercase; color: rgba(255,255,255,.45); letter-spacing: .04em; }
.cn-flp-alpha-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 8px; border-radius: 8px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.82); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); text-decoration: none; }
.cn-flp-alpha-btn:hover { background: rgba(255,255,255,.12); color: #fff; }
.cn-flp-alpha-active { background: #e11919 !important; border-color: #e11919 !important; color: #fff !important; }
.cn-flp-summary { margin: 0 0 14px; font-size: 14px; color: rgba(255,255,255,.72); }
.cn-flp-list { list-style: none; margin: 0; padding: 0; }
.cn-flp-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; padding: 10px 12px; margin: 0 0 6px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); border-radius: 10px; }
.cn-flp-item.cn-flp-paid { border-color: rgba(225,25,25,.35); background: rgba(225,25,25,.06); }
.cn-flp-name { font-size: 15px; font-weight: 600; color: #fff; text-decoration: none; }
.cn-flp-name:hover { color: #ff6b6b; }
.cn-flp-paid .cn-flp-name { color: #ffb4b4; }
.cn-flp-city { font-size: 13px; color: rgba(255,255,255,.5); }
.cn-flp-pager { margin-top: 18px; }
.cn-hero-cta .cn-btn-add--ghost {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,.35) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.cn-hero-cta .cn-btn-add--ghost:hover {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
}

.cn-glavn-region-cta { margin: 18px 0; }
.cn-glavn-region-cta .cn-btn-add { display: inline-flex; }

/* header: two-row layout — search full width, no overlap with nav */
.cn-header-inner {
  flex-wrap: wrap;
  align-items: center;
  height: auto;
  min-height: 78px;
  padding: 10px 0;
  gap: 10px 16px;
}
.cn-logo { flex-shrink: 0; }
.cn-hnav {
  flex: 1 1 auto;
  justify-content: center;
  min-width: 0;
}
.cn-hsearch {
  order: 10;
  flex: 1 1 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
}
.cn-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}
.cn-header-actions .cn-hregion-val { max-width: 110px; }
.cn-header-actions .cn-header-add {
  padding: 10px 14px;
  font-size: 12px;
}
@media (max-width: 1280px) {
  .cn-hnav a { padding: 8px 9px; font-size: 12px; }
  .cn-header-actions .cn-hregion-cap { display: none; }
  .cn-header-actions .cn-hregion-val { max-width: 88px; font-size: 10px; }
}
@media (max-width: 1024px) {
  .cn-hsearch { order: 0; flex: 1 1 auto; max-width: 440px; }
  .cn-header-actions { margin-left: 0; }
}

/* hero: full firm list — centered primary CTA */
.cn-hero-cta {
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
}
.cn-hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.cn-hero-firm-list-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 36px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 800;
  font-family: var(--font);
  text-decoration: none !important;
  color: #1a1408 !important;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-d) 100%);
  box-shadow: 0 6px 28px var(--gold-glow);
  white-space: nowrap;
  transition: filter .2s, transform .2s;
}
.cn-hero-firm-list-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  color: #1a1408 !important;
}
.cn-hero-firm-list-btn i { font-size: 18px; }
@media (max-width: 768px) {
  .cn-hero-firm-list-btn { padding: 14px 22px; font-size: 14px; width: 100%; max-width: 340px; }
}

