/* --- Цветовые темы --- */

/* Белый фон черный текст */

.bg-white {
  background: #FFF;
}

.bg-white .text-item__label,
.bg-white .text-item__value {
	color: var(--text);
}

.bg-white a.text-item__value {
  color: var(--text-blue);
}
.bg-white a.text-item__value:hover {
  color: var(--blue700);
}

.bg-white .text-item__label {
  color: var(--text-gray);
}

/* Белый фон синий текст */

.bg-white_text_blue {
  background: #FFF;
}

.bg-white_text_blue .text-item__label {
  color: var(--text-blue);
}

.bg-white_text_blue .text-item__label,
.bg-white_text_blue .text-item__value {
	color: var(--text-blue);
}

.bg-white_text_blue a.text-item__value {
  color: var(--text-blue);
}
.bg-white_text_blue a.text-item__value:hover {
  color: var(--blue700);
}

/* Голубой фон синий текст */

.bg-light-blue {
  background: #D9E8FF;
}

.bg-light-blue .text-item__label,
.bg-light-blue .text-item__value {
  color: var(--text-blue);
}

.bg-light-blue a.text-item__value {
  color: var(--blue700);
}

.bg-light-blue a.text-item__value:hover {
  color: var(--text-blue);
}


/* Голубой фон черный текст */

.bg-light-blue_text_black {
  background: #D9E8FF;
}

.bg-light-blue_text_black .text-item__label,
.bg-light-blue_text_black .text-item__value {
  color: var(--text);
}

.bg-light-blue_text_black a.text-item__value {
  color: var(--blue700);
}

.bg-light-blue_text_black a.text-item__value:hover {
  color: var(--text-blue);
}



/* Синий фон белый текст */

.bg-blue {
  background: #4370B7;
}

.bg-blue a.text-item__value {
  color: var(--text-white);
}

.bg-blue a.text-item__value:hover {
  color: var(--blue250);
}

.bg-blue .text-item__label {
  color: #D9E8FF;
}

.bg-blue .text-item__value {
  color: var(--text-white);
}

/* Синий фон чёрный текст */

.bg-blue_text_black {
  background: #4370B7;
}

.bg-blue_text_black a.text-item__value {
  color: #16267D;
}

.bg-blue_text_black a.text-item__value:hover {
  color: #16267D;
}

.bg-blue_text_black .text-item__label {
  color: var(--text);
}

.bg-blue_text_black .text-item__value {
  color: var(--text);
}



  
  /* --- Позиции карты --- */
  .map-top {
    flex-direction: column-reverse;
  }
  .map-bottom {
    flex-direction: column;
  }
  .map-left {
    flex-direction: row-reverse;
    height: unset;
  }
  .map-right {
    flex-direction: row;
    height: unset;
  }
  .fullwidth {
    width: 100%;
  }
  .halfwidth {
    width: 50%;
  }
  .contacts-block-text-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%; 
    max-width: unset;
  }
  .contacts-block-text-item.map-item-limited {
    width: fit-content;
    max-width: 510px;
  }
  
  /* --- Остальные стили (как были) --- */
  .contacts-block {
    display: flex;
    height: 100%;
  }
  .contacts-block-text {
    display: flex;
    padding: 28px 20px;
    flex-wrap: wrap;
    gap: 20px;
  }
  .text-item__label {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 1.125rem;
    margin: 0;

  }
  .text-item__value,
  a.text-item__value,
  a.text-item__value:hover {
    font-family: "Inter", sans-serif;
    margin: 0;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.75rem;
    text-decoration: none;
  }
  .contacts-block-map {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
  }
  .text-item-links {
    display: flex;
    gap: 80px;
  }
  .item-links-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px 0 0 11px;
    border-left: 2px solid #4370b7;
    height: fit-content;
  }
  .text-item-btn {
    background: #0f6ecd;
    color: #fff;
    width: 100%;
    max-width: 370px;
    border: none;
    padding: 12px 10px;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .text-item-btn_text {
    font-family: "Inter", sans-serif;
    margin: 0;
    font-weight: 400;
    font-size: 0.875rem;
  }
  .text-item-btn_img {
    width: 15px;
  }
  .contacts-block-map__iframe {
    min-height: 300px;
  }
  .contacts-panel {
    width: 100%;
    padding: 10px 0 0 0;
    background: #fff;
  }
  
  .map-dropdown-block {
    margin-top: 5px;
    width: 100%;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px 20px 20px;
    background: #fff;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  .map-dropdown-block.active {
    background-color: #4370b7;
  }
  .map-dropdown-block.active .map-dropdown-item__text {
    color: #fff;
  }
  .map-dropdown-item__text {
    margin: 0;
    font-weight: 500;
    font-size: 1.25rem;
    color: var(--text);
    font-family: "Inter", sans-serif;
    transition: color 0.3s ease;
  }
  .map-dropdown-block.active img {
    transform: rotate(180deg);
    filter: brightness(0) invert(1);
  }
  .map-dropdown-block img {
    transition: transform 0.3s ease, filter 0.3s ease;
  }
  .route-map {
    margin-top: 5px;
    width: 100%;
    overflow: hidden;
    transition: max-height 0.1s ease, padding 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: #fff;
	padding: 1.25rem;
  }
  .route-map.active {
    display: flex;
    max-height: 670px;
    height: 670px;
    padding: 20px;
  }
  .route-map__description {
    margin: 0;
    font-weight: 400;
    font-size: 1.125rem;
    color: #7f8287;
  }
.component-contacts {
	height:100%;
}
.component-contacts details[open] .map-dropdown-block{
	background: #4370b7;
}

.component-contacts details[open] .map-dropdown-item__text{
	color: var(--text-white);
}

.component-contacts details[open] .map-dropdown-block svg{
	transform: rotate(180deg);
}

.component-contacts details[open] .map-dropdown-block svg path{
	fill: var(--text-white) !important;
}

.component-contacts details summary::-webkit-details-marker,
.component-contacts details summary::marker  {
  	display:none;
	content: '';
}
