.kierunki-page {
  overflow: hidden;
}

.kierunki-page .kierunki-hero__grid,
.kierunki-page .kierunki-reading__grid,
.kierunki-page .kierunki-filters__grid,
.kierunki-page .kierunki-preparation__grid,
.kierunki-page .kierunki-faq__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

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

.kierunki-page .kierunki-hero__copy > * { margin: 0; }
.kierunki-page .kierunki-hero__title { max-width: 9ch; font-size: var(--text-display); line-height: var(--leading-display); }
.kierunki-page .kierunki-hero__lead { max-width: 54ch; }
.kierunki-page .kierunki-hero__figure { grid-column: 8 / span 5; min-width: 0; margin: 0; }
.kierunki-page .kierunki-hero__figure img { width: 100%; height: 100%; min-height: 34rem; max-width: 100%; border-radius: var(--radius-lg); object-fit: cover; }
.kierunki-page .kierunki-hero__figure figcaption { max-width: 36ch; }
.kierunki-page .kierunki-hero__note { max-width: 48ch; display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: var(--space-3); border-left: 2px solid var(--color-mauve); padding-left: var(--space-4); color: var(--color-ink-muted); }
.kierunki-page .kierunki-hero__note p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-sm); }
.kierunki-page .kierunki-hero__note-icon { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border: 1px solid var(--color-mauve-deep); border-radius: 50%; color: var(--color-mauve-deep); font-family: var(--font-heading); font-weight: 700; }
.kierunki-page .kierunki-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); font-weight: 700; text-underline-offset: 0.2em; }

.kierunki-page .kierunki-reading__intro { grid-column: 1 / span 4; min-width: 0; }
.kierunki-page .kierunki-reading__rules { grid-column: 5 / span 8; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.kierunki-page .kierunki-rule { min-width: 0; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); }
.kierunki-page .kierunki-rule__number, .kierunki-page .kierunki-step > span { color: var(--color-mauve-deep); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.08em; }
.kierunki-page .kierunki-rule h3 { font-size: 1.5rem; }
.kierunki-page .kierunki-rule p { max-width: 46ch; }
.kierunki-page .kierunki-rule__aside { color: var(--color-ink-muted); font-size: var(--text-sm); }

.kierunki-page .kierunki-filters__intro { grid-column: 1 / span 4; min-width: 0; }
.kierunki-page .kierunki-filters__intro p:not(.eyebrow) { max-width: 52ch; }
.kierunki-page .kierunki-filter-panel { grid-column: 5 / span 8; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.kierunki-page .kierunki-filter-panel__controls { display: grid; grid-template-columns: minmax(15.625rem, 17.5rem) minmax(0, 1fr); align-items: start; gap: var(--space-5); }
.kierunki-page .kierunki-filter-panel__region, .kierunki-page .kierunki-filter-panel__interests { min-width: 0; }
.kierunki-page .kierunki-filter-panel__interests { display: flex; flex-direction: column; gap: var(--space-2); }
.kierunki-page .kierunki-filter-panel__interests legend { font-size: var(--text-sm); font-weight: 700; }
.kierunki-page .kierunki-interest-scroll { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); }
.kierunki-page .kierunki-interest { display: inline-flex; min-width: 0; min-height: 2.75rem; align-items: center; gap: var(--space-2); border: var(--border-default); border-radius: var(--radius-xs); background: var(--color-paper-raised); padding: 0.5rem 0.75rem; cursor: pointer; font-size: var(--text-sm); font-weight: 700; }
.kierunki-page .kierunki-interest:has(input:checked) { border-color: var(--color-mauve-deep); background: rgb(154 140 152 / 16%); color: var(--color-mauve-deep); }
.kierunki-page .kierunki-interest input { margin: 0; }
.kierunki-page .kierunki-filter-panel__status { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-4); border-top: var(--border-default); padding-top: var(--space-4); }
.kierunki-page .kierunki-filter-status { margin: 0; color: var(--color-ink-muted); font-size: var(--text-sm); }

