/* Имущество: разделы и карточки */

/* Страница «Недвижимое имущество» */
/* Лента табов и панель с плашками — один блок макета, зазор 20 */
.realty-sections { display: flex; flex-direction: column; gap: 1.25rem; }
.realty-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  padding: 0 3.75rem;
}
.realty-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;              /* скругление плашки режет фото сверху */
  border-radius: var(--radius);
  background: #fff;
}
.realty-card[hidden] { display: none; }
.realty-card__photo {
  flex: none;
  height: 17.625rem;                        /* 282 вместе с полосой сверху */
  border-top: 6px solid var(--orange);
}
.realty-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.realty-card__photo--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dce6f0;
}
.realty-card__photo--empty img { width: 3.75rem; height: 3.75rem; object-fit: contain; }
.realty-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.875rem;                 /* 30 */
  padding: 1.25rem;              /* 20 */
}
.realty-card__tag {
  margin: 0;
  font-size: 1.25rem;            /* 20 Bold */
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--orange);
}
.realty-card__texts { display: flex; flex-direction: column; gap: .625rem; }
.realty-card__title {
  margin: 0;
  font-size: 1.625rem;           /* 26 Semibold */
  line-height: 1.3;
  font-weight: 600;
  color: #0a1226;
}
.realty-card__desc {
  margin: 0;
  font-size: 1.25rem;            /* 20 Regular */
  line-height: 1.3;
  color: #0a1226;
}
.realty-card__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.875rem;                 /* 30 */
  margin-top: auto;
}
.realty-card__price { display: flex; flex-direction: column; gap: .625rem; margin: 0; }
.realty-card__label {
  font-size: 1rem;               /* 16 */
  line-height: 1.2;
  text-transform: uppercase;
  color: rgba(10, 18, 38, .5);
}
.realty-card__value {
  font-size: 1.625rem;           /* 26 Semibold */
  line-height: 1.2;
  font-weight: 600;
  color: var(--orange);
}

/* Карточка целиком — ссылка: ссылка заголовка растянута на всю плашку, стрелка — значок */
.realty-card { position: relative; transition: box-shadow .3s ease; }
.realty-card__link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.realty-card__photo { overflow: hidden; }
.realty-card__photo img { transition: transform .3s ease; }
.realty-card:hover .realty-card__link { color: var(--orange); }
.realty-card:hover .realty-card__arrow { background-color: #f18f34; }
/* фото крупнее и тень под плашкой — только где есть наведение; у «нет фото» значок не увеличиваем */
@media (hover: hover) {
  .realty-card:hover { box-shadow: 0 .625rem 1.5625rem rgba(10, 18, 38, .25); }
  .realty-card:hover .realty-card__photo:not(.realty-card__photo--empty) img { transform: scale(1.04); }
}
/* клавиатура: рамка у всей плашки, те же подсветки */
.realty-card:has(.realty-card__link:focus-visible) {
  outline: 2px solid var(--orange);
  outline-offset: 3px;
  box-shadow: 0 .625rem 1.5625rem rgba(10, 18, 38, .25);
}
.realty-card:has(.realty-card__link:focus-visible) .realty-card__arrow { background-color: #f18f34; }
.realty-card:has(.realty-card__link:focus-visible) .realty-card__photo:not(.realty-card__photo--empty) img { transform: scale(1.04); }
.realty-card__link:focus-visible { outline: none; }

/* Планшет (< 1280): своего макета нет, размеры по */
@media (max-width: 1279px) {
  .realty-sections { gap: 1rem; }
  .realty-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0 1rem; }
  .realty-card__photo { height: 12.5rem; }
  .realty-card__body { gap: 1.25rem; }
  .realty-card__tag { font-size: 1rem; }
  .realty-card__title { font-size: 1.25rem; }
  .realty-card__desc { font-size: 1rem; }
  .realty-card__foot { gap: 1.25rem; }
  .realty-card__price { gap: .375rem; }
  .realty-card__label { font-size: .8125rem; }
  .realty-card__value { font-size: 1.25rem; }
}

/* Мобильная (< 768): одна плашка в ряд */
@media (max-width: 767px) {
  /* в макете 591:11158 от ленты табов до плашек 20 */
  .realty-sections { gap: 20px; }
  .realty-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 0 20px; }
  .realty-card__photo { height: 180px; }
  /* полоса сверху те же 6 px, что и на широких экранах */
  .realty-card__photo--empty img { width: 48px; height: 48px; }
  .realty-card__body { gap: 16px; padding: 16px; }
  .realty-card__tag { font-size: 14px; }
  .realty-card__title { font-size: 18px; }
  .realty-card__desc { font-size: 14px; }
  .realty-card__foot { gap: 16px; }
  .realty-card__price { gap: 6px; }
  .realty-card__label { font-size: 12px; }
  .realty-card__value { font-size: 18px; }
}
