.page-template-template-hotels .pgz-hotel-card {

  width: 100%;
  max-width: var(--pgz-content-width);
  margin: 0 auto;
  background-color: var(--pgz-color-white);
  border-radius: var(--pgz-radius-30);
  box-shadow: var(--pgz-shadow-card);
}


.page-template-template-hotels .pgz-hotel-card__inner {

  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: var(--pgz-gap-24);
  padding: var(--pgz-gap-34);
}



.page-template-template-hotels .pgz-hotel-card__media {

  position: relative;
  flex: 0 0 var(--pgz-hotel-card-img-w);
  width: var(--pgz-hotel-card-img-w);
  height: var(--pgz-hotel-card-img-h);
  border-radius: var(--pgz-radius-20);
  overflow: hidden;
}


.page-template-template-hotels .pgz-hotel-card__img {

  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.page-template-template-hotels .pgz-hotel-card__favorite {

  position: absolute;
  top: var(--pgz-gap-24);
  right: var(--pgz-gap-24);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid var(--pgz-color-favorite-glass-border);
  border-radius: var(--pgz-radius-full);
  background-color: var(--pgz-color-favorite-glass);
  backdrop-filter: var(--pgz-backdrop-blur-favorite);
  -webkit-backdrop-filter: var(--pgz-backdrop-blur-favorite);
  box-shadow: 0 0.125rem 0.5rem rgba(16, 13, 12, 0.12);
  color: var(--pgz-color-white);
  cursor: pointer;
}


.page-template-template-hotels .pgz-hotel-card__favorite-icon {

  display: block;
  width: 1.125rem;
  height: 1.125rem;
  filter: none;
}


.page-template-template-hotels .pgz-hotel-card__body {

  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--pgz-gap-24);
}


.page-template-template-hotels .pgz-hotel-card__header {

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 38.4375rem;
  max-width: 100%;
}


.page-template-template-hotels .pgz-hotel-card__title-block {

  display: flex;
  flex-direction: column;
  gap: var(--pgz-gap-2);
  max-width: 14.625rem;
}


.page-template-template-hotels .pgz-hotel-card__name {

  margin: 0;
  font-size: var(--pgz-text-lg);
  font-weight: var(--pgz-weight-bold);
  line-height: 1.656875rem;
  color: var(--pgz-color-black);
}


.page-template-template-hotels .pgz-hotel-card__location {

  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--pgz-gap-4);
  margin: 0;
  font-size: var(--pgz-text-base);
  font-weight: var(--pgz-weight-regular);
  line-height: var(--pgz-leading-150);
  color: var(--pgz-color-text-gray);
}


.page-template-template-hotels .pgz-hotel-card__pin {

  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}


.page-template-template-hotels .pgz-hotel-card__rating {

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--pgz-gap-8);
  height: 3rem;
  padding: var(--pgz-gap-14) var(--pgz-padding-24);
  background-color: var(--pgz-color-off-white);
  border-radius: var(--pgz-radius-46);
  flex-shrink: 0;
}


.page-template-template-hotels .pgz-hotel-card__star {

  width: 1rem;
  height: 1rem;
  color: var(--pgz-color-primary);
}


.page-template-template-hotels .pgz-hotel-card__rating-value {

  font-size: var(--pgz-text-base);
  font-weight: var(--pgz-weight-bold);
  line-height: var(--pgz-leading-140);
  color: var(--pgz-color-black);
}


.page-template-template-hotels .pgz-hotel-card__reviews {

  font-size: var(--pgz-text-base-sm);
  font-weight: var(--pgz-weight-regular);
  line-height: var(--pgz-leading-140);
  color: var(--pgz-color-text-gray);
}


.page-template-template-hotels .pgz-hotel-card__divider,
.page-template-template-hotels .pgz-hotel-card__provider-divider {

  margin: 0;
  border: none;
  border-top: 1px solid var(--pgz-color-cream);
  width: 100%;
}


.page-template-template-hotels .pgz-hotel-card__amenities {

  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--pgz-gap-10);
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  max-width: 38.4375rem;
}


.page-template-template-hotels .pgz-hotel-card__amenity {

  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--pgz-gap-8);
  height: 2.25rem;
  padding: var(--pgz-padding-8) var(--pgz-gap-14);
  background-color: var(--pgz-color-off-white);
  border-radius: var(--pgz-radius-40);
  font-size: var(--pgz-text-base);
  font-weight: var(--pgz-weight-regular);
  line-height: var(--pgz-leading-150);
  color: var(--pgz-color-text-gray);
  white-space: nowrap;
}


.page-template-template-hotels .pgz-hotel-card__amenity-icon {

  display: block;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  object-fit: contain;
}


.page-template-template-hotels .pgz-hotel-card__amenity:first-child {

  min-width: 10.875rem;
}


.page-template-template-hotels .pgz-hotel-card__amenity-note {

  margin: 0;
  max-width: 38.4375rem;
  font-family: var(--pgz-font-plus-jakarta);
  font-size: var(--pgz-text-sm);
  font-style: italic;
  font-weight: var(--pgz-weight-semibold);
  line-height: var(--pgz-leading-140);
  color: var(--pgz-color-primary);
}