.kierunki-page .kierunki-destinations__heading { width: 50%; min-width: 0; }
.kierunki-page .kierunki-destinations__heading p:not(.eyebrow) { max-width: 60ch; }
.kierunki-page .kierunki-card-grid { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.kierunki-page .kierunki-destination-card { min-width: 0; display: flex; flex-direction: column; }
.kierunki-page .kierunki-destination-card--mediterranean { grid-column: span 6; }
.kierunki-page .kierunki-destination-card--north { grid-column: span 3; }
.kierunki-page .kierunki-destination-card--caribbean { grid-column: span 3; }
.kierunki-page .kierunki-destination-card--atlantic { grid-column: span 3; }
.kierunki-page .kierunki-destination-card--ocean { grid-column: span 4; }
.kierunki-page .kierunki-destination-card--ports { grid-column: span 4; }
.kierunki-page .kierunki-destination-card__content { display: flex; min-width: 0; flex: 1; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.kierunki-page .kierunki-destination-card__content > * { margin: 0; }
.kierunki-page .kierunki-destination-card__content h3 { font-size: var(--text-card-title); }
.kierunki-page .kierunki-destination-card__content > p:not(.eyebrow) { max-width: 46ch; }
.kierunki-page .kierunki-destination-card__content .kierunki-text-link { margin-top: auto; }
.kierunki-page .kierunki-destination-card--mediterranean .card__media { aspect-ratio: 4 / 3; }
.kierunki-page .kierunki-destination-card--caribbean .card__media { aspect-ratio: 16 / 9; }
.kierunki-page .kierunki-destination-card__photo-strip { width: 100%; height: 5rem; background: var(--color-mauve); }
.kierunki-page .kierunki-destination-card--ocean { border-top: 3px solid var(--color-mauve); }
.kierunki-page .kierunki-tags { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); }
.kierunki-page .kierunki-tags span { border: 1px solid var(--color-line); border-radius: var(--radius-xs); padding: 0.25rem 0.5rem; color: var(--color-ink-muted); font-size: var(--text-xs); font-weight: 700; }
.kierunki-page .kierunki-no-results { width: 100%; margin-top: var(--space-5); }

.kierunki-page .kierunki-rhythm__profiles { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.kierunki-page .kierunki-profile { min-width: 0; }
.kierunki-page .kierunki-profile--ship { border-top: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); padding: var(--space-5); }
.kierunki-page .kierunki-profile p:not(.eyebrow) { max-width: 52ch; }
.kierunki-page .kierunki-rhythm__quote { max-width: 43rem; margin-top: var(--space-6); }

.kierunki-page .kierunki-routes__intro { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; }
.kierunki-page .kierunki-routes__intro > div { grid-column: 1 / span 5; min-width: 0; }
.kierunki-page .kierunki-routes__intro > p { grid-column: 6 / span 4; min-width: 0; max-width: 48ch; }
.kierunki-page .kierunki-route-grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.kierunki-page .kierunki-route-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kierunki-page .kierunki-route-card > * { margin: 0; }
.kierunki-page .kierunki-route-list { width: 100%; display: grid; gap: var(--space-3); padding: 0; list-style: none; }
.kierunki-page .kierunki-route-list li { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: var(--space-3); }
.kierunki-page .kierunki-route-list li::before { content: counter(list-item, decimal-leading-zero); color: var(--color-mauve-deep); font-size: var(--text-xs); font-weight: 700; }
.kierunki-page .kierunki-route-list strong, .kierunki-page .kierunki-route-list span { display: block; }
.kierunki-page .kierunki-route-list span { color: var(--color-ink-muted); font-size: var(--text-sm); }
.kierunki-page .kierunki-route-card__button { margin-top: auto; }
.kierunki-page .kierunki-verification { max-width: 58ch; margin-top: var(--space-5); border-left: 2px solid var(--color-mauve); padding-left: var(--space-4); color: var(--color-ink-muted); }

.kierunki-page .kierunki-preparation__intro { grid-column: 1 / span 4; min-width: 0; }
.kierunki-page .kierunki-steps { grid-column: 5 / span 8; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); }
.kierunki-page .kierunki-step { min-width: 0; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); border-top: var(--border-default); padding-top: var(--space-4); }
.kierunki-page .kierunki-step h3 { font-size: 1.5rem; }
.kierunki-page .kierunki-step p { max-width: 50ch; }

.kierunki-page .kierunki-related__heading { width: 33.333%; min-width: 0; }
.kierunki-page .kierunki-related__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.kierunki-page .kierunki-related-card { min-width: 0; }
.kierunki-page .kierunki-related-card .card__content { display: flex; min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.kierunki-page .kierunki-related-card .card__content > * { margin: 0; }
.kierunki-page .kierunki-related-card .button-secondary { margin-top: auto; }

.kierunki-page .kierunki-faq__grid > div:first-child { grid-column: 1 / span 4; min-width: 0; }
.kierunki-page .kierunki-faq__list { grid-column: 6 / span 7; min-width: 0; }
.kierunki-page .kierunki-faq__list summary { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); font-weight: 700; }
.kierunki-page .kierunki-faq__list summary::after { content: "+"; flex: 0 0 auto; color: var(--color-mauve-deep); font-size: 1.5rem; }
.kierunki-page .kierunki-faq__list details[open] summary::after { content: "−"; }
.kierunki-page .kierunki-faq__list p { max-width: 62ch; }

.kierunki-page .kierunki-closing__panel { width: 66.666%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kierunki-page .kierunki-closing__panel > * { margin: 0; }
.kierunki-page .kierunki-closing__panel > p:not(.eyebrow) { max-width: 50ch; }
.kierunki-page .kierunki-closing__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }

