.wieczory-page {
  overflow: clip;
}

.wieczory-page .eyebrow {
  color: var(--color-cobalt);
}

.wieczory-page .section--dark .eyebrow {
  color: var(--color-sage);
}

.wieczory-hero {
  padding-block: var(--space-8) var(--space-10);
  background: var(--surface-base);
}

.wieczory-hero__grid,
.wieczory-signature__grid,
.wieczory-dessert__grid,
.wieczory-lounge__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
}

.wieczory-hero__copy {
  display: flex;
  min-width: 0;
  grid-column: span 5;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.wieczory-hero__copy > * {
  margin: 0;
}

.wieczory-hero__copy h1 {
  max-width: 36rem;
  font-size: clamp(3.25rem, 6.8vw, 4.5rem);
}

.wieczory-hero__lead {
  max-width: 36.875rem;
  font-size: var(--text-lg);
  line-height: var(--leading-copy);
}

.wieczory-hero__actions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.wieczory-text-link {
  display: inline-block;
  max-width: 100%;
  color: var(--color-cobalt);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
  text-underline-offset: 0.24em;
}

.wieczory-text-link--light {
  color: var(--color-porcelain);
}

.wieczory-hero__media {
  width: 100%;
  min-width: 0;
  grid-column: span 7;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.wieczory-hero__media img,
.wieczory-signature__media img,
.wieczory-dessert__media img,
.wieczory-interior__media img,
.wieczory-lounge__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wieczory-hero__media {
  aspect-ratio: 4 / 5;
  min-height: 42.5rem;
}

.wieczory-rhythm__intro,
.wieczory-transition__intro,
.wieczory-rules__intro,
.wieczory-guide__intro {
  width: 100%;
  max-width: 38.75rem;
}

.wieczory-rhythm__steps,
.wieczory-principles,
.wieczory-materials,
.wieczory-observations,
.wieczory-lounge__activities,
.wieczory-rules__grid,
.wieczory-guide__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}

.wieczory-rhythm__steps {
  margin-top: var(--space-7);
}

.wieczory-step {
  display: grid;
  min-width: 0;
  grid-column: span 1;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  border-inline-start: 1px solid var(--color-line);
  padding-inline-start: var(--space-4);
}

.wieczory-step__number {
  color: var(--color-rust);
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 600;
  line-height: 1;
}

.wieczory-step__content {
  min-width: 0;
}

.wieczory-step__content h3 {
  font-size: var(--text-xl);
}

.wieczory-step__content p {
  margin-bottom: var(--space-4);
}

.wieczory-step__content > :last-child {
  margin-bottom: 0;
}

.wieczory-step--second-act {
  border-block-start: 2px solid var(--color-cobalt);
  padding-block-start: var(--space-3);
}

.wieczory-signature__media {
  width: 100%;
  min-width: 0;
  grid-column: span 5;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--radius-md);
}

.wieczory-image-hover {
  overflow: hidden;
}

.wieczory-image-hover img {
  transition: transform var(--transition-base), filter var(--transition-base);
}

.wieczory-image-hover:hover img {
  transform: scale(1.03);
}

.wieczory-signature__content {
  display: flex;
  min-width: 0;
  grid-column: span 7;
  flex-direction: column;
  gap: var(--space-6);
}

.wieczory-signature__content > * {
  margin: 0;
}

.wieczory-signature__intro {
  max-width: 40.625rem;
}

.wieczory-signature__intro > :last-child {
  margin-bottom: 0;
}

.wieczory-principles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.wieczory-principle {
  min-width: 0;
  border-block-start: 1px solid var(--color-line);
  padding-block-start: var(--space-4);
}

.wieczory-principle > :last-child {
  margin-bottom: 0;
}

