/* ─── Success Stories Page Styles ─────────────────────────────────── */

.stories-hero {
  background: linear-gradient(135deg, #6E2038 0%, #8B2842 40%, #5A1D32 100%);
}

/* ─── Stories Grid ────────────────────────────────────────────────── */
.stories-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .stories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .stories-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.stories-grid-card {
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(45, 35, 25, 0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  display: block;
  color: inherit;
  text-decoration: none;
}

.stories-grid-card:hover {
  box-shadow: 0 8px 24px rgba(45, 35, 25, 0.12);
  transform: translateY(-3px);
}

.stories-grid-card__image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #FDF2F4;
}

.stories-grid-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.stories-grid-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FDF2F4, #FAE2E7);
}

.stories-grid-card__badge {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
}

.stories-grid-card__content {
  padding: 1.25rem;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─── Story Detail ────────────────────────────────────────────────── */
.story-detail {
  background: #fff;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 1px 4px rgba(45, 35, 25, 0.06);
}

@media (min-width: 768px) {
  .story-detail {
    padding: 3rem;
  }
}

.story-detail__images {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .story-detail__images {
    grid-template-columns: repeat(2, 1fr);
  }
}

.story-detail__image-wrap {
  border-radius: 0.75rem;
  overflow: hidden;
  aspect-ratio: 4/3;
}

.story-detail__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-detail__text {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #524838;
  white-space: pre-line;
}
