.xhs-block {
  border-color: #ead1d1;
  background: #fffafa;
}

.xhs-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
}

.xhs-heading div { display: flex; flex-direction: column; }
.xhs-heading b { font-size: 15px; }
.xhs-heading small { font-size: 11px; color: var(--muted); }
.xhs-heading a {
  padding: 6px 10px;
  border: 1px solid #e7c3c8;
  border-radius: 999px;
  color: #b94d5b;
  font-size: 11px;
  text-decoration: none;
  white-space: nowrap;
}

.xhs-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin-top: 14px;
}

.xhs-photo-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.xhs-photo-link:hover figure {
  border-color: #c8828c;
  box-shadow: 0 8px 22px rgba(126, 59, 68, .12);
}

.xhs-photo-link:focus-visible {
  outline: 3px solid rgba(185, 77, 91, .28);
  outline-offset: 3px;
  border-radius: 11px;
}

.xhs-gallery figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid #eadede;
  border-radius: 11px;
  background: #f4ecec;
}

.xhs-gallery img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.xhs-gallery figcaption {
  padding: 9px 10px;
  color: #5e5557;
  font-size: 11px;
  line-height: 1.45;
}

.xhs-gallery figcaption span {
  display: block;
  margin-bottom: 2px;
  color: #b94d5b;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}

@media (max-width: 800px) {
  .xhs-heading { align-items: start; }
  .xhs-gallery { grid-template-columns: 1fr 1fr; }
  .xhs-gallery img { height: 230px; }
}

@media (max-width: 460px) {
  .xhs-heading { flex-direction: column; }
  .xhs-gallery img { height: 190px; }
}

@media print {
  .xhs-gallery { grid-template-columns: repeat(4, 1fr); }
  .xhs-gallery img { height: 150px; }
}
