/* OBJECT CARD - compact */

.object-card {
   display: flex;
   flex-direction: column;
   min-width: 0;
   overflow: hidden;
   border-radius: var(--border-radius);
   background: var(--white-color);
   color: var(--black-color);
   box-shadow: 0 8px 24px rgba(50, 50, 50, 0.06);
   transition:
      opacity 0.22s ease,
      transform var(--transition),
      box-shadow var(--transition);
}

.object-card:hover {
   transform: translateY(-3px);
   box-shadow: 0 14px 34px rgba(50, 50, 50, 0.11);
}

.object-card__image-link {
   display: block;
   flex: 0 0 auto;
   width: 100%;
   overflow: hidden;
   color: inherit;
   line-height: 0;
   text-decoration: none;
}

.object-card__image-wrap {
   position: relative;
   width: 100%;
   min-height: 0;
   aspect-ratio: 4 / 3;
   overflow: hidden;
   background: #EAEAEA;
}

.object-card__image {
   position: absolute;
   inset: 0;
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   transition: transform 0.45s ease;
}

.object-card:hover .object-card__image {
   transform: scale(1.035);
}

.object-card__badges {
   position: absolute;
   z-index: 2;
   inset: 10px 10px auto 10px;
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 8px;
   pointer-events: none;
}

.object-card__id,
.object-card__installment {
   display: inline-flex;
   align-items: center;
   width: fit-content;
   min-height: 26px;
   padding: 5px 8px;
   border-radius: var(--border-radius);
   font-size: 12px;
   line-height: 1;
   white-space: nowrap;
}

.object-card__id {
   background: rgba(255, 255, 255, 0.96);
   color: var(--orange-color);
   font-weight: 600;
}

.object-card__installment {
   gap: 6px;
   background: var(--orange-color);
   color: var(--white-color);
   font-weight: 600;
}

.object-card__installment span {
   font-weight: 800;
}

.object-card__content {
   display: flex;
   flex-direction: column;
   flex: 1 1 auto;
   padding: 18px 18px 20px;
}

.object-card__top {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 14px;
   align-items: start;
}

.object-card__title {
   margin: 0;
   color: var(--black-color);
   font-size: 20px;
   font-weight: 500;
   line-height: 1.18;
}

.object-card__title a {
   color: inherit;
   text-decoration: none;
}

.object-card__price {
   color: var(--turquoise-color);
   font-size: 21px;
   font-weight: 500;
   line-height: 1.1;
   white-space: nowrap;
}

.object-card__location {
   margin: 14px 0 0;
   color: var(--gray-color);
   font-size: 15px;
   font-weight: 400;
   line-height: 1.35;
}

.object-card__features {
   display: grid;
   grid-template-columns: repeat(3, auto);
   justify-content: space-between;
   gap: 10px;
   margin-top: 22px;
   color: var(--gray-color);
}

.object-card__feature {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   min-width: 0;
   font-size: 14px;
   line-height: 1.2;
   white-space: nowrap;
}

.object-card__feature img {
   display: block;
   width: 16px;
   height: 16px;
   object-fit: contain;
   flex: 0 0 auto;
   opacity: 0.75;
}


.object-card__actions {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-top: auto;
   padding-top: 20px;
}

.object-card__action {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   min-height: 42px;
   padding: 0 16px;
   border-radius: var(--border-radius);
   font: inherit;
   font-size: 14px;
   font-weight: 600;
   line-height: 1;
   text-decoration: none;
   transition:
      transform var(--transition),
      box-shadow var(--transition),
      background var(--transition),
      color var(--transition),
      border-color var(--transition);
}

.object-card__action img {
   width: 20px;
   height: 20px;
   object-fit: contain;
}

.object-card__action--view {
   border: 0;
   background: var(--turquoise-gardient);
   color: var(--white-color);
}

.object-card__action--view:hover {
   transform: translateY(-1px);
   box-shadow: 0 10px 22px rgba(34, 138, 138, 0.22);
}

.object-card__action--favorite {
   border: 1px solid rgba(37, 65, 65, 0.18);
   background: transparent;
   color: var(--gray-color);
   cursor: pointer;
}

.object-card__action--favorite:hover,
.object-card__action--favorite.is-active {
   border-color: var(--orange-color);
   color: var(--orange-color);
}

.object-card.is-removing {
   opacity: 0;
   transform: scale(0.97);
}

/* OBJECT CARD ADAPTIVE */

@media (max-width: 1180px) {
   .object-card__content {
      padding: 16px 16px 18px;
   }

   .object-card__title {
      font-size: 18px;
   }

   .object-card__price {
      font-size: 19px;
   }

   .object-card__location {
      margin-top: 10px;
      font-size: 14px;
   }

   .object-card__features {
      margin-top: 18px;
      gap: 8px;
   }

   .object-card__feature {
      gap: 5px;
      font-size: 13px;
   }

   .object-card__feature img {
      width: 15px;
      height: 15px;
   }
}

@media (max-width: 900px) {
   .object-card__title {
      font-size: 19px;
   }

   .object-card__price {
      font-size: 20px;
   }
}

@media (max-width: 640px) {
   .object-card__actions {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
   }

   .object-card__action {
      width: 100%;
   }

   .object-card__image-wrap {
      aspect-ratio: 1.35 / 1;
   }

   .object-card__badges {
      inset: 10px;
   }

   .object-card__id,
   .object-card__installment {
      min-height: 28px;
      padding: 5px 8px;
      font-size: 12px;
   }

   .object-card__content {
      padding: 17px 16px 18px;
   }

   .object-card__top {
      grid-template-columns: 1fr auto;
      gap: 12px;
   }

   .object-card__title {
      font-size: 20px;
   }

   .object-card__price {
      font-size: 21px;
   }

   .object-card__location {
      margin-top: 11px;
      font-size: 15px;
   }

   .object-card__features {
      grid-template-columns: repeat(3, auto);
      gap: 8px;
      margin-top: 18px;
   }

   .object-card__feature {
      font-size: 13px;
   }

   .object-card__feature img {
      width: 15px;
      height: 15px;
   }
}

@media (max-width: 420px) {
   .object-card__top {
      grid-template-columns: 1fr;
      gap: 7px;
   }

   .object-card__features {
      grid-template-columns: 1fr;
      gap: 10px;
   }

   .object-card__feature {
      font-size: 14px;
   }

   .object-card__installment {
      max-width: 58%;
      white-space: normal;
      line-height: 1.15;
      text-align: center;
   }
}