.wieczory-principle__label,
.wieczory-rule__label {
  margin-bottom: var(--space-2);
  color: var(--color-sage);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wieczory-principle h3 {
  font-size: var(--text-xl);
}

.wieczory-dessert__content {
  display: grid;
  min-width: 0;
  grid-column: span 7;
  grid-template-columns: minmax(0, 5fr) minmax(0, 2fr);
  gap: var(--space-5);
  align-items: end;
}

.wieczory-dessert__content > .eyebrow,
.wieczory-dessert__content > h2,
.wieczory-dessert__content > .wieczory-text-link {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.wieczory-dessert__copy {
  min-width: 0;
  max-width: 37.5rem;
}

.wieczory-dessert__copy > :last-child {
  margin-bottom: 0;
}

.wieczory-dessert__quote {
  color: var(--color-oak);
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.25;
}

.wieczory-dessert__note {
  min-width: 0;
  border-inline-start: 2px solid var(--color-cobalt);
  padding-inline-start: var(--space-4);
  color: var(--color-muted);
}

.wieczory-dessert__note h3 {
  color: var(--color-oak);
  font-size: var(--text-xl);
}

.wieczory-dessert__note > :last-child {
  margin-bottom: 0;
}

.wieczory-dessert__media {
  width: 100%;
  min-width: 0;
  grid-column: span 5;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: var(--radius-md);
}

.wieczory-interior__intro {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.wieczory-interior__intro > div {
  min-width: 0;
  grid-column: span 6;
}

.wieczory-interior__copy {
  max-width: 40.625rem;
}

.wieczory-interior__copy > :last-child {
  margin-bottom: var(--space-5);
}

.wieczory-interior__index {
  min-width: 0;
  grid-column: 11 / span 2;
  margin: 0;
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
}

.wieczory-interior__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
  margin: var(--space-7) 0 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.wieczory-materials {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-5);
}

.wieczory-material {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  border-block-start: 1px solid var(--color-line);
  padding-block-start: var(--space-4);
}

.wieczory-material > div {
  min-width: 0;
}

.wieczory-material h3 {
  font-size: var(--text-xl);
}

.wieczory-material p {
  margin-bottom: 0;
}

.wieczory-material__sample {
  display: block;
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
}

.wieczory-material__sample--stone { background: var(--color-warm-porcelain); }
.wieczory-material__sample--sage { background: var(--color-sage); }
.wieczory-material__sample--cobalt { background: var(--color-cobalt); }

.wieczory-transition {
  position: relative;
  border-block-end: 1px solid color-mix(in srgb, var(--color-porcelain) 25%, transparent);
}

.wieczory-transition::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg, transparent 0, transparent 20%, color-mix(in srgb, var(--color-cobalt) 32%, transparent) 20%, color-mix(in srgb, var(--color-cobalt) 32%, transparent) calc(20% + 1px), transparent calc(20% + 1px));
  opacity: 0.45;
  content: "";
  pointer-events: none;
}

.wieczory-transition .container,
.wieczory-lounge .container {
  position: relative;
}

.wieczory-transition__intro {
  color: var(--color-porcelain);
}

.wieczory-transition__intro h2 {
  color: var(--color-porcelain);
}

.wieczory-transition__intro p:last-child {
  margin-bottom: 0;
}

.wieczory-observations {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-7);
}

.wieczory-observation {
  min-width: 0;
  border-block-start: 1px solid color-mix(in srgb, var(--color-porcelain) 38%, transparent);
  padding-block-start: var(--space-4);
}

.wieczory-observation h3 {
  color: var(--color-porcelain);
  font-size: var(--text-xl);
}

.wieczory-observation p {
  color: color-mix(in srgb, var(--color-porcelain) 82%, transparent);
}

.wieczory-observation > :last-child {
  margin-bottom: 0;
}

.wieczory-observation--accent {
  border-block-start-color: var(--color-cobalt);
}

.wieczory-lounge {
  padding-top: var(--space-7);
}

.wieczory-lounge__content {
  min-width: 0;
  grid-column: span 6;
}

.wieczory-lounge__content h2 {
  max-width: 38.75rem;
  font-size: clamp(2.5rem, 4.5vw, 3.25rem);
}

.wieczory-lounge__copy {
  max-width: 38.75rem;
  color: color-mix(in srgb, var(--color-porcelain) 85%, transparent);
}

.wieczory-lounge__copy > :last-child {
  margin-bottom: 0;
}

.wieczory-lounge__media {
  width: 100%;
  min-width: 0;
  grid-column: span 6;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--radius-md);
}

