/* Editorial/media corrections layered over the approved legacy pages. */
.product-img-box { aspect-ratio: 1 / 1 !important; }
.product-img-box img { object-fit: contain !important; }

.bento-news-grid {
  grid-template-columns: 1.25fr 1fr !important;
  min-height: 0 !important;
  align-items: stretch;
}

.bento-lead-card {
  height: auto !important;
}

.bento-lead-card {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto 1fr;
}

.bento-lead-card img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: #111;
  filter: none !important;
}

.bento-lead-content {
  position: relative !important;
  inset: auto !important;
  background: #000 !important;
}

.bento-lead-content {
  min-height: 210px;
  padding: clamp(1.4rem, 3vw, 2.4rem) !important;
}

.bento-lead-title {
  display: block;
  color: #fff;
  font-size: clamp(1.45rem, 2.4vw, 2.1rem) !important;
}

.bento-lead-desc { margin-top: auto; }

.bento-right-stack {
  --compact-thumb: clamp(112px, 13vw, 180px);
  display: grid !important;
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: .75rem !important;
}

.bento-compact-card {
  min-height: 0;
  grid-template-columns: var(--compact-thumb) minmax(0, 1fr) !important;
  gap: clamp(.75rem, 1.6vw, 1.25rem) !important;
  padding: .75rem !important;
}

.bento-compact-thumb {
  width: var(--compact-thumb) !important;
  height: var(--compact-thumb) !important;
  min-height: 0 !important;
  align-self: center;
}

.bento-compact-thumb img,
.news-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
}

.bento-compact-info { min-width: 0; justify-content: center; }
.bento-compact-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-card-media { aspect-ratio: 1 / 1 !important; }
.news-card-uniform:hover .news-card-media img,
.bento-lead-card:hover img { transform: none !important; }

.saint-publication-link { color: inherit; text-decoration: none; }
.editorial-left-card,
.editorial-sub-card,
.editorial-card-content {
  color: #fff !important;
}
.editorial-card-title {
  color: #fff !important;
}
.editorial-tag {
  color: #ccc !important;
}
.editorial-card-desc {
  color: #ddd !important;
}
.editorial-link-btn {
  color: #fff !important;
  border-bottom: 1px solid #fff !important;
}

.editorial-card-content,
.bento-lead-content,
.bento-compact-info,
.news-card-body,
.news-card-meta,
.bento-meta-row { display: flex; }
.editorial-card-content,
.bento-lead-content,
.bento-compact-info,
.news-card-body { flex-direction: column; }

.saint-publication-error {
  grid-column: 1 / -1;
  padding: 24px;
  border: 1px solid #2d2d2d;
  color: #8f8f8f;
}

/* Keep the approved homepage editorial bento independent from square source dimensions. */
@media (min-width: 992px) {
  .editorial-grid {
    height: 620px;
    min-height: 620px;
    grid-template-rows: minmax(0, 1fr);
  }
  .editorial-grid > *,
  .editorial-right-bottom-grid,
  .editorial-sub-card { min-height: 0; }
  .editorial-right-col {
    height: 100%;
    min-height: 0;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .editorial-grid { min-height: 0; }
  .editorial-left-card { height: auto; aspect-ratio: 1 / 1; }
  .editorial-right-col { grid-template-rows: auto auto; }
  .editorial-right-col > .editorial-sub-card { min-height: 0; aspect-ratio: 16 / 9; }
  .editorial-right-bottom-grid .editorial-sub-card { min-height: 0; aspect-ratio: 1 / 1; }
  .editorial-left-card > img,
  .editorial-sub-card > img { position: absolute; inset: 0; }
}

@media (max-width: 900px) {
  .bento-news-grid { grid-template-columns: 1fr !important; }
  .bento-right-stack {
    --compact-thumb: clamp(112px, 17vw, 150px);
    grid-template: repeat(2, auto) / repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .bento-right-stack { grid-template-columns: 1fr; grid-template-rows: repeat(4, auto); }
  .bento-compact-card { --compact-thumb: 104px; }
  .bento-lead-content { min-height: 0; }
}
