/* ==========================================================================
   PERSONAL STORIES & TESTIMONIES (SECTION SPECIFIC)
   ========================================================================== */

.stories-section {
  padding: 3rem 0;
}

.stories-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.stories-header h2 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.stories-header p {
  max-width: 650px;
  margin: 0 auto;
  font-size: 1.05rem;
}

/* Grid layout for cards */
.stories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem;
}

/* Base card styling */
.story-card {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 1.75rem;
  box-shadow: 0 4px 12px rgba(69, 123, 157, 0.08);
  border-top: 4px solid #00bcd4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Featured / lead narrative card spans full width across columns */
.story-card.featured {
  grid-column: 1 / -1;
  border-top: 4px solid #457b9d;
}

/* Decorative Font Awesome Quote Icon */
.quote-icon {
  font-size: 1.5rem;
  color: #00bcd4;
  margin-bottom: 0.75rem;
  display: inline-block;
}

/* Card story content */
.story-body {
  font-size: 0.95rem;
  margin: 0.75rem 0 1.25rem 0;
}

.story-body p {
  margin: 0 0 0.75rem 0;
}

.story-body p:last-child {
  margin-bottom: 0;
}

/* Author and badge row */
.story-footer {
  border-top: 1px solid #e9ecef;
  padding-top: 0.75rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.story-author {
  font-weight: 700;
  color: #457b9d;
  font-size: 0.95rem;
}

/* Badge container */
.story-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  background-color: #faf9f6;
  color: #457b9d;
  border: 1px solid #00bcd4;
  padding: 0.25rem 0.6rem;
  border-radius: 4px;
  font-weight: 600;
  line-height: 1;
}

/* Font Awesome icon inside badge */
.story-badge i {
  color: #00bcd4;
  font-size: 0.85rem;
}