.wieczory-lounge__media:hover img {
  filter: brightness(1.08);
}

.wieczory-lounge__activities {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-3);
}

.wieczory-activity {
  min-width: 0;
  border-inline-start: 1px solid color-mix(in srgb, var(--color-cobalt) 80%, var(--color-porcelain));
  padding-inline-start: var(--space-4);
}

.wieczory-activity h3 {
  color: var(--color-porcelain);
  font-size: var(--text-xl);
}

.wieczory-activity p {
  margin-bottom: 0;
  color: color-mix(in srgb, var(--color-porcelain) 82%, transparent);
}

.wieczory-lounge__link-row {
  display: flex;
  min-width: 0;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.wieczory-lounge__link-row p {
  margin: 0;
  color: color-mix(in srgb, var(--color-porcelain) 75%, transparent);
  font-size: var(--text-sm);
}

.wieczory-rules__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-7);
}

.wieczory-rule {
  min-width: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  padding: var(--space-5);
  background: var(--color-porcelain);
}

.wieczory-rule h3 {
  font-size: var(--text-xl);
}

.wieczory-rule > :last-child {
  margin-bottom: 0;
}

.wieczory-reservation__block {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 37.5rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.wieczory-reservation__block > * {
  margin: 0;
}

.wieczory-reservation__note {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  padding: var(--space-4);
}

.wieczory-reservation__note p {
  margin-bottom: var(--space-3);
}

.wieczory-reservation__note > :last-child {
  margin-bottom: 0;
}

.wieczory-guide__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-6);
}

.wieczory-guide-card {
  display: flex;
  min-width: 0;
  min-height: 13.5rem;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  color: var(--color-oak);
  text-decoration: none;
  transition: border-color var(--transition-base), background-color var(--transition-base), transform var(--transition-base);
}

.wieczory-guide-card:hover {
  border-color: var(--color-cobalt);
  background: var(--color-porcelain);
  color: var(--color-oak);
  transform: translateY(-2px);
}

