/* v1.1: A single cohesive supplier card rather than an image + detached review footer. */
.hp-listing--view-block {
  background: #fff;
  border: 1px solid #e4e9e5;
  border-radius: 12px;
  box-shadow: 0 3px 15px rgba(11, 44, 35, .055);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: box-shadow .18s ease, transform .18s ease;
}
.hp-listing--view-block:hover { box-shadow: 0 8px 24px rgba(11, 44, 35, .11); }
.hp-listing--view-block .hp-listing__header { margin: 0; overflow: hidden; }
.hp-listing--view-block .hp-listing__image.oan-directory-cover {
  background: #f7f8f5;
  overflow: hidden;
  height: 222px;
  min-height: 222px;
  margin: 0;
  display: block;
}
.hp-listing--view-block .oan-directory-cover > a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-decoration: none;
}
.hp-listing--view-block .oan-directory-cover.oan-card-logo { background: #fff; }
.hp-listing--view-block .oan-directory-cover img[data-oan-image] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hp-listing--view-block .oan-directory-cover.oan-card-logo img[data-oan-image] {
  width: auto;
  max-width: 82%;
  height: auto;
  max-height: 164px;
  object-fit: contain;
  margin: auto;
}
.hp-listing--view-block .oan-directory-cover.oan-card-photo img[data-oan-image] { object-fit: cover; }
.hp-listing--view-block .oan-directory-cover.oan-cover-has-logo-fallback img[data-oan-image] {
  width: auto;
  max-width: 82%;
  height: auto;
  max-height: 164px;
  object-fit: contain;
  margin: auto;
}
.hp-listing--view-block .oan-directory-cover__fallback {
  display: none;
  font-weight: 750;
  font-size: 44px;
  letter-spacing: .02em;
  color: #1c5141;
  width: 110px;
  height: 110px;
  border-radius: 20px;
  background: #ecf3ed;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.hp-listing--view-block .oan-directory-cover.oan-image-failed { background: #f7f8f5; }
.hp-listing--view-block .oan-directory-cover.oan-image-failed img[data-oan-image] { display: none !important; }
.hp-listing--view-block .oan-directory-cover.oan-image-failed .oan-directory-cover__fallback,
.hp-listing--view-block .oan-directory-cover.oan-image-failed > a .oan-directory-cover__fallback { display: flex; }
/* Content panel holds heading, category, date and rating as one continuous unit. */
.hp-listing--view-block .hp-listing__content {
  background: #fff;
  padding: 17px 18px 16px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.hp-listing--view-block .hp-listing__title { margin: 0 0 7px; }
.hp-listing--view-block .oan-card-rating {
  margin-top: auto;
  padding: 12px 0 0;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  color: #5b6e69;
}
.hp-listing--view-block .oan-card-rating a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.hp-listing--view-block .oan-card-rating__stars {
  display: inline-block; position: relative; font-family: Arial, sans-serif;
  font-size: 17px; letter-spacing: 1px; line-height: 1; white-space: nowrap;
}
.hp-listing--view-block .oan-card-rating__back { color: #d5d8d5; }
.hp-listing--view-block .oan-card-rating__front { position: absolute; top: 0; left: 0; overflow: hidden; white-space: nowrap; color: #e9ad08; }
.hp-listing--view-block .oan-card-rating__score { font-weight: 700; color: #183e34; }
.hp-listing--view-block .oan-card-rating__count, .hp-listing--view-block .oan-card-rating__empty { color: #647770; }
.hp-listing--view-block .hp-listing__footer:empty { display: none; }
.hp-listing--view-block .hp-listing__footer:not(:empty) { padding: 10px 18px; background: #fff; border-top: 1px solid #f0f1ee; }
@media (max-width: 600px) {
  .hp-listing--view-block .hp-listing__image.oan-directory-cover { height: 195px; min-height: 195px; }
}
