.shops__hero .hero__title {
  max-width: 57.292vw;
}
.shops__hero .hero__bottom-text-wrap:first-child .hero__bottom-text {
  max-width: 14.479vw;
}
.shops__hero .hero__bottom-text-wrap:last-child .hero__bottom-text {
  max-width: 15.625vw;
}

.shops__top {
  margin-bottom: 3.021vw;
}
.shops__title {
  max-width: 44.583vw;
}
.shops__descr {
  max-width: 21.198vw;
  margin-left: 49.427vw;
  margin-top: 2.76vw;
}

#map {
  border-radius: 2.083vw;
  height: 45.938vw;
  width: 100%;
  overflow: hidden;
  margin-top: 3.385vw;
}

.ymaps-2-1-79-balloon {
  box-shadow: none !important;
  width: 20.313vw !important;
}

.ymaps-2-1-79-balloon__layout {
  border-radius: 2.083vw;
  border: 1px solid #1f1f1d;
  background: #fafafa !important;
  padding: 1.042vw 1.042vw 1.563vw;
  left: 19% !important;
  transform: translateX(-50%);
}

.ymaps-2-1-79-balloon__content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ymaps-2-1-79-balloon__close-button {
  display: none !important;
}

.ymaps-2-1-79-balloon__tail {
  display: none !important;
}

.ymaps-2-1-79-balloon-content__header {
  margin: 0 !important;
}

.ymaps-2-1-79-balloon-content__footer {
  display: none !important;
}

.marker__container {
  position: relative;
  width: 18.229vw;
}
.marker__img {
  height: 10.208vw;
  width: 18.229vw !important;
  width: 100%;
  border-radius: 1.563vw;
  -o-object-fit: cover;
     object-fit: cover;
}
.marker__tag {
  position: absolute;
  color: #fafafa;
  font-size: 0.677vw;
  font-style: normal;
  font-weight: 500;
  line-height: 103%; /* 0.697vw */
  letter-spacing: 0.007vw;
  display: inline-flex;
  padding: 0.521vw 0.625vw 0.469vw 0.625vw;
  justify-content: center;
  align-items: center;
  border-radius: 180px;
  background: #1f1f1d;
  top: 0.677vw;
  left: 0.677vw;
}
.marker__addr {
  margin-top: 1.302vw;
  font-size: 1.094vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.011vw;
}
.marker__contacts {
  margin-top: 1.094vw;
  display: flex;
  flex-direction: column;
  gap: 0.313vw;
}
.marker__item {
  display: flex;
  gap: 0.208vw;
}
.marker__item-label {
  opacity: 0.57;
  font-size: 0.938vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.349vw;
}
.marker__item-value {
  text-decoration: underline;
  font-size: 0.938vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.349vw;
}
.marker__item-value:hover {
  color: #ef642d;
}
.marker__shedule {
  opacity: 0.57;
  font-size: 0.938vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.349vw;
  margin-top: 1.146vw;
}

.shops__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 31.927vw;
  grid-auto-rows: 31.927vw;
  gap: 1.563vw 1.042vw;
  margin-top: 3.333vw;
}