.wieczory-guide-card > span {
  margin-bottom: var(--space-4);
  color: var(--color-rust);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.wieczory-guide-card h3 {
  font-size: var(--text-xl);
}

.wieczory-guide-card p {
  margin-bottom: var(--space-5);
}

.wieczory-guide-card b {
  margin-top: auto;
  color: var(--color-cobalt);
  font-size: var(--text-sm);
  letter-spacing: 0.03em;
  text-decoration: underline;
  text-underline-offset: 0.24em;
}

.wieczory-guide-card--lounge {
  border-block-start: 2px solid var(--color-cobalt);
}

@media (max-width: 1199px) and (min-width: 1024px) {
  .wieczory-hero__media {
    min-height: 34rem;
  }

  .wieczory-hero__copy h1 {
    font-size: clamp(3rem, 5.2vw, 3.75rem);
  }
}

@media (max-width: 1023px) {
  .wieczory-hero__grid,
  .wieczory-signature__grid,
  .wieczory-dessert__grid,
  .wieczory-lounge__grid,
  .wieczory-interior__intro {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .wieczory-hero__copy,
  .wieczory-hero__media {
    grid-column: span 4;
  }

  .wieczory-hero__media {
    min-height: 30rem;
  }

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

  .wieczory-step {
    grid-column: span 1;
  }

  .wieczory-signature__media,
  .wieczory-signature__content,
  .wieczory-dessert__content,
  .wieczory-dessert__media,
  .wieczory-lounge__content,
  .wieczory-lounge__media {
    grid-column: 1 / -1;
  }

  .wieczory-signature__media,
  .wieczory-dessert__media,
  .wieczory-lounge__media {
    max-width: 42rem;
  }

  .wieczory-signature__content,
  .wieczory-dessert__content,
  .wieczory-lounge__content {
    grid-row: auto;
  }

  .wieczory-dessert__content {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  }

  .wieczory-interior__intro > div {
    grid-column: span 6;
  }

  .wieczory-interior__index {
    grid-column: 8 / span 1;
  }

  .wieczory-materials,
  .wieczory-observations,
  .wieczory-rules__grid,
  .wieczory-guide__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wieczory-material:nth-child(3),
  .wieczory-observation:nth-child(3),
  .wieczory-rule:nth-child(3),
  .wieczory-guide-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .wieczory-lounge__activities {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 849px) {
  .wieczory-signature__media,
  .wieczory-dessert__media,
  .wieczory-lounge__media {
    max-width: none;
  }

  .wieczory-principles,
  .wieczory-lounge__activities {
    grid-template-columns: 1fr;
  }

  .wieczory-activity {
    border-inline-start: 0;
    border-block-start: 1px solid color-mix(in srgb, var(--color-cobalt) 80%, var(--color-porcelain));
    padding-block-start: var(--space-4);
    padding-inline-start: 0;
  }
}

@media (max-width: 767px) {
  .wieczory-hero {
    padding-block: var(--space-5) var(--space-8);
  }

  .wieczory-hero__grid,
  .wieczory-signature__grid,
  .wieczory-dessert__grid,
  .wieczory-lounge__grid,
  .wieczory-interior__intro {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .wieczory-hero__media {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .wieczory-hero__copy {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .wieczory-hero__copy h1 {
    font-size: clamp(2.75rem, 12vw, 3rem);
  }

  .wieczory-hero__lead {
    max-width: 38ch;
  }

  .wieczory-rhythm__steps,
  .wieczory-principles,
  .wieczory-materials,
  .wieczory-observations,
  .wieczory-rules__grid,
  .wieczory-guide__cards {
    grid-template-columns: 1fr;
  }

  .wieczory-rhythm__steps {
    gap: 0;
  }

  .wieczory-step {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
    border-inline-start: 0;
    border-block-start: 1px solid var(--color-line);
    padding: var(--space-4) 0;
  }

  .wieczory-step--second-act {
    border-block-start: 2px solid var(--color-cobalt);
  }

  .wieczory-step__number {
    grid-column: 1;
  }

  .wieczory-step__content {
    grid-column: 2;
  }

  .wieczory-signature__media,
  .wieczory-signature__content,
  .wieczory-dessert__content,
  .wieczory-dessert__media,
  .wieczory-lounge__content,
  .wieczory-lounge__media {
    grid-column: 1 / -1;
  }

  .wieczory-signature__media,
  .wieczory-lounge__media {
    aspect-ratio: 4 / 5;
  }

  .wieczory-dessert__content {
    grid-template-columns: 1fr;
  }

  .wieczory-dessert__copy,
  .wieczory-dessert__note {
    grid-column: 1;
  }

  .wieczory-dessert__media {
    aspect-ratio: 4 / 3;
  }

  .wieczory-interior__intro > div,
  .wieczory-interior__index {
    grid-column: 1 / -1;
  }

  .wieczory-interior__index {
    display: none;
  }

  .wieczory-interior__media {
    aspect-ratio: 4 / 3;
    margin-top: var(--space-6);
  }

  .wieczory-material,
  .wieczory-observation,
  .wieczory-rule,
  .wieczory-guide-card {
    grid-column: 1;
  }

  .wieczory-materials,
  .wieczory-observations,
  .wieczory-rules__grid,
  .wieczory-guide__cards {
    gap: var(--space-4);
  }

  .wieczory-observations {
    margin-top: var(--space-6);
  }

  .wieczory-lounge {
    padding-top: var(--space-8);
  }

  .wieczory-lounge__media {
    grid-row: 2;
    aspect-ratio: 4 / 3;
  }

  .wieczory-lounge__activities,
  .wieczory-lounge__link-row {
    grid-column: 1 / -1;
  }

  .wieczory-rules__grid {
    margin-top: var(--space-6);
  }

  .wieczory-reservation__block {
    max-width: none;
  }

  .wieczory-reservation__block .button {
    width: 100%;
  }

  .wieczory-guide-card {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .wieczory-material__sample {
    display: none;
  }

  .wieczory-material {
    gap: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wieczory-image-hover img,
  .wieczory-guide-card {
    transition: none;
  }

  .wieczory-image-hover:hover img,
  .wieczory-guide-card:hover {
    transform: none;
  }
}
