/*
 * VIDEO CARD TYPOGRAPHY — v2.1.47
 *
 * This isolated layer keeps video-card text balanced without changing the
 * carousel, images, links or the full text stored in the page markup.
 */

.story-slide,
.story-slide > .story-card,
.season-story-grid .story-card,
.related-recipe-card {
  min-width: 0;
}

.story-slide,
.story-slide > .story-card,
.season-story-grid .story-card,
.related-recipe-card {
  height: 100%;
}

.story-slide > .story-card,
.season-story-grid .story-card,
.related-recipe-card {
  display: flex;
  flex-direction: column;
}

.story-card .card-copy,
.related-recipe-copy {
  min-width: 0;
  flex: 1;
}

.story-card .card-copy {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
}

.story-card .card-meta {
  min-height: 1.45em;
  align-items: baseline;
  gap: clamp(10px, 1.2vw, 16px);
  margin-bottom: clamp(10px, 0.9vw, 14px);
  font-size: clamp(0.64rem, 0.12vw + 0.61rem, 0.69rem);
  line-height: 1.45;
}

.story-card .card-meta span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.story-carousel .story-card h3,
.season-story-grid .story-card h3 {
  min-height: 3.39em;
  max-height: 3.39em;
  overflow: hidden;
  display: -webkit-box;
  margin-bottom: clamp(10px, 0.85vw, 13px);
  font-size: clamp(1.18rem, 0.68vw + 0.92rem, 1.5rem);
  line-height: 1.13;
  letter-spacing: -0.028em;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.story-card h3 a,
.related-recipe-copy h3 a {
  overflow-wrap: inherit;
}

.story-card p {
  font-size: clamp(0.86rem, 0.18vw + 0.82rem, 0.94rem);
  line-height: 1.62;
  overflow-wrap: anywhere;
}

.story-card-description {
  max-height: 4.86em;
  -webkit-line-clamp: 3;
}

.story-card-description::after {
  width: min(40%, 150px);
  height: 1.62em;
  background: linear-gradient(90deg, rgba(247, 243, 233, 0), rgba(247, 243, 233, 0.62) 52%, var(--milk) 100%);
}

.season-story-grid .story-card p {
  max-height: 4.86em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.related-recipe-copy {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
}

.related-recipe-copy h3 {
  min-height: 3.45em;
  max-height: 3.45em;
  overflow: hidden;
  display: -webkit-box;
  font-size: clamp(1rem, 0.48vw + 0.9rem, 1.24rem);
  line-height: 1.15;
  letter-spacing: -0.018em;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.related-recipe-copy > p:last-child {
  align-self: end;
  padding-top: 11px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .story-carousel .story-card h3,
  .season-story-grid .story-card h3 {
    font-size: clamp(1.14rem, 1.1vw + 0.9rem, 1.34rem);
  }
}

@media (max-width: 640px) {
  .story-card .card-meta {
    gap: 9px;
    margin-bottom: 10px;
    font-size: clamp(0.61rem, 2.65vw, 0.66rem);
    letter-spacing: 0.085em;
  }

  .story-carousel .story-card h3,
  .season-story-grid .story-card h3 {
    min-height: 3.42em;
    max-height: 3.42em;
    margin-bottom: 10px;
    font-size: clamp(1.08rem, 4.7vw, 1.27rem);
    line-height: 1.14;
    letter-spacing: -0.022em;
  }

  .story-card p {
    font-size: clamp(0.84rem, 3.65vw, 0.91rem);
    line-height: 1.58;
  }

  .story-card-description,
  .season-story-grid .story-card p {
    max-height: 4.74em;
  }

  .story-card-description::after {
    height: 1.58em;
  }

  .related-recipe-copy h3 {
    min-height: 3.45em;
    max-height: 3.45em;
    font-size: clamp(1rem, 4.35vw, 1.16rem);
  }
}