@media (max-width: 63.75rem) {
  .kierunki-page .kierunki-hero__grid, .kierunki-page .kierunki-reading__grid, .kierunki-page .kierunki-filters__grid, .kierunki-page .kierunki-preparation__grid, .kierunki-page .kierunki-faq__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1.25rem; }
  .kierunki-page .kierunki-hero__copy { grid-column: 1 / span 8; }
  .kierunki-page .kierunki-hero__figure { grid-column: 1 / span 8; }
  .kierunki-page .kierunki-hero__figure img { min-height: 0; aspect-ratio: 5 / 3; }
  .kierunki-page .kierunki-reading__intro, .kierunki-page .kierunki-filters__intro, .kierunki-page .kierunki-preparation__intro { grid-column: 1 / span 8; }
  .kierunki-page .kierunki-reading__rules, .kierunki-page .kierunki-filter-panel, .kierunki-page .kierunki-steps { grid-column: 1 / span 8; }
  .kierunki-page .kierunki-reading__rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kierunki-page .kierunki-card-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1.25rem; }
  .kierunki-page .kierunki-destination-card--mediterranean, .kierunki-page .kierunki-destination-card--caribbean, .kierunki-page .kierunki-destination-card--ocean, .kierunki-page .kierunki-destination-card--ports { grid-column: span 4; }
  .kierunki-page .kierunki-destination-card--north, .kierunki-page .kierunki-destination-card--atlantic { grid-column: span 4; }
  .kierunki-page .kierunki-routes__intro { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1.25rem; }
  .kierunki-page .kierunki-routes__intro > div { grid-column: 1 / span 5; }
  .kierunki-page .kierunki-routes__intro > p { grid-column: 1 / span 8; }
  .kierunki-page .kierunki-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kierunki-page .kierunki-route-card:nth-child(3) { grid-column: span 2; }
  .kierunki-page .kierunki-faq__grid > div:first-child, .kierunki-page .kierunki-faq__list { grid-column: 1 / span 8; }
  .kierunki-page .kierunki-related__heading { width: 50%; }
  .kierunki-page .kierunki-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kierunki-page .kierunki-related-card:nth-child(3) { grid-column: span 2; }
  .kierunki-page .kierunki-closing__panel { width: 100%; }
}

@media (max-width: 60rem) {
  .kierunki-page .kierunki-filter-panel__controls { grid-template-columns: 1fr; }
}

@media (max-width: 53.75rem) {
  .kierunki-page .kierunki-rhythm__profiles, .kierunki-page .kierunki-steps { grid-template-columns: 1fr; }
}

@media (max-width: 47.9375rem) {
  .kierunki-page .kierunki-hero__grid, .kierunki-page .kierunki-reading__grid, .kierunki-page .kierunki-filters__grid, .kierunki-page .kierunki-preparation__grid, .kierunki-page .kierunki-faq__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
  .kierunki-page .kierunki-hero__title { max-width: 8ch; font-size: clamp(3rem, 14vw, 4rem); }
  .kierunki-page .kierunki-hero__figure { width: 100vw; margin-left: calc((100vw - var(--container-width)) / -2); }
  .kierunki-page .kierunki-hero__figure img { aspect-ratio: 4 / 3; border-radius: var(--radius-md); }
  .kierunki-page .kierunki-reading__intro, .kierunki-page .kierunki-reading__rules, .kierunki-page .kierunki-filters__intro, .kierunki-page .kierunki-filter-panel, .kierunki-page .kierunki-preparation__intro, .kierunki-page .kierunki-steps, .kierunki-page .kierunki-faq__grid > div:first-child, .kierunki-page .kierunki-faq__list { grid-column: 1 / span 4; }
  .kierunki-page .kierunki-reading__rules { grid-template-columns: 1fr; }
  .kierunki-page .kierunki-filter-panel__status { flex-direction: column; align-items: flex-start; }
  .kierunki-page .kierunki-destinations__heading, .kierunki-page .kierunki-related__heading { width: 100%; }
  .kierunki-page .kierunki-card-grid { grid-template-columns: 1fr; }
  .kierunki-page .kierunki-destination-card--mediterranean, .kierunki-page .kierunki-destination-card--north, .kierunki-page .kierunki-destination-card--caribbean, .kierunki-page .kierunki-destination-card--atlantic, .kierunki-page .kierunki-destination-card--ocean, .kierunki-page .kierunki-destination-card--ports { grid-column: 1; }
  .kierunki-page .kierunki-filter-panel { padding: var(--space-4); }
  .kierunki-page .kierunki-interest-scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--space-2); }
  .kierunki-page .kierunki-interest { flex: 0 0 auto; }
  .kierunki-page .kierunki-routes__intro { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .kierunki-page .kierunki-routes__intro > div, .kierunki-page .kierunki-routes__intro > p { grid-column: 1 / span 4; }
  .kierunki-page .kierunki-route-grid, .kierunki-page .kierunki-related__grid { grid-template-columns: 1fr; }
  .kierunki-page .kierunki-route-card:nth-child(3), .kierunki-page .kierunki-related-card:nth-child(3) { grid-column: 1; }
  .kierunki-page .kierunki-profile--ship { padding: var(--space-4); }
  .kierunki-page .kierunki-closing__panel { padding: var(--space-5); }
  .kierunki-page .kierunki-closing__actions { width: 100%; flex-direction: column; }
  .kierunki-page .kierunki-closing__actions a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .kierunki-page .card--raised:hover { transform: none; }
}