.page-template-template-hotels .pgz-hotel-card__providers {

  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--pgz-gap-8);
  width: 100%;
  max-width: 38.4375rem;
}


.page-template-template-hotels .pgz-hotel-card__provider {

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: var(--pgz-padding-8) 0;
}


.page-template-template-hotels .pgz-hotel-card__provider-meta {

  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--pgz-gap-8);
  min-height: 1.75rem;
}


.page-template-template-hotels .pgz-hotel-card__provider-name {

  font-size: var(--pgz-text-base);
  font-weight: var(--pgz-weight-regular);
  line-height: var(--pgz-leading-150);
  color: var(--pgz-color-text-gray);
}


.page-template-template-hotels .pgz-hotel-card__provider--lowest .pgz-hotel-card__provider-name {

  font-weight: var(--pgz-weight-bold);
  color: var(--pgz-color-black);
}


.page-template-template-hotels .pgz-hotel-card__badge {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--pgz-padding-badge);
  border-radius: var(--pgz-radius-full);
  background-color: var(--pgz-color-badge-lowest-bg);
  font-family: var(--pgz-font-sf-pro);
  font-size: var(--pgz-text-xs);
  font-weight: 590;
  line-height: 0.9375rem;
  color: var(--pgz-color-primary);
}


.page-template-template-hotels .pgz-hotel-card__provider-action {

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: var(--pgz-gap-108);
  min-width: 19.0625rem;
}


.page-template-template-hotels .pgz-hotel-card__price {

  font-size: var(--pgz-text-base-sm);
  font-weight: var(--pgz-weight-semibold);
  line-height: var(--pgz-leading-150);
  color: var(--pgz-color-text-gray);
}


.page-template-template-hotels .pgz-hotel-card__cta {

  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: var(--pgz-gap-8);
  text-decoration: none;
  color: var(--pgz-color-black);
}


.page-template-template-hotels .pgz-hotel-card__cta span {

  font-size: var(--pgz-text-base-sm);
  font-weight: var(--pgz-weight-semibold);
  line-height: var(--pgz-leading-150);
}


.page-template-template-hotels .pgz-hotel-card__cta-icon {

  display: block;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  object-fit: contain;
}


.page-template-template-hotels .pgz-hotel-card__disclaimer {

  margin: 0;
  font-family: var(--pgz-font-plus-jakarta);
  font-size: var(--pgz-text-sm);
  font-style: italic;
  font-weight: var(--pgz-weight-semibold);
  line-height: var(--pgz-leading-140);
  text-align: right;
  color: var(--pgz-color-primary);
}


.page-template-template-hotels .pgz-hotel-card__compare {

  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: var(--pgz-gap-4);
  width: 100%;
  max-width: 38.4375rem;
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  font-size: var(--pgz-text-base);
  font-weight: var(--pgz-weight-regular);
  line-height: var(--pgz-leading-140);
  color: var(--pgz-color-black);
  cursor: pointer;
}


.page-template-template-hotels .pgz-hotel-card__compare svg {

  width: 1rem;
  height: 1rem;
}


@media (max-width: 1023px) {

  .page-template-template-hotels .pgz-hotel-card__inner {

    flex-direction: column;
  }


  .page-template-template-hotels .pgz-hotel-card__media {

    width: 100%;
    height: 15rem;
  }


  .page-template-template-hotels .pgz-hotel-card__header,
.page-template-template-hotels .pgz-hotel-card__amenities,
.page-template-template-hotels .pgz-hotel-card__amenity-note,
.page-template-template-hotels .pgz-hotel-card__providers,
.page-template-template-hotels .pgz-hotel-card__compare {

    max-width: none;
    width: 100%;
  }


  .page-template-template-hotels .pgz-hotel-card__provider-action {

    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--pgz-gap-12);
    min-width: 0;
    width: 100%;
  }

}

@media (max-width: 767px) {

  .page-template-template-hotels .pgz-hotel-card__provider,
.page-template-template-hotels-php .pgz-hotel-card__provider {

    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--pgz-gap-10);
    padding: var(--pgz-padding-18-24);
    border: 1px solid var(--pgz-color-cream);
    border-radius: var(--pgz-radius-12);
    background-color: var(--pgz-color-white);
    box-sizing: border-box;
  }


  .page-template-template-hotels .pgz-hotel-card__provider--lowest,
.page-template-template-hotels-php .pgz-hotel-card__provider--lowest {

    border-color: var(--pgz-color-black);
  }


  .page-template-template-hotels .pgz-hotel-card__provider-divider,
.page-template-template-hotels-php .pgz-hotel-card__provider-divider {

    display: none;
  }


  .page-template-template-hotels .pgz-hotel-card__provider-meta,
.page-template-template-hotels-php .pgz-hotel-card__provider-meta {

    width: 100%;
    min-height: 0;
  }


  .page-template-template-hotels .pgz-hotel-card__provider-action,
.page-template-template-hotels-php .pgz-hotel-card__provider-action {

    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    gap: var(--pgz-gap-12);
  }


  .page-template-template-hotels .pgz-hotel-card__cta,
.page-template-template-hotels-php .pgz-hotel-card__cta {

    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: var(--pgz-padding-8);
    box-sizing: border-box;
  }

}

