/* Shared review cards: Selected Posts and Vue Posts. */
.citydent-reviews .xleb-review-template-card {
  border: 1px solid var(--dividerDefault);
  border-radius: var(--roundedM);
  box-sizing: border-box;
  color: inherit;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.citydent-reviews .xleb-review-template-card>.description-wrapper {
  box-sizing: border-box;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  min-width: 0;
  padding: 24px 24px 28px;
  width: 100%;
  gap: unset;
}

.citydent-reviews .review-stars {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--gapX1);
}

.citydent-reviews .review-stars .xleb-icons {
  --xleb-icon-size: 20px;
  color: #ffc423;
  font-size: 20px;
}

.citydent-reviews .review-stars .xleb-icons.is-empty {
  opacity: 0.25;
}

.citydent-reviews .xleb-review-template-card--no-photos .review-text p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.citydent-reviews .review-card-footer {
  align-items: flex-end;
  display: flex;
  flex-direction: row;
  gap: var(--gapX4);
  justify-content: space-between;
  margin-top: auto;
}

.citydent-reviews .review-card-footer__meta {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--gapX3);
  min-width: 0;
}

.citydent-reviews .review-card-footer .author-info,
.citydent-reviews .review-card-footer .date-views {
  margin-top: 0;
}

.citydent-reviews .description-wrapper>.date-views:empty {
  display: none;
}

.citydent-reviews .review-source-brand {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  min-width: 0;
}

.citydent-reviews .review-source-brand__fallback {
  background-color: transparent;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  border: 0;
  display: block;
  font-size: 0;
  height: 28px;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  text-indent: -9999px;
}

.citydent-reviews .review-source-brand--two_gis .review-source-brand__fallback {
  background-image: url(/wp-content/plugins/xleb/shortcodes/reviews-sources/assets/review-source-logos/2gis.svg);
  width: 69px;
}

.citydent-reviews .review-source-brand--yandex .review-source-brand__fallback {
  background-image: url(/wp-content/plugins/xleb/shortcodes/reviews-sources/assets/review-source-logos/yandex.svg);
  width: 91px;
}

@media (min-width: 576px) and (max-width: 1399px) {
  body.home .citydent-reviews .xleb-review-template-card>.description-wrapper {
    aspect-ratio: auto;
  }
}

/* Reviews page: Figma 6311:37977 / 6325:61778. */
.citydent-reviews-page .posts-container {
  row-gap: var(--gapX10);
}

.citydent-reviews-page .review-text p {
  line-height: var(--textMheightT);
}

.citydent-reviews-page .xleb-review-template-card--no-photos .review-text p {
  -webkit-line-clamp: 7;
}

.citydent-reviews .xleb-review-template-card:has(.review-text.is-expanded) {
  height: auto;
}

.citydent-reviews .xleb-review-template-card:has(.review-text.is-expanded)>.description-wrapper {
  aspect-ratio: auto;
}

.citydent-reviews .review-text.is-expanded {
  overflow: visible;
}

.citydent-reviews .review-text.is-expanded p {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.citydent-reviews .review-read-more-block[hidden] {
  display: none;
}

.citydent-reviews .review-read-more {
  align-self: flex-start;
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  text-align: left;
}

.citydent-reviews .review-read-more:hover .gray,
.citydent-reviews .review-read-more:focus-visible .gray {
  color: var(--black);
}

.citydent-reviews-page .review-source-brand--yandex .review-source-brand__fallback {
  width: 103px;
}

.citydent-reviews-page .vue-load-more {
  box-sizing: border-box;
  height: 48px;
  margin-top: var(--gapX12);
  width: 194px;
}

@media (max-width: 991px) {
  .citydent-reviews-page .posts-container>.article-item {
    grid-column: span 12 !important;
    min-width: 0;
    width: 100%;
  }

  .citydent-reviews .xleb-review-template-card {
    border-radius: var(--roundedS);
  }

  .citydent-reviews .xleb-review-template-card>.description-wrapper {
    padding: 20px 20px 24px;
  }

  .citydent-reviews .review-stars .xleb-icons {
    --xleb-icon-size: 16px;
    font-size: 16px;
  }

  .citydent-reviews .xleb-review-template-card--no-photos .review-text p {
    -webkit-line-clamp: 7;
  }

  .citydent-reviews .review-source-brand__fallback {
    height: 24px;
  }

  .citydent-reviews .review-source-brand--two_gis .review-source-brand__fallback {
    width: 59px;
  }

  .citydent-reviews .review-source-brand--yandex .review-source-brand__fallback {
    width: 78px;
  }

  .citydent-reviews-page .posts-container {
    row-gap: var(--gapX7);
  }

  .citydent-reviews-page .xleb-review-template-card {
    height: auto;
  }

  .citydent-reviews-page .review-source-brand--yandex .review-source-brand__fallback {
    width: 88px;
  }

  .citydent-reviews-page .vue-load-more {
    height: 44px;
    margin-top: var(--gapX10);
    width: 100%;
  }
}

.citydent-contact__links {
  margin-top: auto;
}

.citydent-contact__link>a:has(.xleb-icons) {
  gap: var(--gapX3);
}

.citydent-contact__link .xleb-icons.ph::before {
  font-size: 24px;
}

.citydent-contact__map,
.citydent-contact__media>iframe {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  overflow: hidden;
  width: 100%;
}

.citydent-contact__map>.wpb_wrapper,
.citydent-contact__map iframe {
  display: block;
  height: 100%;
  width: 100%;
}

.citydent-footer>.wrapper {
  display: flex;
  flex-direction: column;
}

.citydent-footer__grid {
  display: grid;
  gap: var(--gapX6);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.citydent-footer__brand,
.citydent-footer__navigation,
.citydent-footer__copyright,
.citydent-footer__bottom-links {
  grid-column: span 6;
}

.citydent-footer__socials {
  gap: var(--gapX5);
}

.citydent-footer__socials a {
  display: block;
}

.citydent-footer__bottom-links {
  align-items: center;
  display: flex;
  gap: var(--gapX5);
  justify-content: flex-end;
}

@media (max-width: 991px) {
  .citydent-contact__links {
    margin-top: 0;
  }

  .citydent-contact-page .citydent-contact__map {
    aspect-ratio: 1 / 1;
  }

  .citydent-contact__link .xleb-icons.ph::before {
    font-size: 22px;
  }

  .citydent-contact__map,
  .citydent-contact__media>iframe {
    aspect-ratio: 5 / 4;
  }

  .citydent-footer__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .citydent-footer__bottom.citydent-footer__grid {
    row-gap: var(--gapX4);
  }

  .citydent-footer__brand,
  .citydent-footer__navigation,
  .citydent-footer__copyright,
  .citydent-footer__bottom-links {
    grid-column: 1;
  }

  .citydent-footer__bottom-links {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--gapX4);
    justify-content: flex-start;
  }
}