.store-card {
  border-radius: 2.083vw;
  border: 1px solid rgba(31, 31, 29, 0.1);
  background: var(--, #fafafa);
  overflow: hidden;
  transition: 0.3s;
  cursor: pointer;
}
.store-card:hover {
  border-color: #1f1f1d;
}
.store-card__slider {
  height: 20.885vw;
  width: 100%;
  position: relative;
}
.store-card__slider .slick-list {
  height: 100%;
}
.store-card__slider .slick-track {
  height: 100%;
}
.store-card__slider .slick-dots {
  position: absolute;
  bottom: 1.563vw;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 0.417vw;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
.store-card__slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}
.store-card__slider .slick-dots li button {
  padding: 0;
  width: 0.573vw;
  height: 0.573vw;
  border-radius: 50%;
  box-shadow: 0 0 0 1px inset #fafafa;
  border: none;
  font-size: 0;
  cursor: pointer;
  transition: 0.2s;
}
.store-card__slider .slick-dots li button::before {
  display: none;
}
.store-card__slider .slick-dots li.slick-active button {
  background: #fafafa;
}
.store-card__image {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.store-card__content {
  padding: 2.083vw 2.604vw;
}
.store-card__title {
  font-size: 1.667vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.812vw; /* 108.75% */
  letter-spacing: 0.05vw;
  text-transform: uppercase;
  margin-bottom: 0.781vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.store-card__address {
  margin-bottom: 1.563vw;
  font-size: 1.094vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.011vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.store-card__time {
  opacity: 0.57;
  font-size: 0.938vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.349vw; /* 143.889% */
  text-transform: uppercase;
}

.shops__city-wrap {
  display: flex;
  justify-content: end;
  margin-top: 2.865vw;
}

.shops__city .list-scroll {
  overflow-y: auto;
  max-height: 23.125vw;
  width: 14.583vw;
}
.shops__city .list-scroll::-webkit-scrollbar {
  width: 7px;
}
.shops__city .list-scroll::-webkit-scrollbar-track {
  background: rgba(31, 31, 29, 0.1);
  border-radius: 5px;
}
.shops__city .list-scroll::-webkit-scrollbar-thumb {
  background: #1f1f1d;
  border-radius: 5px;
}
.shops__city .list-scroll::-webkit-scrollbar-button:end:increment {
  background-color: transparent;
  display: block !important;
  height: 2.188vw;
  pointer-events: none;
}
.shops__city .list-scroll * {
  scrollbar-width: thin;
  scrollbar-color: #1f1f1d rgba(31, 31, 29, 0.1);
}
.shops__city .list {
  width: 17.604vw;
  margin-top: 2.396vw;
  padding: 2.188vw 1.302vw 2.188vw 1.823vw;
}

.shops-adv {
  margin-top: 2.083vw;
}

@media (max-width: 1150px) {
  .shops__hero .hero__title {
    max-width: 57.292vw;
  }
  .shops__hero .hero__bottom-text-wrap:first-child .hero__bottom-text {
    max-width: 22.786vw;
  }
  .shops__hero .hero__bottom-text-wrap:last-child .hero__bottom-text {
    max-width: 24.089vw;
  }
  .shops__top {
    margin-bottom: 5.208vw;
  }
  .shops__title {
    max-width: 46.354vw;
  }
  .shops__descr {
    max-width: 40.755vw;
    margin-left: 48.047vw;
    margin-top: 2.604vw;
  }
  #map {
    border-radius: 1.953vw;
    height: 78.906vw;
    margin-top: 5.208vw;
  }
  .ymaps-2-1-79-balloon {
    width: 27.214vw !important;
  }
  .ymaps-2-1-79-balloon__layout {
    border-radius: 2.604vw;
    padding: 1.823vw;
    left: 27% !important;
  }
  .marker__container {
    width: 23.568vw;
  }
  .marker__img {
    height: 13.151vw;
    width: 23.568vw !important;
    border-radius: 0.911vw;
  }
  .marker__tag {
    font-size: 1.432vw;
    font-weight: 400;
    line-height: 112%; /* 1.743vw */
    letter-spacing: 0.014vw;
    padding: 1.042vw 1.042vw 0.781vw 1.042vw;
    border-radius: 23.438vw;
    top: 0.651vw;
    left: 0.651vw;
  }
  .marker__addr {
    margin-top: 2.083vw;
    font-size: 1.563vw;
    line-height: normal;
    letter-spacing: 0.027vw;
  }
  .marker__contacts {
    margin-top: 2.344vw;
    gap: 1.042vw;
  }
  .marker__item {
    display: flex;
    gap: 4px;
  }
  .marker__item-label {
    opacity: 0.57;
    font-size: 1.563vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__item-value {
    font-size: 1.563vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__shedule {
    font-size: 1.693vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    margin-top: 2.083vw;
  }
  .shops__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 45.313vw;
    grid-auto-rows: 45.313vw;
    gap: 2.604vw 1.302vw;
    margin-top: 3.906vw;
  }
  .store-card {
    border-radius: 2.604vw;
  }
  .store-card__slider {
    height: 27.995vw;
  }
  .store-card__slider .slick-dots {
    bottom: 2.083vw;
    gap: 0.521vw;
  }
  .store-card__slider .slick-dots li button {
    width: 10px;
    height: 10px;
  }
  .store-card__content {
    padding: 3.255vw 3.255vw 3.906vw;
  }
  .store-card__title {
    font-size: 2.083vw;
    font-style: normal;
    font-weight: 500;
    line-height: 1; /* 108.75% */
    letter-spacing: 0.063vw;
    margin-bottom: 1.823vw;
  }
  .store-card__address {
    margin-bottom: 2.865vw;
    font-size: 1.693vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.027vw;
  }
  .store-card__time {
    font-size: 1.693vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1; /* 143.889% */
  }
  .shops__city-wrap {
    margin-top: 5.469vw;
  }
  .shops__city .list-scroll {
    max-height: 32.552vw;
    width: 19.531vw;
  }
  .shops__city .list-scroll::-webkit-scrollbar {
    width: 5px;
  }
  .shops__city .list-scroll::-webkit-scrollbar-button:end:increment {
    height: 3.646vw;
  }
  .shops__city .list {
    width: 24.349vw;
    margin-top: 2.083vw;
    padding: 2.604vw;
    left: auto;
    right: 0;
  }
  .shops__city .list .option {
    font-size: 1.953vw;
  }
  .shops__city .list .option:not(:last-child) {
    margin-bottom: 1.563vw;
  }
  .shops-adv {
    margin-top: 5.208vw;
  }
}
@media (max-width: 576px) {
  .shops__hero .hero__title {
    max-width: 86.111vw;
  }
  .shops__hero .hero__bottom-text-wrap:first-child .hero__bottom-text {
    max-width: 38.889vw;
  }
  .shops__hero .hero__bottom-text-wrap:last-child .hero__bottom-text {
    max-width: 100%;
  }
  .shops__top {
    margin-bottom: 8.333vw;
  }
  .shops__title {
    max-width: 86.111vw;
  }
  .shops__descr {
    max-width: 61.111vw;
    margin-left: 23.611vw;
    margin-top: 8.333vw;
  }
  #map {
    border-radius: 4.444vw;
    height: 132.222vw;
    margin-top: 8.333vw;
  }
  .ymaps-2-1-79-balloon {
    width: 58.056vw !important;
  }
  .ymaps-2-1-79-balloon__layout {
    border-radius: 5.556vw;
    padding: 3.889vw;
    left: 27% !important;
  }
  .marker__container {
    width: 50.278vw;
  }
  .marker__img {
    height: 28.056vw;
    width: 50.278vw !important;
    border-radius: 1.944vw;
  }
  .marker__tag {
    font-size: 3.056vw;
    font-weight: 400;
    line-height: 112%; /* 3.719vw */
    letter-spacing: 0.031vw;
    padding: 2.222vw 2.222vw 1.667vw 2.222vw;
    border-radius: 50vw;
    top: 1.389vw;
    left: 1.389vw;
  }
  .marker__addr {
    margin-top: 4.444vw;
    font-size: 3.333vw;
    line-height: normal;
    letter-spacing: 0.058vw;
  }
  .marker__contacts {
    margin-top: 5vw;
    gap: 2.222vw;
  }
  .marker__item {
    display: flex;
    gap: 4px;
  }
  .marker__item-label {
    opacity: 0.57;
    font-size: 3.333vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__item-value {
    font-size: 3.333vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__shedule {
    font-size: 3.611vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    margin-top: 4.444vw;
  }
  .shops__list {
    grid-template-columns: 1fr;
    grid-template-rows: 96.667vw;
    grid-auto-rows: 96.667vw;
    gap: 5.556vw;
    margin-top: 5.556vw;
  }
  .store-card {
    border-radius: 5.556vw;
  }
  .store-card__slider {
    height: 59.722vw;
  }
  .store-card__slider .slick-dots {
    bottom: 4.444vw;
    gap: 5px;
  }
  .store-card__slider .slick-dots li button {
    width: 10px;
    height: 10px;
  }
  .store-card__content {
    padding: 6.944vw 6.944vw 8.333vw;
  }
  .store-card__title {
    font-size: 4.444vw;
    font-style: normal;
    font-weight: 500;
    line-height: 1; /* 108.75% */
    letter-spacing: 0.133vw;
    margin-bottom: 3.889vw;
  }
  .store-card__address {
    margin-bottom: 6.111vw;
    font-size: 3.611vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.058vw;
  }
  .store-card__time {
    font-size: 3.611vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1; /* 143.889% */
  }
  .shops__city-wrap {
    margin-top: 6.111vw;
  }
  .shops__city .list-scroll {
    max-height: 69.444vw;
    width: 41.667vw;
  }
  .shops__city .list-scroll::-webkit-scrollbar {
    width: 5px;
  }
  .shops__city .list-scroll::-webkit-scrollbar-button:end:increment {
    height: 7.778vw;
  }
  .shops__city .list {
    width: 51.944vw;
    margin-top: 4.444vw;
    padding: 5.556vw;
    left: auto;
    right: 0;
  }
  .shops__city .list .option {
    font-size: 4.167vw;
  }
  .shops__city .list .option:not(:last-child) {
    margin-bottom: 3.333vw;
  }
  .shops-adv {
    margin-top: 15.278vw;
  }
  .shops-adv__controls {
    justify-content: end;
    margin-bottom: 3.333vw;
  }
  .shops-adv .conditions__item {
    aspect-ratio: auto;
    height: 85vw;
  }
}
/* Tab content visibility */
.shops .tab__content {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: visible;
}
.shops .tab__content.show {
  opacity: 1;
  visibility: visible;
  height: auto;
}
