/* Page-owned styles for Życie na pokładzie */

.life-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: center;
  padding-block: var(--space-xl);
}

.life-hero__media {
  width: 100%;
  min-width: 0;
}

.life-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.life-hero__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
}

.life-hero__lead {
  max-width: 34rem;
  margin-block-end: 0;
}

.life-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-antique-gold);
  border-radius: var(--radius-small);
  background: transparent;
  color: var(--color-antique-gold);
  padding: 0.625rem 1.25rem;
  font-weight: 500;
  transition: background-color var(--transition-smooth), color var(--transition-smooth), border-color var(--transition-smooth);
}

.life-button:hover {
  background-color: var(--color-antique-gold);
  color: var(--color-chocolate-ink);
  text-decoration: none;
}

.life-button--on-dark {
  color: var(--color-gold-on-dark);
  border-color: var(--color-gold-on-dark);
}

.life-button--on-dark:hover {
  background-color: var(--color-gold-on-dark);
  color: var(--color-chocolate-ink);
}

.life-intro {
  padding-block: var(--space-xl);
}

.life-intro__inner {
  max-width: 700px;
  margin-inline: 0;
}

.life-intro__inner h2 {
  margin-block-end: var(--space-md);
}

.life-intro__inner p {
  margin-block-end: var(--space-sm);
}

.life-pullquote {
  margin-block-start: var(--space-lg);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  font-style: italic;
  color: var(--color-chocolate-ink);
  border-inline-start: 2px solid var(--color-antique-gold);
  padding-inline-start: var(--space-md);
}

.life-cabins {
  padding-block: var(--space-xl);
}

.life-section-heading {
  margin-block-end: var(--space-lg);
}

.life-cabins__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.life-cabin-card {
  background-color: var(--color-papyrus-surface);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-md);
  min-width: 0;
  transition: transform var(--transition-smooth), border-color var(--transition-smooth);
  border: 1px solid transparent;
}

.life-cabin-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-antique-gold);
}

.life-cabin-card h3 {
  margin-block-end: var(--space-sm);
}

.life-cabin-card p {
  margin-block-end: var(--space-sm);
}

.life-cabin-card p:last-child {
  margin-block-end: 0;
}

.life-dining {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-lg);
  align-items: center;
  padding-block: var(--space-xl);
}

.life-dining__text {
  min-width: 0;
}

.life-dining__text h2 {
  margin-block-end: var(--space-md);
}

.life-dining__text p {
  margin-block-end: var(--space-sm);
}

.life-dining__list {
  margin-block-end: var(--space-md);
}

.life-dining__featured {
  background-color: var(--color-papyrus-surface);
  border-radius: var(--radius-medium);
  padding: var(--space-md);
  margin-block-start: var(--space-md);
}

.life-dining__featured h3 {
  margin-block-end: var(--space-xs);
}

.life-dining__featured p {
  margin-block-end: 0;
}

.life-dining__media {
  width: 100%;
  min-width: 0;
}

.life-dining__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.life-activities,
.life-shows,
.life-infrastructure,
.life-tips {
  padding-block: var(--space-xl);
}

.life-activities__inner,
.life-shows__inner,
.life-infrastructure__inner,
.life-tips__inner {
  max-width: 800px;
  margin-inline: 0;
}

.life-activities__inner h2,
.life-shows__inner h2,
.life-infrastructure__inner h2,
.life-tips__inner h2 {
  margin-block-end: var(--space-md);
}

.life-activities__inner p,
.life-shows__inner p,
.life-infrastructure__inner p,
.life-tips__inner p {
  margin-block-end: var(--space-sm);
}

.life-activities__list,
.life-shows__list,
.life-infrastructure__list,
.life-tips__list {
  margin-block-start: var(--space-sm);
}

.life-casino {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-lg);
  align-items: start;
  padding-block: var(--space-xl);
}

.life-casino__content {
  min-width: 0;
}

.life-casino__content h2 {
  margin-block-end: var(--space-md);
}

.life-casino__content > p {
  margin-block-end: var(--space-md);
}

.life-casino__game {
  margin-block-end: var(--space-md);
}

.life-casino__game h3 {
  margin-block-end: var(--space-xs);
}

.life-casino__game p {
  margin-block-end: 0;
}

.life-casino__etiquette {
  background-color: var(--color-papyrus-surface);
  border-radius: var(--radius-medium);
  padding: var(--space-md);
  margin-block-start: var(--space-md);
}

.life-casino__etiquette h3 {
  margin-block-end: var(--space-xs);
}

.life-casino__etiquette ul {
  margin-block-end: 0;
}

.life-casino__media {
  width: 100%;
  min-width: 0;
}

.life-casino__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.life-cta {
  background-color: var(--color-chocolate-ink);
  color: var(--color-ivory-text-on-dark);
  padding-block: var(--space-xl);
}

.life-cta__inner {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.life-cta__inner h2 {
  color: var(--color-ivory-text-on-dark);
  margin-block-end: 0;
}

.life-cta__inner p {
  margin-block-end: 0;
}

@media (max-width: 1024px) {
  .life-hero {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .life-hero__media {
    order: -1;
  }

  .life-dining {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .life-dining__media {
    order: 2;
  }

  .life-casino {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .life-casino__media {
    order: 2;
  }
}

@media (max-width: 768px) {
  .life-cabins__grid {
    grid-template-columns: 1fr;
  }

  .life-hero__content,
  .life-intro__inner,
  .life-activities__inner,
  .life-shows__inner,
  .life-infrastructure__inner,
  .life-tips__inner {
    margin-inline: 0;
  }

  .life-hero__lead {
    max-width: 100%;
  }

  .life-cta__inner {
    padding-inline: var(--container-padding);
  }
}

@media (max-width: 480px) {
  .life-hero {
    padding-block: var(--space-lg);
  }

  .life-intro,
  .life-cabins,
  .life-dining,
  .life-activities,
  .life-shows,
  .life-casino,
  .life-infrastructure,
  .life-tips,
  .life-cta {
    padding-block: var(--space-lg);
  }

  .life-hero__content {
    gap: var(--space-sm);
  }

  .life-cabin-card {
    padding: var(--space-sm);
  }

  .life-dining__featured,
  .life-casino__etiquette {
    padding: var(--space-sm);
  }
}
