/* ===== Strona Główna — style własne strony ===== */

.home-hero {
  padding-block: var(--space-7) var(--space-6);
  background-color: var(--color-paper);
}

.home-hero__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.home-hero__heading {
  margin-block-end: var(--space-5);
}

.home-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-ink);
  margin-block-end: var(--space-3);
}

.home-hero__subtitle {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-crimson);
  margin-block-end: var(--space-2);
}

.home-hero__intro {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--color-ink-soft);
  max-width: 65ch;
  margin-block-end: 0;
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: var(--grid-gap);
  align-items: start;
}

.home-hero__featured {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.home-hero__featured-link {
  display: block;
  border-radius: var(--radius-small);
  overflow: hidden;
}

.home-hero__featured-link img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.home-hero__featured-caption {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
}

.home-hero__section-title {
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-crimson);
  margin-block-end: 0;
}

.home-hero__film-title {
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-ink);
  margin-block-end: 0;
}

.home-hero__film-description {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--color-ink);
  max-width: 65ch;
  margin-inline: auto;
  text-align: center;
  margin-block-end: 0;
}

.home-hero__cta {
  display: inline-block;
  align-self: center;
  font-family: var(--font-heading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: var(--text-small-size);
  line-height: 1.5;
  color: var(--color-paper);
  background-color: var(--color-crimson);
  border-radius: var(--radius-small);
  padding: var(--space-2) var(--space-4);
  transition: background-color var(--transition-fast);
}

.home-hero__cta:hover {
  background-color: #6b0000;
  color: var(--color-paper);
  text-decoration: none;
}

.home-hero__secondary {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.home-hero__secondary-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.home-hero__secondary-link {
  display: block;
  border-radius: var(--radius-small);
  overflow: hidden;
}

.home-hero__secondary-link img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.home-hero__secondary-caption {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-2);
}

.home-hero__secondary-title {
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-ink);
  margin-block-end: 0;
}

.home-hero__secondary-text {
  font-size: var(--text-small-size);
  line-height: 1.5;
  color: var(--color-ink-soft);
  margin-block-end: 0;
}

/* ===== Sekcje ogólne ===== */
.home-section {
  padding-block: var(--space-7);
  background-color: var(--color-paper);
}

.home-section__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.home-section__heading {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line-height);
  font-weight: var(--text-h2-weight);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-ink);
  margin-block-end: var(--space-4);
}

.home-section__lead {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--color-ink);
  max-width: 70ch;
  margin-block-end: var(--space-5);
}

.home-section__lead--casinos,
.home-section__lead--plots,
.home-section__lead--characters,
.home-section__lead--scenes,
.home-section__lead--trivia,
.home-section__lead--rankings,
.home-section__lead--articles,
.home-section__lead--reviews,
.home-section__lead--archive {
  max-width: 70ch;
}

.home-section__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--grid-gap);
  align-items: start;
}

.home-section__text {
  min-width: 0;
}

.home-section__text--poker,
.home-section__text--roulette,
.home-section__text--blackjack {
  max-width: 70ch;
}

.home-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-gap);
  min-width: 0;
}

.home-card-grid--poker,
.home-card-grid--roulette,
.home-card-grid--blackjack {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-card {
  background-color: var(--color-paper-light);
  border: var(--border-width-thin) solid var(--color-border-light);
  border-radius: var(--radius-small);
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.home-card:hover {
  border-color: var(--color-crimson);
  box-shadow: var(--shadow-subtle);
}

.home-card--poker:hover {
  border-color: var(--color-felt);
}

.home-card--roulette:hover {
  border-color: var(--color-crimson);
}

.home-card--blackjack:hover {
  border-color: var(--color-cobalt);
}

.home-card__title {
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-ink);
  margin-block-end: 0;
}

.home-card__text {
  font-size: var(--text-small-size);
  line-height: 1.5;
  color: var(--color-ink-soft);
  max-width: 50ch;
  margin-block-end: 0;
}

.home-card__link {
  font-family: var(--font-heading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: var(--text-small-size);
  line-height: 1.5;
  color: var(--color-crimson);
  transition: color var(--transition-fast);
  margin-block-start: auto;
}

.home-card__link:hover {
  color: var(--color-cobalt);
  text-decoration: underline;
}

/* ===== Nieregularne przesunięcia dla stykówki ===== */
.home-section--poker {
  margin-block-start: calc(var(--space-6) * -1);
}

.home-section--roulette {
  margin-block-start: var(--space-4);
}

.home-section--blackjack {
  margin-block-start: calc(var(--space-4) * -1);
}

.home-section--plots {
  margin-block-start: var(--space-4);
}

.home-section--characters {
  margin-block-start: calc(var(--space-4) * -1);
}

.home-section--scenes {
  margin-block-start: var(--space-4);
}

.home-section--trivia {
  margin-block-start: calc(var(--space-4) * -1);
}

.home-section--rankings {
  margin-block-start: var(--space-4);
}

.home-section--articles {
  margin-block-start: calc(var(--space-4) * -1);
}

.home-section--reviews {
  margin-block-start: var(--space-4);
}

.home-section--archive {
  margin-block-start: calc(var(--space-4) * -1);
}

/* ===== Tablet ===== */
@media (max-width: 992px) {
  .home-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-hero__featured {
    grid-column: 1 / 2;
    grid-row: auto;
  }

  .home-hero__secondary {
    grid-column: 1 / 2;
    grid-row: auto;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .home-hero__secondary-card {
    flex: 1 1 40%;
    min-width: 0;
  }

  .home-section__split {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-card-grid--poker,
  .home-card-grid--roulette,
  .home-card-grid--blackjack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ===== Mobile ===== */
@media (max-width: 768px) {
  .home-hero {
    padding-block: var(--space-6) var(--space-5);
  }

  .home-hero__title {
    font-size: 2rem;
    line-height: 1.2;
  }

  .home-hero__subtitle {
    font-size: 1.125rem;
  }

  .home-hero__intro {
    font-size: 1rem;
  }

  .home-hero__featured-caption {
    padding: var(--space-2);
  }

  .home-hero__film-description {
    max-width: 100%;
    text-align: left;
  }

  .home-hero__cta {
    align-self: flex-start;
  }

  .home-hero__secondary {
    flex-direction: column;
  }

  .home-hero__secondary-card {
    flex: 1 1 100%;
  }

  .home-section {
    padding-block: var(--space-6);
  }

  .home-section__lead {
    max-width: 100%;
  }

  .home-card-grid,
  .home-card-grid--poker,
  .home-card-grid--roulette,
  .home-card-grid--blackjack {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-section--poker,
  .home-section--blackjack,
  .home-section--characters,
  .home-section--trivia,
  .home-section--articles,
  .home-section--archive {
    margin-block-start: 0;
  }

  .home-section--roulette,
  .home-section--plots,
  .home-section--scenes,
  .home-section--rankings,
  .home-section--reviews {
    margin-block-start: 0;
  }
}

@media (max-width: 480px) {
  .home-hero__title {
    font-size: 1.75rem;
  }

  .home-hero__film-title {
    font-size: 1.25rem;
  }

  .home-section__heading {
    font-size: 1.5rem;
  }

  .home-card {
    padding: 1rem;
  }
}