/* Company placement module styles
   Static CSS only. Dynamic colors are passed from tpl via sanitized CSS custom properties. */

.cp-module .filter-by-group a .badge {
  transition: box-shadow .15s ease, transform .15s ease, opacity .15s ease;
}

.cp-module .filter-by-group a.selected .badge {
  box-shadow: 0 0 0 .22rem rgba(246,142,30,.25);
  transform: translateY(-1px);
}

.cp-module .filter-by-group a:not(.selected) .badge {
  opacity: .92;
}

.cp-module.is-loading .filter-by-group {
  opacity: 0;
  pointer-events: none;
  max-height: 0;
  overflow: hidden;
  margin: 0 !important;
}

.cp-module .cp-tabs-skeleton {
  display: none;
}

.cp-module.is-loading .cp-tabs-skeleton {
  display: flex;
}

.cp-module .company-list-tabs {
  list-style-type: none;
}

.cp-module .filter__group {
  border-color: #F68E1E !important;
}

.cp-module .filter__group .form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #FDDDBA;
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(246, 142, 30, .25);
}

.cp-module .filter-by-group a {
  opacity: .55;
}

.cp-module .filter-by-group a.selected {
  opacity: 1;
}

.cp-module .cp-balloon {
  font-size: 15px;
}

.cp-module .city_country {
  font-size: 14px;
}

.cp-module .cp-title {
  margin-bottom: .75rem;
}

.cp-module .cp-desc {
  margin-bottom: 1rem;
}

.cp-module .company-label-custom {
  font-size: 18px;
}

.cp-module .company-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cp-module .company-list li {
  margin: 0;
}

.cp-module .company-list a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

/* В исходнике был селектор "a.selected .cp-company-link", но .cp-company-link — это сам a.
   Оставляем рабочий вариант и старый на случай вложенной разметки. */
.cp-module .company-list a.cp-company-link.selected,
.cp-module .company-list a.selected .cp-company-link {
  background: rgba(13,110,253,.08);
  border-left: 3px solid rgba(13,110,253,.75);
}

.cp-module .cp-company-link {
  padding: .6rem .9rem;
  transition: background .15s ease;
}

.cp-module .cp-company-link:hover {
  background: rgba(0,0,0,.04);
}

.cp-module .cp-list-scroll {
  max-height: 560px;
  overflow: auto;
}

.cp-module .cp-map {
  width: 100%;
  height: 100%;
  min-height: 520px;
}

.cp-module .cp-map-wrap {
  position: relative;
  min-height: 520px;
}

.cp-module .cp-map-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .5rem;
  background-color: rgba(249,249,249,.72);
  backdrop-filter: blur(1px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 5;
}

.cp-module .cp-map-wrap.is-loading .cp-map-loading,
.cp-module .cp-map-wrap.is-busy .cp-map-loading {
  opacity: 1;
  visibility: visible;
}

.cp-module .cp-color-dot {
  width: .65rem;
  height: .65rem;
  background-color: var(--cp-bgr, #cccccc);
}

.cp-module .cp-badge-dynamic {
  background-color: var(--cp-badge-bg, #e9ecef);
  color: var(--cp-badge-color, #111111);
}
