/* Section: Patient stories ("Prawdziwe historie") */

.stories {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: var(--space-5xl);
  color: var(--color-grey-100);
}
.stories__bg { position: absolute; inset: 0; z-index: -1; background: var(--color-grey-900); }
.stories__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.stories__container { display: flex; flex-direction: column; gap: var(--space-2xl); align-items: center; }

/* Head */
.stories__head { display: flex; flex-direction: column; gap: var(--space-l); align-items: center; text-align: center; }
.stories__heading { color: var(--color-grey-100); }
.stories__heading em { font-style: italic; }
.stories__sub { max-width: 800px; font-size: var(--fs-body-m); line-height: var(--lh-body-m); color: var(--color-grey-100); }

/* Slider (CSS-first) */
.stories__slider-wrap { position: relative; width: 100%; }
.stories__slider { width: 100%; overflow: hidden; }
.stories__slider .swiper-wrapper { display: flex; }
.stories__slider .swiper-slide {
  width: 337px;
  margin-right: var(--space-s);
  flex-shrink: 0;
}
.stories__slider .swiper-slide:last-child { margin-right: 0; }

/* Card */
.story-card {
  position: relative;
  display: block;
  width: 337px;
  height: 512px;
  border-radius: var(--radius-xs);
  overflow: hidden;
  background: var(--color-grey-800);
}
.story-card__bg { position: absolute; inset: 0; }
.story-card__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.story-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 37%, rgba(0,0,0,.9) 100%); }
.story-card__content {
  position: absolute;
  left: 0; right: 0; bottom: var(--space-2xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2x);
  padding-inline: var(--space-l);
  text-align: center;
}
.story-card__name {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 400;
  font-size: var(--fs-h-m);
  line-height: var(--lh-h-m);
  letter-spacing: -2px;
  color: var(--color-grey-100);
}
.story-card__excerpt { max-width: 242px; font-size: var(--fs-body-m); line-height: var(--lh-body-m); color: var(--color-grey-100); }
.story-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding-block: var(--space-2x);
  font-size: var(--fs-body-s);
  line-height: var(--lh-body-s);
  font-weight: 500;
  color: var(--color-grey-100);
}
.story-card__cta svg { transition: transform .2s ease; }
.story-card:hover .story-card__cta svg { transform: translateX(4px); }

/* Nav arrows (centred on card height) */
.stories__arrow {
  position: absolute;
  top: 256px;
  transform: translateY(-50%);
  z-index: 2;
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-pill);
  color: var(--color-grey-900);
  box-shadow: 0 4px 16px rgba(13,13,13,.2);
}
.stories__prev { left: -23px; background: var(--color-grey-100); }
.stories__next { right: -22px; background: var(--color-grey-200); }
.stories__arrow:hover { background: var(--color-grey-400); }
.stories__arrow.swiper-button-disabled { opacity: .4; cursor: default; }
.stories__arrow.swiper-button-lock { display: none; }

/* Tablet keeps the slider arrows (Figma) straddling the card edges over the dark bg.
   Hang them to the section edge (= -gutter) — the full desktop overhang would spill
   past the viewport since the gutter is only 20px. */
@media (max-width: 1024px) {
  .stories__prev { left: calc(-1 * var(--gutter)); }
  .stories__next { right: calc(-1 * var(--gutter)); }
}
@media (max-width: 600px) {
  .stories__arrow { display: none; }      /* phones: swipe only */
  .stories__heading { font-size: var(--fs-h-m); line-height: var(--lh-h-m); letter-spacing: var(--ls-h-m); }
  .stories__slider .swiper-slide { width: 280px; }
  .story-card { width: 280px; }
}
