/* карточки */
.card-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: clamp(18px, 14px + .9vw, 30px);
  align-items: start;
}

.pc { position: relative; padding-bottom: calc(111% + 104px); }

.pc__inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  border-radius: 26px;
  transition: box-shadow .35s;
}

.pc:hover .pc__inner {
  left: -16px;
  right: -16px;
  top: -16px;
  width: auto;
  z-index: 10;
  padding: 16px;
  background: #fff;
  box-shadow: 0 30px 70px rgba(12, 28, 52, .22);
}

.pc__link { position: absolute; inset: 0; z-index: 4; border-radius: 20px; }

.pc__media {
  position: relative;
  height: 0;
  padding-bottom: 111%;
  border-radius: 20px;
  overflow: hidden;
  background: #e6ecf5;
  transition: padding-bottom .45s cubic-bezier(.2, .7, .3, 1);
}

.pc:hover .pc__media { padding-bottom: 66%; }

.pc__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .3s;
}

.pc__img.is-on { opacity: 1; }

.pc__chips {
  position: absolute;
  left: 12px;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pc__chip {
  padding: 8px 14px;
  border-radius: 50px;
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(8px);
  font-family: GothamPro-Medium;
  font-size: 12.5px;
  line-height: 1.15;
  color: #193359;
  white-space: nowrap;
}

.pc__chip_sale { background: #bf1a20; color: #fff; }
.pc__chip_more { background: rgba(20, 36, 63, .72); color: #fff; }

.pc__dots {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  z-index: 2;
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity .3s;
}

.pc:hover .pc__dots { opacity: 1; }

.pc__dot {
  flex: 1 1 0;
  height: 3px;
  border-radius: 3px;
  background: rgba(255, 255, 255, .45);
  transition: background .25s;
}

.pc__dot.is-on { background: #fff; }

.pc__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 2px 0; }

.pc__head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }

.pc__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.4em;
  margin: 0;
  font-family: GothamPro-Bold;
  font-size: 20px;
  line-height: 1.2;
  color: #14243f;
  transition: color .25s;
}

.pc:hover .pc__title { color: #3060a8; }

.pc__price { flex: 0 0 auto; font-size: 13.5px; color: #5b6c77; white-space: nowrap; }
.pc__price b { font-family: GothamPro-Bold; font-size: 17px; color: #14243f; }
.pc__price s { color: #9aa7b4; }

.pc__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  font-size: 14px;
  line-height: 1.3;
  color: #5b6c77;
}

.pc__walk { display: inline-flex; align-items: center; gap: 6px; }
.pc__walk svg { flex: 0 0 auto; width: 16px; height: 16px; color: #3060a8; }

.pc__more {
  position: relative;
  z-index: 5;
  margin-left: auto;
  font-family: GothamPro-Medium;
  color: #3060a8;
  opacity: 0;
  transition: opacity .3s;
}

.pc:hover .pc__more { opacity: 1; }

.pc__reveal {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .45s cubic-bezier(.2, .7, .3, 1);
}

.pc:hover .pc__reveal { grid-template-rows: 1fr; }
.pc__reveal-in { overflow: hidden; }

.pc__total {
  margin: 14px 0 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(48, 96, 168, .14);
  font-size: 14px;
  color: #5b6c77;
}

.pc__total b { font-family: GothamPro-Medium; color: #14243f; }

.pc__flats { display: grid; gap: 2px; }

.pc__flat {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  padding: 7px 0;
  font-size: 14px;
  color: #5b6c77;
}

.pc__flat-type { color: #3060a8; }
.pc__flat-price { font-family: GothamPro-Medium; color: #14243f; min-width: 92px; text-align: right; }

.pc__foot {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(48, 96, 168, .14);
  font-size: 12.5px;
  color: #9aa7b4;
}

.pc_premier .pc__media { box-shadow: inset 0 0 0 2px rgba(172, 143, 85, .6); }
.pc_premier .pc__chip:not(.pc__chip_sale):not(.pc__chip_more) { background: linear-gradient(135deg, #d8bd88, #ac8f55); color: #2a0d16; }
.pc_premier .pc__title { color: #36020f; }
.pc_premier:hover .pc__title { color: #ac8f55; }
.pc_premier .pc__more, .pc_premier .pc__flat-type { color: #ac8f55; }

@media (any-hover: none) {
  .pc { padding-bottom: 0; }
  .pc__inner { position: static; }
  .pc__media { padding-bottom: 78%; }
  .pc__reveal { grid-template-rows: 1fr; }
  .pc__more { opacity: 1; }
}

.pc__flat-area,
.pc__flat-price,
.pc__price {
  font-family: GothamPro-Regular, "Segoe UI", Roboto, Arial, sans-serif;
}

.pc__flat-area sup {
  font-size: .7em;
  vertical-align: super;
  line-height: 0;
}