/* Najciemniejszy kolor strony = kolor logo TRAIL (#373d42) zamiast grafitu #1c2024.
   Kontrast 11:1 na białym i ok. 10:1 na jasnoszarych tłach — zgodny z WCAG 2.2 AA (i AAA). */
:root { --c-ink-900: var(--c-brand); }

:root { color-scheme: light; }
/* Rytm strony: jeden odstęp góra/dół dla każdej sekcji treści (jak na Akademii). */
:root { --trail-section-space: clamp(64px, 8vw, 120px); }
body.trail-wordpress { background: var(--c-white); }
.trail-wordpress .wp-site-blocks { padding: 0; }
.trail-wordpress .wp-site-blocks > *, .trail-wordpress .trail-main > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.trail-wordpress .trail-main { padding-inline: 0; }
.trail-wordpress.division-page main.trail-shell { color: var(--c-ink-900); }
/* Znak wodny: jedna warstwa przyklejona do okna pod całą treścią strony. Sekcje są przezroczyste, więc
   znak nie urywa się na ich granicach, a clip-path zamyka go w <main> (nie wchodzi na stopkę).
   To zamiennik background-attachment: fixed, którego Safari na iPhonie nie obsługuje. */
.trail-wordpress .trail-main { position: relative; isolation: isolate; clip-path: inset(0); background: var(--c-white); }
.trail-wordpress .trail-main::before { content: ""; position: fixed; inset: 0; z-index: -1; background: url('/wp-content/themes/trail-fse/assets/sygnet-watermark.svg') center / min(74vw, 780px) auto no-repeat; pointer-events: none; }
@media (max-width: 767px) { .trail-wordpress .trail-main::before { background-size: 96vw auto; } }
.trail-wordpress.division-page .trail-section--paper, .trail-wordpress.division-page .trail-section--brand { background-color: var(--c-white); color: var(--c-ink-900); }
.trail-wordpress .wp-block-post-content > .hero, .trail-wordpress .wp-block-post-content > .division-page__hero, .trail-wordpress .wp-block-post-content > .ds-about, .trail-wordpress .wp-block-post-content > .trail-page-intro, .trail-wordpress .wp-block-post-content > .trail-athletes-section, .trail-wordpress .wp-block-post-content > .trail-sekcja-calendar, .trail-wordpress .wp-block-post-content > .trail-sekcja-join, .trail-wordpress .wp-block-post-content > .trail-fundacja-content, .trail-wordpress .wp-block-post-content > .trail-academy-coaching { width: 100%; max-width: none; margin-inline: 0; }
/* Tylko treść strony (szablon page), nie treść wpisu wydarzenia, która ma własny układ */
.trail-wordpress .trail-main > .wp-block-post-content > :not(.hero):not(.division-page__hero):not(.ds-about):not(.trail-page-intro):not(.trail-page-intro__nav--pattern):not(.trail-page-intro__signoff--pattern):not(.trail-athletes-section):not(.trail-sekcja-calendar):not(.trail-sekcja-join):not(.trail-fundacja-content):not(.trail-academy-coaching):not(.trail-subpage-content):not(.trail-content-section):not(.trail-section) { margin: 48px auto; max-width: 1240px; padding-inline: var(--container-gutter); }
.trail-fundacja-content { position: relative; isolation: isolate; color: var(--c-ink-900); }
.trail-fundacja-section { padding: var(--trail-section-space) var(--container-gutter); scroll-margin-top: calc(var(--header-height) + 16px); }
.trail-fundacja-section__inner { width: min(100%, 1240px); margin-inline: auto; }
.trail-fundacja-section__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(310px, .72fr); gap: clamp(44px, 8vw, 118px); align-items: center; }
.trail-fundacja-section__copy, .trail-fundacja-team__content, .trail-fundacja-collaboration__copy { display: grid; align-content: start; }
.trail-fundacja-section__kicker { margin: 0 0 18px; color: var(--c-ink-500); font: var(--fw-regular) var(--fs-label) / 1 var(--font-display); letter-spacing: .18em; text-transform: uppercase; }
.trail-fundacja-section__title { max-width: none; margin: 0; color: var(--c-ink-900); font-family: var(--font-display); font-size: clamp(34px, 4.4vw, 60px); font-stretch: 116%; font-weight: var(--fw-regular); letter-spacing: -.055em; line-height: .94; text-transform: uppercase; }
.trail-fundacja-section__lead { max-width: 65ch; margin: clamp(26px, 3vw, 42px) 0 0; color: var(--c-ink-600); font-size: clamp(17px, 1.45vw, 21px); line-height: 1.65; }
.trail-fundacja-section__image { margin: 0; overflow: hidden; }
.trail-fundacja-section__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.trail-fundacja-section__image--journey { min-height: 660px; aspect-ratio: 3 / 5; }
.trail-fundacja-section__image--journey img { object-position: 50% 47%; }
.trail-fundacja-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: clamp(38px, 5vw, 62px); }
.trail-fundacja-nav .wp-block-button { width: 100%; }
.trail-fundacja-nav .wp-block-button__link { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 17px; border: 1px solid var(--c-ink-900); border-radius: 999px; background: rgba(255,255,255,.74); color: var(--c-ink-900); font: var(--fw-bold) 11px / 1.15 var(--font-display); letter-spacing: .1em; text-align: left; text-transform: uppercase; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.trail-fundacja-nav .wp-block-button__link::after { content: '→'; flex: none; font-size: 20px; line-height: 1; }
.trail-fundacja-nav .wp-block-button__link:is(:hover, :focus-visible) { background: var(--c-ink-900); color: var(--c-white); transform: translateY(-2px); }
.trail-fundacja-team { display: grid; grid-template-columns: minmax(390px, .92fr) minmax(0, 1.08fr); gap: 0 clamp(54px, 7vw, 112px); align-items: start; }
.trail-wordpress .trail-fundacja-team { grid-template-areas: 'image kicker' 'image title' 'image members'; grid-template-rows: auto auto 1fr; }
.trail-fundacja-team__image { position: sticky; top: calc(var(--header-height) + 32px); box-sizing: border-box; width: 100%; margin: 0; padding: 11px; aspect-ratio: 4 / 5; overflow: visible; border: 1px solid var(--c-ink-900); background: var(--c-white); box-shadow: 18px 18px 0 rgba(55, 61, 66, .14); transform: rotate(-.65deg); transition: box-shadow 420ms cubic-bezier(.16, 1, .3, 1), transform 420ms cubic-bezier(.16, 1, .3, 1); }
.trail-wordpress .trail-fundacja-team__image { grid-area: image; }
.trail-fundacja-team__image::after { position: absolute; right: -34px; bottom: 42px; width: 92px; height: 2px; background: var(--c-ink-900); content: ''; transform: rotate(-34deg); transform-origin: right center; }
.trail-fundacja-team__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.trail-fundacja-team__image:is(:hover, :focus-within) { box-shadow: 25px 25px 0 rgba(55, 61, 66, .18); transform: rotate(0); }
.trail-wordpress .trail-fundacja-team__content { display: contents; }
.trail-wordpress .trail-fundacja-team__content > .trail-fundacja-section__kicker { grid-area: kicker; align-self: end; margin-bottom: 18px; padding-top: clamp(18px, 3vw, 48px); }
.trail-wordpress .trail-fundacja-team__content > .trail-fundacja-section__title { grid-area: title; }
.trail-fundacja-team__members { display: grid; gap: 0; margin-top: clamp(42px, 5vw, 68px); border-top: 2px solid var(--c-ink-900); }
.trail-wordpress .trail-fundacja-team__members { grid-area: members; }
.trail-fundacja-team__members strong, .trail-fundacja-team__members .trail-fundacja-team__name { color: var(--c-ink-900); font: var(--fw-bold) clamp(18px, 1.7vw, 24px) / 1 var(--font-display); letter-spacing: -.025em; }
/* Osoba = grupa: imię i opis to osobne bloki, więc Enter w opisie dodaje akapit w prawej kolumnie. Stary układ (jeden akapit <strong>+<span>) nadal działa. */
.trail-fundacja-team__members > p, .trail-fundacja-team__member { display: grid; grid-template-columns: minmax(112px, .3fr) minmax(0, 1fr); gap: clamp(18px, 2.6vw, 38px); margin: 0; padding: clamp(24px, 3vw, 34px) 0; border-bottom: 1px solid var(--c-ink-200); color: var(--c-ink-600); font-size: clamp(15px, 1.2vw, 18px); line-height: 1.62; text-wrap: pretty; }
.trail-fundacja-team__member > .trail-fundacja-team__name { margin: 0; }
.trail-fundacja-team__bio { display: grid; gap: .7em; margin: 0; }
.trail-fundacja-team__bio > p { margin: 0; color: inherit; font: inherit; }
.trail-fundacja-section--directions,
.trail-fundacja-section--collaboration {
  color: var(--c-ink-900);
}

.trail-fundacja-section--directions > .trail-fundacja-section__inner,
.trail-fundacja-section--collaboration > .trail-fundacja-section__inner {
  width: min(100%, 1240px);
  max-width: none;
  margin: 0 auto;
}

.trail-fundacja-directions {
  display: grid;
  justify-items: center;
}

.trail-fundacja-directions__intro {
  display: grid;
  max-width: 760px;
  gap: clamp(24px, 3vw, 36px);
  text-align: center;
}

.trail-fundacja-section--directions .trail-fundacja-section__title,
.trail-fundacja-section--collaboration .trail-fundacja-section__title {
  max-width: none;
  margin: 0;
  color: var(--c-ink-900);
  line-height: .94;
  letter-spacing: -.05em;
  text-align: center;
}

.trail-fundacja-directions__statement {
  max-width: 56ch;
  margin: 0;
  color: var(--c-ink-600);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.58;
  text-wrap: balance;
}

.trail-fundacja-directions__list {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 5vw, 82px);
  margin-top: clamp(58px, 7vw, 96px);
}

.trail-fundacja-directions__item {
  display: grid;
  align-content: start;
  gap: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--c-ink-900);
}

.trail-fundacja-directions__item h3 {
  margin: 0;
  color: var(--c-ink-900);
  font: var(--fw-regular) clamp(24px, 2.25vw, 34px) / 1.12 var(--font-display);
  letter-spacing: -.035em;
  text-align: center;
  text-wrap: balance;
}

.trail-fundacja-directions__body {
  display: grid;
  gap: 16px;
}

.trail-fundacja-directions__body p {
  margin: 0;
  color: var(--c-ink-600);
  font-size: clamp(16px, 1.22vw, 19px);
  line-height: 1.62;
  text-align: center;
}

.trail-fundacja-collaboration {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 1240px);
  margin-inline: auto;
  justify-items: center;
  text-align: center;
}

/* Wariant Z2: nad ramką tylko tytuł sekcji. Rotujące zdania i „Odezwij się…” tworzą jasny nagłówek
   ramki formularza, pod nim pola. Grupy z treści strony są przezroczyste dla siatki (display: contents),
   więc układ zmienia się bez ruszania treści w edytorze. */
.trail-fundacja-collaboration__aside,
.trail-fundacja-collaboration__form { display: contents; }

/* Tytuł w jednej linii, jak pozostałe nagłówki sekcji; łamanie wiersza z treści strony jest pomijane */
.trail-fundacja-collaboration .trail-fundacja-section__title {
  max-width: none;
  margin: 0 auto clamp(32px, 4vw, 48px);
  text-wrap: balance;
}

.trail-fundacja-collaboration .trail-fundacja-section__title br {
  display: none;
}

.trail-fundacja-collaboration__rotator,
.trail-fundacja-collaboration__form h3,
.trail-fundacja-collaboration__form .trail-form-wrap {
  box-sizing: border-box;
  width: min(100%, 760px);
}

.trail-fundacja-collaboration__rotator,
.trail-fundacja-collaboration__form h3 {
  border: 1px solid var(--c-ink-900);
  background: var(--c-ink-50);
}

.trail-fundacja-collaboration__rotator {
  margin: 0;
  padding: clamp(22px, 3vw, 32px) clamp(20px, 3vw, 36px) 0;
  border-bottom: 0;
}

.trail-fundacja-collaboration__rotator .ds-wspolnie-rotator {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 10px;
  margin: 0;
  text-align: center;
}

.trail-fundacja-collaboration__rotator .ds-wspolnie-rotator__label {
  margin: 0;
  color: var(--c-ink-500);
  font: var(--fw-bold) 11px / 1.3 var(--font-display);
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Wszystkie zdania leżą w jednej komórce siatki, więc scena ma wysokość najdłuższego z nich
   i nic pod nią nie skacze; krótsze zdanie stoi na środku tej wysokości. */
.trail-fundacja-collaboration__rotator .ds-wspolnie-rotator__stage {
  position: relative;
  display: grid;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 1.3em;
  margin: 0;
  padding: 0;
  background: transparent;
}

.trail-fundacja-collaboration__rotator .ds-wspolnie-rotator__line {
  position: static;
  inset: auto;
  margin: 0;
  color: var(--c-ink-900);
  font: var(--fw-medium) clamp(19px, 2vw, 25px) / 1.3 var(--font-core);
  letter-spacing: -.02em;
  background: transparent;
  text-align: center;
  text-wrap: balance;
}

.trail-fundacja-collaboration__rotator .is-enhanced .ds-wspolnie-rotator__line {
  grid-area: 1 / 1;
  transition: opacity 240ms ease, transform 240ms ease, visibility 240ms;
}

.trail-fundacja-collaboration__rotator .is-enhanced .ds-wspolnie-rotator__line:not(.is-active) {
  visibility: hidden;
  opacity: 0;
  transform: translateY(6px);
}

.trail-fundacja-collaboration__rotator .ds-wspolnie-rotator__track {
  display: grid;
  width: 100%;
  justify-items: center;
  gap: 12px;
}

/* Paski: które to z pięciu zdań (i która strona logotypów partnerów); kliknięcie pokazuje wybrane i zatrzymuje zmianę. */
:is(.trail-fundacja-collaboration__rotator, .trail-partners) .ds-wspolnie-rotator__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

:is(.trail-fundacja-collaboration__rotator, .trail-partners) .ds-wspolnie-rotator__dot {
  display: grid;
  width: 30px;
  height: 32px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  cursor: pointer;
}

:is(.trail-fundacja-collaboration__rotator, .trail-partners) .ds-wspolnie-rotator__dot::before {
  content: "";
  width: 24px;
  height: 3px;
  border-radius: 2px;
  /* ink-400 na jasnym tle nagłówka ma ok. 3,9:1 — wymagane minimum dla elementów sterujących (WCAG 1.4.11) */
  background: var(--c-ink-400);
  transition: background-color 180ms ease, height 180ms ease;
}

:is(.trail-fundacja-collaboration__rotator, .trail-partners) .ds-wspolnie-rotator__dot:hover::before {
  background: var(--c-ink-900);
}

/* Bieżące zdanie: ciemniejszy i grubszy pasek, więc nie odróżnia go sam kolor */
:is(.trail-fundacja-collaboration__rotator, .trail-partners) .ds-wspolnie-rotator__dot[aria-current="true"]::before {
  height: 5px;
  background: var(--c-ink-900);
}

:is(.trail-fundacja-collaboration__rotator, .trail-partners) .ds-wspolnie-rotator__dot:focus-visible {
  outline: 2px solid var(--c-ink-900);
  outline-offset: 2px;
}

.trail-fundacja-collaboration__form h3 {
  margin: 0;
  padding: 4px clamp(20px, 3vw, 36px) clamp(22px, 3vw, 30px);
  border-top: 0;
  border-bottom: 0;
  color: var(--c-ink-600);
  font: var(--fw-regular) clamp(15px, 1.2vw, 17px) / 1.5 var(--font-core);
  letter-spacing: 0;
  text-transform: none;
  text-wrap: balance;
}

.trail-fundacja-collaboration__form h3 strong {
  font-weight: var(--fw-regular);
}

.trail-fundacja-collaboration__form .trail-form-wrap {
  margin: 0;
}

@media (max-width: 767px) {
  .trail-fundacja-directions__list {
    grid-template-columns: 1fr;
    gap: 34px;
    margin-top: 48px;
  }

  .trail-fundacja-directions__item {
    gap: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .trail-fundacja-collaboration__rotator .ds-wspolnie-rotator__line {
    transition: none;
    transform: none;
  }
}
.trail-athletes-section__source { display: grid; gap: 30px; margin-top: clamp(54px, 7vw, 88px); padding-top: clamp(42px, 6vw, 70px); border-top: 1px solid var(--c-ink-200); }
.trail-athletes-source__rankings { gap: clamp(28px, 5vw, 72px); margin: 0; }
.trail-athletes-source__rankings h3 { margin: 0 0 20px; color: var(--c-ink-900); font: var(--fw-regular) clamp(24px, 3vw, 38px) / 1 var(--font-display); letter-spacing: -.035em; }
.trail-athletes-source__rankings ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; color: var(--c-ink-600); font-size: clamp(16px, 1.4vw, 19px); line-height: 1.45; }
.trail-athletes-section__source > p { max-width: 78ch; margin: 0; color: var(--c-ink-600); font-size: clamp(16px, 1.4vw, 19px); line-height: 1.65; }
.trail-sekcja-calendar__source-list { display: grid; margin: clamp(44px, 6vw, 72px) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--c-ink-900); }
.trail-sekcja-calendar__source-list li { position: relative; margin: 0; padding: 22px 54px 22px 0; border-bottom: 1px solid var(--c-ink-200); color: var(--c-ink-600); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.4; }
.trail-sekcja-calendar__source-list li::after { content: '↗'; position: absolute; top: 21px; right: 4px; color: var(--c-ink-900); font-size: 21px; }
.trail-academy-coaching { padding: var(--trail-section-space) var(--container-gutter); color: var(--c-ink-900); }
.trail-academy-coaching__inner { width: min(100%, 1240px); margin-inline: auto; }
.trail-academy-coaching__title { max-width: none; margin: 0; font-family: var(--font-display); font-size: clamp(34px, 4.4vw, 60px); font-stretch: 116%; font-weight: var(--fw-regular); letter-spacing: -.055em; line-height: .94; text-transform: uppercase; }
.trail-academy-coaching__lead { max-width: 62ch; margin: clamp(28px, 4vw, 48px) 0 0; color: var(--c-ink-600); font-size: clamp(17px, 1.5vw, 21px); line-height: 1.62; }
.trail-academy-coaching__names { max-width: 820px; gap: clamp(32px, 7vw, 100px); margin-top: clamp(38px, 5vw, 64px); padding-top: 28px; border-top: 1px solid var(--c-ink-900); }
.trail-academy-coaching__names p { margin: 0; color: var(--c-ink-600); font-size: clamp(17px, 1.45vw, 20px); line-height: 1.7; }
.trail-wordpress .ds-about .ds-container { padding-block: 0; }
.trail-wordpress .ds-about__watermark { margin: 0; }
.trail-wordpress .ds-about__watermark img { display: block; width: 100%; height: auto; }
.trail-wordpress .ds-about__eyebrow > p { margin: 0; font: inherit; letter-spacing: inherit; }
.trail-wordpress .ds-about__eyebrow-rule { border: 0; margin: 0; flex-shrink: 0; }
.trail-wordpress .ds-about__actions { gap: var(--space-4); }
.trail-wordpress .ds-about__actions .wp-block-button__link { display: inline-flex; min-height: var(--hit-target-min); padding: var(--space-3) var(--space-6); align-items: center; justify-content: space-between; gap: var(--space-6); border: var(--border-width-cta) solid var(--c-brand); border-radius: var(--radius-cta); background: transparent; color: var(--c-brand); font-family: var(--font-display); font-size: 12px; font-stretch: 118%; font-weight: var(--fw-bold); letter-spacing: var(--track-label); line-height: var(--lh-body); text-transform: uppercase; transition: var(--transition-control); }
.trail-wordpress .ds-about__actions .wp-block-button__link::after { content: ''; width: 8px; height: 8px; flex: none; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.trail-wordpress .ds-about__actions .wp-block-button__link:is(:hover,:focus-visible) { background: var(--c-brand); color: white; }
.trail-wordpress .site-footer .wp-block-group { margin-block-start: 0; }
.trail-wordpress .site-footer .site-footer__baseline { margin-top: var(--space-10); }
.trail-wordpress .site-footer__column p { margin: 0; }
.trail-wordpress .site-footer__brand { margin: 0; }
.trail-wordpress .site-footer__brand img { display: block; }
.trail-wordpress .site-footer__intro > * { margin: 0; }
.trail-wordpress .site-footer__note { max-width: 34ch; }
.trail-wordpress .site-footer__column p:not(.site-footer__title) { font-size: var(--fs-body-sm); line-height: var(--lh-body-sm); }
.trail-search-submit { min-height: 44px; padding: 10px 22px; border: 1px solid var(--c-brand); background: var(--c-brand); color: white; font: inherit; cursor: pointer; }
.site-search__form { display: flex; gap: 16px; }
.site-search__input { min-width: 0; }
.site-search__results li.is-active a { background: var(--c-brand); color: var(--c-white); }
.trail-wordpress.admin-bar .global-header { top: 32px; }
.trail-wordpress.admin-bar .hero, .trail-wordpress.admin-bar .division-page__hero { height: calc(100svh - var(--header-height) - 32px); min-height: calc(100svh - var(--header-height) - 32px); }
.global-header .nav-group:not(.is-open) .nav-dropdown { visibility: hidden; }
.global-header .nav-group.is-open .nav-dropdown { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
@media (hover: hover) and (min-width: 1281px) { .global-header .nav-group:hover .nav-dropdown { visibility: visible; } }
@media (max-width: 782px) {
  .trail-wordpress.admin-bar .global-header { top: 46px; }
  .trail-wordpress.admin-bar .hero, .trail-wordpress.admin-bar .division-page__hero { height: calc(100svh - var(--header-height) - 46px); min-height: calc(100svh - var(--header-height) - 46px); }
}
@media (max-width: 600px) { #wpadminbar { position: fixed; } }
/* Hero panels: a press-and-move over a panel must not drag out the photo or link, nor select the text. */
.hero .division, .hero .division img { -webkit-user-drag: none; -webkit-user-select: none; user-select: none; }
@media (max-width: 767px) {
  .trail-fundacja-section__grid, .trail-fundacja-team, .trail-fundacja-directions__intro, .trail-fundacja-collaboration { grid-template-columns: 1fr; }
  .trail-fundacja-section__image--journey { min-height: 0; aspect-ratio: 4 / 5; }
  .trail-fundacja-nav { grid-template-columns: 1fr; }
  .trail-wordpress .trail-fundacja-team { grid-template-areas: 'kicker' 'title' 'image' 'members'; grid-template-columns: 1fr; }
  .trail-fundacja-team__image { position: relative; top: auto; width: min(100%, 520px); margin: 46px auto 0; aspect-ratio: 4 / 5; transform: rotate(-.45deg); }
  .trail-wordpress .trail-fundacja-team__content > .trail-fundacja-section__kicker { padding-top: 0; }
  .trail-fundacja-team__members { margin-top: 68px; }
  .trail-fundacja-team__members > p, .trail-fundacja-team__member { grid-template-columns: 1fr; gap: 10px; }
  .trail-wordpress .ds-about__actions > .wp-block-button { width: 100%; }
  .trail-wordpress .ds-about__actions .wp-block-button__link { width: 100%; }
  .hero__panels:not(.swiper-initialized) { overflow-x: auto; scroll-snap-type: x mandatory; }
  .hero__panels:not(.swiper-initialized) .division { min-width: 100%; scroll-snap-align: start; }
  /* Swipe on a phone: after the finger lifts, the parallax layers must ease like the slide itself. With their own
     cubic-bezier the photo jumped back a few px, and the logo had no opacity transition, so it blinked out. */
  .hero__panels.swiper-initialized :is(.division__media, .division__brand, .division__copy) { transition-property: transform, opacity; transition-timing-function: ease; }
}
@media (max-width: 480px) { .trail-athletes-source__rankings { flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .trail-wordpress *, .trail-wordpress *::before, .trail-wordpress *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .12s; }
::view-transition-old(trail-header), ::view-transition-new(trail-header) { animation: none; mix-blend-mode: normal; }
.trail-wordpress .division-page__media { object-position: var(--hero-focus); }
@media (max-width: 767px) { .trail-wordpress .division-page__media { object-position: var(--hero-focus-mobile, var(--hero-focus)); } }
@media (prefers-reduced-motion: reduce) { ::view-transition-old(root), ::view-transition-new(root) { animation: none; } }
.trail-subpage-content { position: relative; isolation: isolate; color: var(--c-ink-900); }
.trail-content-section { position: relative; padding: var(--trail-section-space) var(--container-gutter); }
.trail-content-section__inner { display: grid; width: min(100%,1240px); margin-inline: auto; grid-template-columns: minmax(0,1.15fr) minmax(300px,.75fr); gap: clamp(42px,8vw,116px); align-items: center; }
.trail-content-section__inner--single { display: block; }
.trail-content-section__copy { max-width: 70ch; }
.trail-content-section h1, .trail-content-section h2 { max-width: none; margin: 0; color: var(--c-ink-900); font-family: var(--font-display); font-size: clamp(34px,4.4vw,60px); font-stretch: 116%; font-weight: var(--fw-regular); letter-spacing: -.055em; line-height: .94; text-transform: uppercase; }
.trail-content-section p { max-width: 68ch; color: var(--c-ink-600); font-size: clamp(16px,1.35vw,20px); line-height: 1.65; }
.trail-content-section h2 + p { margin-top: clamp(28px,4vw,48px); }
.trail-content-section figure { position: sticky; top: calc(var(--header-height) + 28px); margin: 0; aspect-ratio: 4/5; overflow: hidden; }
.trail-content-section figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.trail-content-section--reverse .trail-content-section__copy { order: 2; }
.trail-content-section--reverse figure { order: 1; }
.trail-content-section--coaches .trail-content-section__inner, .trail-content-section--calendar .trail-content-section__inner, .trail-content-section--gallery .trail-content-section__inner { width: min(100%,1240px); }
.trail-content-section--coaches h2, .trail-content-section--calendar h2, .trail-content-section--gallery h1 { max-width: none; }
.trail-content-section--calendar .trail-calendar { margin-top: clamp(42px,6vw,72px); }
.trail-content-section--junior, .trail-content-section--safeguard { color: var(--c-ink-900); }
.trail-content-section--safeguard h2 { color: var(--c-ink-900); }
.trail-content-section--safeguard p { color: var(--c-ink-600); }
.trail-content-section--safeguard .trail-section__kicker { color: var(--c-ink-500); }
.trail-pill-link { display: inline-flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 32px; padding: 11px 18px; border: 1px solid currentColor; border-radius: 999px; color: inherit; font: 700 12px/1 var(--font-display); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.trail-pill-link:is(:hover,:focus-visible) { background: var(--c-white); color: var(--c-ink-900); }
.trail-athletes-section .trail-athletes-grid { position: relative; }
/* Arrows at the middle of the cards, which end at the bottom of the rail (card = 188×320 frame; coach card 3:4). */
:is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__controls { position: absolute; z-index: 3; top: calc(100% - var(--trail-athlete-card-width) * .851); right: clamp(-28px, -2vw, -18px); left: clamp(-28px, -2vw, -18px); display: flex; align-items: center; justify-content: space-between; margin: 0; pointer-events: none; transform: translateY(-50%); }
:is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__buttons { display: contents; overflow: visible; border: 0; background: transparent; backdrop-filter: none; }
:is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__buttons button { display: grid; width: 58px; min-width: 58px; min-height: 58px; place-items: center; border: 1px solid var(--c-ink-900); border-radius: 50%; background: var(--c-white); box-shadow: 0 8px 22px rgba(28,32,36,.12); color: var(--c-ink-900); font-size: 30px; line-height: 1; pointer-events: auto; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
:is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__buttons button + button { border-left: 1px solid var(--c-ink-900); }
:is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__buttons button:is(:hover, :focus-visible) { background: var(--c-ink-900); color: var(--c-white); transform: scale(1.08); }
:is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__buttons button:disabled { background: var(--c-white); color: var(--c-ink-400); opacity: .6; cursor: not-allowed; transform: none; }
:is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__buttons button:disabled:hover { background: var(--c-white); color: var(--c-ink-400); }
.trail-coaches .trail-athletes-grid__controls { top: calc(100% - var(--trail-coach-card-width) * .667); }
.trail-athletes-section .trail-athletes-grid__hint { display: none; }
/* Szeroki ekran: strzałki obok kart, nie na ich krawędziach */
@media (min-width: 1400px) { :is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__controls { right: -84px; left: -84px; } }
.trail-sekcja-join__inner { width: min(100%, 980px); }
.trail-sekcja-join__grid { grid-template-columns: minmax(0, 1fr); gap: clamp(42px, 5vw, 64px); align-items: start; }
.trail-sekcja-join__grid > .wp-block-group:first-child { align-self: start; padding-top: 0; text-align: center; }
.trail-sekcja-join .trail-section__kicker { margin-bottom: 18px; }
.trail-sekcja-join h2 { max-width: none; text-align: center; text-wrap: balance; }
.trail-sekcja-join h2 span { display: inline; white-space: normal; }
/* Space after the first line of the heading, also when the editor left only one span ("<span>DOŁĄCZ</span>DO SEKCJI"). */
.trail-sekcja-join h2 > span:first-child:not(:last-child)::after, .trail-sekcja-join h2 > span:only-child::after { content: ' '; }
.trail-sekcja-join .trail-form-wrap { width: min(100%, 760px); margin-inline: auto !important; }
@media (max-width: 767px) {
  .trail-athletes-section .trail-athletes-grid__controls { top: calc(100% - var(--trail-athlete-card-width) * .851); }
  .trail-coaches .trail-athletes-grid__controls { top: calc(100% - var(--trail-coach-card-width) * .667); }
  :is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__controls { right: calc(-1 * var(--container-gutter) + 8px); left: calc(-1 * var(--container-gutter) + 8px); }
  :is(.trail-athletes-section, .trail-coaches) .trail-athletes-grid__buttons button { width: 36px; min-width: 36px; min-height: 36px; font-size: 15px; background: rgba(255, 255, 255, .92); box-shadow: 0 4px 12px rgba(28, 32, 36, .14); }
}
@media (max-width: 800px) { .trail-content-section__inner { grid-template-columns: 1fr; } .trail-content-section figure { position: relative; top: auto; aspect-ratio: 4/3; } .trail-content-section--reverse .trail-content-section__copy, .trail-content-section--reverse figure { order: initial; } }

/* Sekcje z patternów Akademii (0.1.20) */
/* Przezroczyste, bez linii oddzielających — sygnet z tła strony ma prześwitywać przez sekcje. */
.trail-section { position: relative; padding: var(--trail-section-space) var(--container-gutter); border: 0; background: transparent; color: var(--c-ink-900); scroll-margin-top: calc(var(--header-height) + 16px); }
.trail-section__inner { width: min(100%, 1240px); margin-inline: auto; }
.trail-section .trail-section__title { max-width: none; margin: 0; color: var(--c-ink-900); font-family: var(--font-display); font-size: clamp(34px, 4.4vw, 60px); font-stretch: 116%; font-weight: var(--fw-regular); letter-spacing: -.055em; line-height: .94; text-transform: uppercase; }
.trail-section__lead, .trail-section__copy p { max-width: 68ch; color: var(--c-ink-600); font-size: clamp(16px, 1.35vw, 20px); line-height: 1.65; }
.trail-section__lead { margin: clamp(24px, 3vw, 36px) 0 0; }
.trail-section__copy { margin-top: clamp(24px, 3vw, 36px); }
.trail-section__copy p { margin: 0 0 1em; }
.trail-section .trail-section__link { margin-top: clamp(20px, 2.5vw, 28px); }
.trail-section__link a { display: inline-flex; align-items: center; gap: 10px; padding: 10px 0 6px; box-shadow: inset 0 -1px 0 currentColor; color: var(--c-ink-900); font: 700 13px/1 var(--font-display); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.trail-section__link a::after { content: "→" / ""; }
.trail-section__link a:is(:hover, :focus-visible) { box-shadow: inset 0 -2px 0 currentColor; color: var(--c-ink-900); }
.trail-section--calendar .trail-calendar { margin-top: clamp(32px, 5vw, 56px); }

.trail-projects { margin-top: clamp(32px, 5vw, 56px); }
.trail-project { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; gap: 12px clamp(24px, 4vw, 56px); align-items: start; padding: clamp(24px, 3vw, 36px) 0; }
.trail-project + .trail-project { border-top: 1px solid var(--c-ink-200); }
.trail-project .trail-project__title { margin: 0; color: var(--c-ink-900); font: var(--fw-regular) clamp(20px, 2vw, 28px)/1.1 var(--font-display); letter-spacing: -.02em; text-transform: uppercase; }
.trail-project .trail-project__text { margin: 0; color: var(--c-ink-600); font-size: clamp(16px, 1.2vw, 18px); line-height: 1.65; }
.trail-project .wp-block-image { margin: 0; }
.trail-project .wp-block-image img { width: auto; max-width: 140px; max-height: 64px; object-fit: contain; }

@media (max-width: 800px) {
  .trail-project { grid-template-columns: 1fr; }
}

/* Biegniemy razem z — mniejszy, wyśrodkowany nagłówek */
.trail-section--partners { padding-block: clamp(56px, 7vw, 96px); text-align: center; }
.trail-section .trail-section__title--small { font-size: clamp(24px, 2.6vw, 36px); letter-spacing: -.03em; line-height: 1.1; text-transform: none; }



/* Strona wydarzenia z kalendarza: tytuł i treść w układzie sekcji podstron */
.trail-event-page .trail-event-page__image { margin: clamp(32px, 5vw, 56px) 0 0; }
.trail-event-page .trail-event-page__image img { display: block; width: 100%; height: auto; }
/* Strona wydarzenia i wpis: zdjęcie wyróżniające i obrazy w treści nie dziedziczą przyklejonego kadru 4:5 z sekcji treści
   (.trail-content-section figure). Kadr obrazu w treści ustawia się w bloku „Obraz” (Proporcje). */
.trail-content-section.trail-event-page .trail-event-page__image { position: static; aspect-ratio: auto; overflow: visible; }
.trail-content-section.trail-event-page .trail-event-page__image img { height: auto; max-height: min(72vh, 640px); object-fit: cover; }
.trail-content-section.trail-event-page .trail-event-page__content figure { position: static; aspect-ratio: auto; overflow: visible; }
.trail-content-section.trail-event-page .trail-event-page__content figure img { height: auto; }

/* Treść wpisu i strony wydarzenia (na stronie i w edytorze, ten sam wygląd).
   Wszystko w jednej kolumnie 960px wyśrodkowanej na stronie: tytuł, termin, zdjęcie, tekst, kolumny, karty
   i galerie mają tę samą lewą i prawą krawędź (3 karty zawodników mieszczą się w rzędzie). Szerzej tylko
   bloki ustawione na „Szeroka” / „Pełna szerokość”. „Wyrównaj do środka” w akapicie, nagłówku, obrazie lub grupie wyśrodkowuje blok. */
.trail-event-page__content { margin-top: clamp(32px, 5vw, 56px); }
.trail-event-page__content > * { max-width: 960px; margin-inline: auto; padding-inline: 0; }
.trail-event-page .trail-content-section__inner--single > :is(.wp-block-post-title, .trail-event-page__date, .wp-block-trail-event-facts, .trail-event-page__image) { max-width: 960px; margin-inline: auto; }

/* Termin wydarzenia (blok trail/event-facts): ramka, po lewej wiersze z opisem, po prawej mapa z linkami. */
.trail-event-facts { display: grid; margin-top: clamp(20px, 2.5vw, 28px); border: 1px solid var(--c-ink-900); background: var(--c-white); }
.trail-event-facts.has-map { grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); }
.trail-event-facts__main { padding: 8px 28px 20px; }
.trail-event-facts__list { margin: 0; }
.trail-event-facts__list > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--c-ink-200); }
.trail-event-facts__list > div:first-child { border-top: 0; }
.trail-event-facts__list dt { padding-top: 3px; color: var(--c-ink-500); font: 700 11px/1.6 var(--font-display); letter-spacing: .14em; text-transform: uppercase; }
.trail-event-facts__list dd { margin: 0; color: var(--c-ink-900); font-size: 16px; line-height: 1.5; }
.trail-event-facts__date { display: block; font-size: 20px; font-weight: 600; }
.trail-event-facts__time { display: block; color: var(--c-ink-600); }
.trail-event-facts.is-cancelled .trail-event-facts__date { text-decoration: line-through; }
.trail-event-facts__main > p { max-width: none; margin: 0; }
.trail-event-facts__main > .trail-event-facts__signup { margin-top: 8px; }
.trail-event-facts__more a { color: var(--c-ink-900); font: 700 12px/1 var(--font-display); letter-spacing: .1em; text-transform: uppercase; text-underline-offset: 4px; }
.trail-event-facts__map { display: flex; border-left: 1px solid var(--c-ink-900); }
.trail-event-facts__map .trail-calendar__map { display: flex; flex: 1; flex-direction: column; max-width: none; margin: 0; }
.trail-event-facts__map .trail-calendar__map-canvas { flex: 1; min-height: 240px; height: auto; border: 0; }
.trail-event-facts__map .trail-calendar__map-info { justify-content: space-between; margin: 0; padding: 14px 20px; border-top: 1px solid var(--c-ink-900); }
.trail-event-facts__map .trail-calendar__map-info a { white-space: nowrap; }
@media (max-width: 767px) {
  .trail-event-facts.has-map { grid-template-columns: 1fr; }
  .trail-event-facts__main { padding: 4px 20px 16px; }
  .trail-event-facts__list > div { grid-template-columns: 1fr; gap: 4px; }
  .trail-event-facts__map { border-left: 0; border-top: 1px solid var(--c-ink-900); }
}
.trail-event-page__content > * + * { margin-top: 1.2em; }
.trail-event-page__content > :is(.alignwide, .alignfull) { max-width: none; }
.trail-event-page__content > :is(.wp-block-columns, .wp-block-group, .wp-block-quote, .wp-block-gallery, .wp-block-image, .wp-block-media-text, .wp-block-cover, .wp-block-separator, .trail-coaches) { margin-top: clamp(48px, 7vw, 96px); }
.trail-event-page__content > :is(.has-text-align-center, .aligncenter, .trail-ev-center, .trail-ev-quote) { margin-inline: auto; }

/* Text styles of the content skip athlete cards placed in it, so a card looks 1:1 as in the Sekcja rail. */
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) p:not(.trail-athlete-card *) { max-width: 960px; color: var(--c-ink-600); font-size: clamp(16px, 1.35vw, 20px); line-height: 1.65; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) :where(h2, h3):not(.trail-athlete-card *) { color: var(--c-ink-900); font-family: var(--font-display); font-weight: var(--fw-regular); text-transform: uppercase; letter-spacing: -.03em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) h2 { max-width: none; margin: 0; font-size: clamp(28px, 3.4vw, 46px); font-stretch: 116%; line-height: 1; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) h3:not(.trail-athlete-card *) { margin: 0 0 12px; font: var(--fw-bold) 12px/1.3 var(--font-display); letter-spacing: .14em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) h2 + p { margin-top: clamp(20px, 2.5vw, 32px); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) :is(ul, ol, blockquote) { color: var(--c-ink-600); font-size: clamp(16px, 1.35vw, 20px); line-height: 1.65; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) :is(ul, ol) { padding-left: 1.3em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) li + li { margin-top: .35em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) blockquote { margin-inline: 0; padding-left: 20px; border-left: 3px solid var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) blockquote cite { display: block; margin-top: 12px; color: var(--c-ink-500); font: var(--fw-bold) 12px/1.3 var(--font-display); font-style: normal; letter-spacing: .14em; text-transform: uppercase; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .wp-block-columns { gap: clamp(24px, 3vw, 32px); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .wp-block-column > * + * { margin-top: 1em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .wp-block-column p { max-width: none; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .wp-block-trail-button-group { margin-top: clamp(24px, 3vw, 36px); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .has-text-align-center { margin-inline: auto; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) figure { margin: 0; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .wp-element-caption { margin-top: 10px; color: var(--c-ink-500); font-size: 14px; line-height: 1.45; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .wp-block-gallery { gap: 12px; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .wp-block-gallery img { aspect-ratio: 3 / 2; object-fit: cover; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) a:not(.trail-button__link) { color: var(--c-ink-900); text-decoration: underline; text-underline-offset: 3px; }

/* Biblioteka wzorców (Wzorce › „Treść – sekcje” i „Strona wydarzenia”) */
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-center { max-width: 760px; margin-inline: auto; text-align: center; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-center > * { margin-inline: auto; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-center > * + * { margin-top: 1em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-center .trail-button-group { justify-content: center; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-eyebrow { color: var(--c-ink-500); font: var(--fw-bold) 12px/1.3 var(--font-display); letter-spacing: .14em; text-transform: uppercase; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-lead { color: var(--c-ink-900); font-size: clamp(18px, 1.7vw, 23px); line-height: 1.55; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-section-head > * + * { margin-top: 14px; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-section-head .trail-ev-lead { margin-top: clamp(18px, 2.4vw, 28px); }
/* Pas z danymi biegu: ciemny pas jak na stronach zawodów, etykieta nad wartością, pionowe kreski między polami. */
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband { display: grid; max-width: none; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); background: var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband__item { margin: 0; padding: clamp(16px, 2.2vw, 26px) clamp(16px, 2.4vw, 28px); border-left: 1px solid rgba(255, 255, 255, .18); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband__item:first-child { border-left: 0; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband .trail-ev-raceband__label { margin: 0; color: rgba(255, 255, 255, .62); font: var(--fw-bold) 11px/1.3 var(--font-display); letter-spacing: .14em; text-transform: uppercase; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband .trail-ev-raceband__value { margin: 6px 0 0; color: var(--c-white); font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 32px); font-stretch: 116%; letter-spacing: -.03em; line-height: 1.05; }
@media (max-width: 560px) { :is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband { grid-template-columns: 1fr 1fr; } :is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband__item:nth-child(odd) { border-left: 0; } :is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-raceband__item:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .18); } }
/* Program dnia: duże godziny jak na zegarze mety, opis obok. */
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-schedule > .trail-ev-eyebrow { margin-top: clamp(20px, 2.6vw, 28px); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-schedule .trail-ev-schedule__row { display: flex; max-width: none; align-items: baseline; gap: clamp(16px, 3vw, 40px); margin: 0; padding: 14px 0; border-bottom: 1px solid var(--c-ink-200); color: var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-schedule .trail-ev-schedule__row strong { flex: 0 0 auto; min-width: 3.1em; font-family: var(--font-display); font-size: clamp(30px, 3.6vw, 48px); font-stretch: 116%; font-variant-numeric: tabular-nums; font-weight: var(--fw-regular); letter-spacing: -.03em; line-height: 1; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-schedule > .trail-ev-eyebrow + .trail-ev-schedule__row { margin-top: 10px; border-top: 2px solid var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-schedule > .trail-ev-schedule__row + .trail-ev-schedule__row { margin-top: 0; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-faq > .wp-block-heading { margin-bottom: clamp(20px, 3vw, 32px); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-faq .wp-block-details { max-width: none; margin: 0; padding: 18px 0; border-top: 1px solid var(--c-ink-200); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-faq .wp-block-details:last-child { border-bottom: 1px solid var(--c-ink-200); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-faq summary { color: var(--c-ink-900); font-size: clamp(17px, 1.5vw, 21px); font-weight: var(--fw-bold); line-height: 1.35; cursor: pointer; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-faq summary + * { margin-top: 12px; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-note { max-width: 760px; padding: clamp(20px, 3vw, 32px); border-left: 4px solid var(--c-ink-900); background: var(--c-ink-50, #f4f5f5); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-note > * + * { margin-top: 8px; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-note p { color: var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-checklist { padding-left: 0; list-style: none; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-checklist li { position: relative; padding-left: 34px; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-checklist li::before { position: absolute; top: .35em; left: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--c-ink-900); content: ''; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.4 14.2L4.6 10.2l1.4-1.4 2.6 2.6 5.4-6.2 1.5 1.3z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.4 14.2L4.6 10.2l1.4-1.4 2.6 2.6 5.4-6.2 1.5 1.3z'/%3E%3C/svg%3E") center / contain no-repeat; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cards > .trail-ev-card { display: flex; flex-direction: column; padding: clamp(20px, 2.6vw, 32px); border: 1px solid var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cards .trail-ev-card-link { margin-top: auto; padding-top: 12px; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cards .trail-ev-card-link a { font: var(--fw-bold) 12px/1.3 var(--font-display); letter-spacing: .14em; text-transform: uppercase; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-photos .wp-block-image img, :is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-wide-image img { width: 100%; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-quote { max-width: 820px; margin-inline: auto; padding: 0; border: 0; text-align: center; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-quote p { max-width: none; color: var(--c-ink-900); font-family: var(--font-display); font-size: clamp(24px, 3vw, 38px); line-height: 1.2; letter-spacing: -.02em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-quote-side blockquote p { color: var(--c-ink-900); font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.2; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-mosaic .wp-block-image { margin: 0; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-mosaic .wp-block-column > .wp-block-image + .wp-block-image { margin-top: clamp(24px, 4vw, 56px); }
/* Duże zdjęcie wypełnia wysokość kolumny z dwoma małymi, więc obie strony kończą się równo. */
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-mosaic > .wp-block-column:first-child { display: flex; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-mosaic > .wp-block-column:first-child > .wp-block-image { flex: 1; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-mosaic > .wp-block-column:first-child img { height: 100%; aspect-ratio: auto !important; }
@media (max-width: 781px) { :is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-mosaic > .wp-block-column:first-child img { aspect-ratio: 4 / 3 !important; } }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-divider { width: 100%; max-width: none; height: 0; margin-block: clamp(40px, 6vw, 72px); border: 0; border-top: 1px solid var(--c-ink-200); opacity: 1; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta { padding: clamp(44px, 7vw, 88px) clamp(20px, 5vw, 64px); background: var(--c-ink-900); text-align: center; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta > * { max-width: 760px; margin-inline: auto; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta > * + * { margin-top: 1em; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta :is(h2, p) { color: var(--c-white); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta .trail-button-group { justify-content: center; }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta .trail-button__link { border-color: var(--c-white); color: var(--c-white); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta .trail-button__link:is(:hover, :focus-visible) { background: var(--c-white); color: var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta--light { background: var(--c-ink-50, #f4f5f5); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta--light :is(h2, p) { color: var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta--light .trail-button__link { border-color: var(--c-ink-900); color: var(--c-ink-900); }
:is(.trail-event-page__content, .editor-styles-wrapper:is(.post-type-trail_event, .post-type-post) .is-root-container) .trail-ev-cta--light .trail-button__link:is(:hover, :focus-visible) { background: var(--c-ink-900); color: var(--c-white); }
/* Linia faktów pod tytułem: termin z kalendarza, szarym krojem jak metryczki na podstronach */
/* Every fact starts with a "·"; the line is shifted left by one separator and clipped, so a fact that
   starts a line (first one or after wrapping) hides its dot. */

/* Krótka treść nie podciąga stopki do połowy ekranu */
.trail-wordpress .wp-site-blocks { display: flex; flex-direction: column; min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)); }
.trail-wordpress .wp-site-blocks > main { flex: 1 0 auto; }

/* Stopka: ikony mediów społecznościowych i klikalne nagłówki kolumn */
.site-footer__social { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; }
.site-footer__social__item { display: inline-flex; color: var(--text-on-inverse-muted); }
.site-footer__social__item svg { display: block; width: 20px; height: 20px; fill: currentColor; }
.site-footer__social__item:is(:hover, :focus-visible), .site-footer__title a:is(:hover, :focus-visible) { color: var(--text-on-inverse); }
.site-footer__title a { color: inherit; text-decoration: none; }
/* Facebook i Instagram w nagłówku: takie samo okrągłe pole i hover jak lupa obok. */
.nav-utils .nav-social { gap: 0; }
a.nav-social__item { width: var(--hit-target-min); height: var(--hit-target-min); align-items: center; justify-content: center; border-radius: 999px; transition: background-color 160ms ease; }
a.nav-social__item:is(:hover, :focus-visible) { background: var(--action-ghost-hover); color: var(--c-brand); }

/* Nagłówek 901–1280 px: menu jest już hamburgerem, więc przycisk „Menu” stoi po prawej, nie w środkowej kolumnie */
@media (min-width: 901px) and (max-width: 1280px) {
  .global-header { display: flex; }
  .global-header .nav-utils { order: 2; margin-left: auto; }
  .global-header .menu-toggle { order: 3; margin-left: var(--space-2); }
  .global-header .site-nav { justify-self: stretch; }
}
/* Media społecznościowe w rozwiniętym menu na telefonie (w pasku są wtedy ukryte) */
.site-nav__social { display: none; }
@media (max-width: 900px) {
  .global-header .site-nav__social { display: flex; gap: 20px; margin: 20px 0 0; }
  .site-nav__social__item { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--c-brand); }
  .site-nav__social__item svg { width: 22px; height: 22px; fill: currentColor; }
}
/* Rozwinięte menu (≤1280 px): pełne tło i podmenu wyrównane do lewej jak pozycje główne */
@media (max-width: 1280px) {
  .global-header .site-nav { background: var(--c-white); }
  .global-header .nav-dropdown a { justify-content: flex-start; text-align: left; }
}

/* Kontakt: dane Fundacji po lewej, formularz po prawej; na telefonie jedna kolumna (dane, potem formularz) */
/* Kontakt: dane zwartymi grupami po lewej (e-mail; nazwa + adres; KRS / NIP / REGON), formularz w ramce po prawej */
.trail-contact__inner { display: grid; width: min(100%, 1240px); margin-inline: auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
.trail-contact__inner > * { margin: 0; }
.trail-contact .trail-contact__data { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px 32px; max-width: none; margin-top: clamp(36px, 4vw, 52px); }
.trail-contact .trail-contact__data p { display: flex; flex-direction: column; gap: 6px; grid-column: span 2; max-width: none !important; margin: 0 !important; color: var(--c-ink-900) !important; font-size: 18px !important; line-height: 1.4 !important; }
.trail-contact .trail-contact__data p:nth-child(1) { grid-column: 1 / -1; }
.trail-contact .trail-contact__data p:nth-child(3) { grid-column: span 4; }
.trail-contact .trail-contact__data p:first-child a { font-size: 22px; overflow-wrap: anywhere; }
.trail-contact .trail-contact__data a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.trail-contact__label { color: var(--c-ink-500); font: 700 11px/1.3 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.trail-contact__form { padding: clamp(28px, 3.5vw, 44px); border: 1px solid var(--c-ink-900); background: var(--c-white); }
.trail-contact .trail-contact__form-title { margin: 0; font-size: clamp(26px, 2.6vw, 36px); line-height: 1; }
/* Formularz ma już ramkę kontaktu (blocks.css); tu ramką jest cała kolumna z tytułem, więc formularz jej nie powtarza */
.trail-contact__form .trail-form-wrap { margin-top: clamp(22px, 2.6vw, 30px); }
.trail-contact__form :is(.trail-form, .trail-form-success) { padding: 0; border: 0; }
@media (max-width: 900px) {
  .trail-contact__inner { grid-template-columns: minmax(0, 1fr); }
  .trail-contact .trail-contact__data { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
  .trail-contact .trail-contact__data p { grid-column: span 1; }
  .trail-contact .trail-contact__data p:is(:nth-child(1), :nth-child(2), :nth-child(3)) { grid-column: 1 / -1; }
}

/* Konto bankowe: karta przelewu (układ B1) na istniejącej liście danych */
.trail-bank .trail-contact__data { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; max-width: 1100px; margin-top: clamp(40px, 5vw, 56px); padding: clamp(28px, 4vw, 48px) clamp(24px, 4.5vw, 56px); border: 1px solid var(--c-ink-900); background: var(--c-white); }
.trail-bank .trail-contact__data::before { content: ""; grid-row: 1; grid-column: 3; justify-self: end; width: 110px; height: 36px; background: url('/wp-content/themes/trail-fse/assets/logo-fundacja-dark.svg') right top / contain no-repeat; }
.trail-bank .trail-content-section__inner > p { max-width: 1100px; }
.trail-bank .trail-contact__data p { display: grid; grid-template-columns: minmax(0, max-content) auto; align-content: start; align-items: center; gap: 6px 10px; margin: 0 !important; color: var(--c-ink-900) !important; font-size: 17px !important; line-height: 1.4 !important; }
.trail-bank .trail-contact__data p:nth-child(1) { grid-row: 1; grid-column: 1 / 3; }
.trail-bank .trail-contact__data p:nth-child(2) { order: 1; }
.trail-bank .trail-contact__data p:nth-child(4) { grid-row: 2; grid-column: 1 / -1; padding: 26px 0; border-top: 1px solid var(--c-ink-200); border-bottom: 1px solid var(--c-ink-200); font: var(--fw-regular) clamp(24px, 3vw, 40px)/1.05 var(--font-display) !important; letter-spacing: .01em; font-variant-numeric: tabular-nums; }
@media (max-width: 800px) {
  .trail-bank .trail-contact__data { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .trail-bank .trail-contact__data::before { grid-row: auto; grid-column: 1; justify-self: start; order: -3; }
  .trail-bank .trail-contact__data p:nth-child(1) { grid-row: auto; grid-column: 1; order: -2; }
  .trail-bank .trail-contact__data p:nth-child(4) { grid-row: auto; order: -1; overflow-wrap: anywhere; }
  .trail-bank .trail-contact__data p { grid-template-columns: minmax(0, 1fr) auto; }
}
/* Logo w nawigacji: „TRAIL” najpierw, potem „Fundacja” */
.global-header .site-brand span { order: 0; }
/* Stopka na telefonie: logo, opis i ikony wyśrodkowane; grupy linków w siatce 2×2, wyśrodkowane w kolumnach */
@media (max-width: 767px) {
  .site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-4); text-align: center; }
  .site-footer__intro { grid-column: 1 / -1; align-items: center; }
  .site-footer__brand, .site-footer__note { margin-inline: auto; }
  .site-footer__social { justify-content: center; }
  /* Linki zaczynają się równo z nagłówkiem; grupy w jednej kolumnie mają wspólną lewą krawędź */
  .site-footer__column { justify-self: stretch; align-items: flex-start; gap: var(--space-2); padding-left: clamp(8px, 5vw, 32px); text-align: left; }
  .site-footer__column .site-footer__title { margin-bottom: var(--space-1); }
  /* Wygodniejsze pola dotyku: linki i ikony mają co najmniej 36–40 px wysokości */
  .site-footer__column { gap: 0; }
  .site-footer__column a { display: inline-flex; min-height: 36px; align-items: center; }
  .site-footer__social { gap: 4px; }
  .site-footer__social__item { width: 40px; height: 40px; align-items: center; justify-content: center; }
  .site-footer__baseline { text-align: center; }
}
.trail-event-page .trail-event-page__date { margin: 0 0 16px; color: var(--c-ink-500); font: 700 11px/1.3 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.global-header .nav-dropdown:has(.nav-dropdown__news) { width: min(340px, calc(100vw - 32px)); }
.global-header .nav-dropdown:has(.nav-dropdown__news) a { justify-content: flex-start; justify-items: start; text-align: left; }
.global-header .nav-dropdown a.nav-dropdown__news { display: grid; gap: 4px; min-height: 0; padding-block: 12px; font-family: var(--font-core); font-size: 15px; font-stretch: normal; font-weight: var(--fw-regular); letter-spacing: 0; line-height: 1.3; text-transform: none; }
.global-header .nav-dropdown__news time { color: var(--c-ink-500); font: 700 10px/1 var(--font-display); letter-spacing: .12em; }
.global-header .nav-dropdown a.nav-dropdown__all { border-top: 1px solid var(--c-ink-200); }
@media (max-width: 1280px) { .global-header .nav-dropdown:has(.nav-dropdown__news) { width: auto; } }
/* Baner zgody Complianz w stylu strony: biała ramka z czarną obwódką jak formularz w Kontakcie, przyciski-pigułki.
   „Akceptuję” i „Odmów” wyglądają tak samo — odmowa nie może być mniej widoczna niż zgoda (wytyczne EROD). */
body.trail-wordpress {
  --cmplz_banner_width: 480px;
  --cmplz_banner_background_color: var(--c-white);
  --cmplz_banner_border_color: var(--c-ink-900);
  --cmplz_banner_border_width: 1px;
  --cmplz_banner_border_radius: 0;
  --cmplz_banner_margin: var(--space-4);
  --cmplz_text_color: var(--text-body);
  --cmplz_hyperlink_color: var(--c-ink-900);
  --cmplz_title_font_size: 13px;
  --cmplz_text_font_size: var(--fs-body-sm);
  --cmplz_text_line_height: var(--lh-body-sm);
  --cmplz_link_font_size: var(--fs-body-sm);
  --cmplz_category_body_font_size: var(--fs-body-sm);
  --cmplz_category_header_title_font_size: var(--fs-body-sm);
  --cmplz_category_header_active_font_size: var(--fs-label);
  --cmplz_category_header_always_active_color: var(--c-ink-500);
  --cmplz_button_accept_background_color: var(--c-ink-900);
  --cmplz_button_accept_border_color: var(--c-ink-900);
  --cmplz_button_accept_text_color: var(--c-white);
  --cmplz_button_deny_background_color: var(--c-ink-900);
  --cmplz_button_deny_border_color: var(--c-ink-900);
  --cmplz_button_deny_text_color: var(--c-white);
  --cmplz_button_settings_background_color: var(--c-white);
  --cmplz_button_settings_border_color: var(--c-ink-900);
  --cmplz_button_settings_text_color: var(--c-ink-900);
  --cmplz_button_border_radius: var(--radius-pill);
  --cmplz_button_font_size: var(--fs-label);
  --cmplz_slider_active_color: var(--c-ink-900);
  --cmplz_slider_inactive_color: var(--c-ink-300);
  --cmplz_slider_bullet_color: var(--c-white);
}
.trail-wordpress .cmplz-cookiebanner { padding: var(--space-6); gap: var(--space-4); box-shadow: var(--shadow-lift); font-family: var(--font-core); }
.trail-wordpress .cmplz-cookiebanner .cmplz-header { grid-template-columns: 1fr auto; }
.trail-wordpress .cmplz-cookiebanner .cmplz-logo { display: none; }
.trail-wordpress .cmplz-cookiebanner .cmplz-title { justify-self: start; grid-column: 1; color: var(--c-ink-900); font-family: var(--font-display); font-stretch: 118%; font-weight: var(--fw-bold); letter-spacing: var(--track-label); text-transform: uppercase; }
.trail-wordpress .cmplz-cookiebanner .cmplz-close { display: grid; width: var(--hit-target-min); height: var(--hit-target-min); margin: calc(var(--space-3) * -1); place-items: center; color: var(--c-ink-900); }
.trail-wordpress .cmplz-cookiebanner .cmplz-close svg { width: 14px; height: 14px; }
.trail-wordpress .cmplz-cookiebanner .cmplz-divider { display: none; }
.trail-wordpress .cmplz-cookiebanner .cmplz-message { margin: 0; }
.trail-wordpress .cmplz-cookiebanner .cmplz-category { border: 1px solid var(--border-hairline); border-radius: 0; background: var(--c-ink-50); }
.trail-wordpress .cmplz-cookiebanner .cmplz-category-title { color: var(--c-ink-900); font-weight: var(--fw-bold); }
.trail-wordpress .cmplz-cookiebanner .cmplz-buttons { gap: var(--space-3); }
.trail-wordpress .cmplz-cookiebanner .cmplz-btn { min-height: var(--hit-target-min); height: auto; padding: 0 var(--space-5); font-family: var(--font-display); font-stretch: 118%; font-weight: var(--fw-bold); letter-spacing: var(--track-label); text-transform: uppercase; transition: background-color .15s ease, color .15s ease; }
.trail-wordpress .cmplz-cookiebanner .cmplz-btn:is(.cmplz-accept, .cmplz-deny):is(:hover, :focus-visible) { background: var(--action-fill-hover); border-color: var(--action-fill-hover); }
.trail-wordpress .cmplz-cookiebanner .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences):is(:hover, :focus-visible) { background: var(--c-ink-900); color: var(--c-white); }
.trail-wordpress .cmplz-cookiebanner :is(.cmplz-btn, .cmplz-close, .cmplz-category-toggle, .cmplz-link, input):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.trail-wordpress .cmplz-cookiebanner .cmplz-links a.cmplz-link { color: var(--c-ink-900); text-decoration: underline; text-underline-offset: 3px; }
/* Wycofanie zgody jest w stopce („Zarządzaj zgodą”), więc pływająca zakładka Complianz jest zbędna */
.trail-wordpress #cmplz-manage-consent { display: none; }
/* Stopka: © po lewej, polityki i „Zarządzaj zgodą” po prawej */
.trail-wordpress .site-footer__baseline p:has(.site-footer__legal) { display: flex; justify-content: space-between; gap: var(--space-3) var(--space-6); flex-wrap: wrap; }
.site-footer__legal { display: flex; gap: var(--space-2) var(--space-5); flex-wrap: wrap; }
.site-footer__legal :is(a, button) { display: inline-flex; min-height: 24px; align-items: center; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; font: inherit; letter-spacing: inherit; text-decoration: none; }
.site-footer__legal :is(a, button):is(:hover, :focus-visible) { color: var(--text-on-inverse); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .trail-wordpress .site-footer__baseline p:has(.site-footer__legal), .site-footer__legal { justify-content: center; }
  /* Telefon: zwarty baner, żeby nie zasłaniał pół ekranu — bez tytułu (krzyżyk w rogu obok tekstu),
     „Akceptuję” i „Odmów” obok siebie, „Zobacz preferencje” jako link pod nimi */
  .trail-wordpress .cmplz-cookiebanner { --cmplz_text_font_size: 12px; --cmplz_text_line_height: 16px; --cmplz_link_font_size: 12px; padding: var(--space-3) var(--space-4); gap: var(--space-2); border-width: 1px 0 0; }
  .trail-wordpress .cmplz-cookiebanner .cmplz-header { position: absolute; top: 4px; right: 4px; }
  .trail-wordpress .cmplz-cookiebanner .cmplz-header .cmplz-title { display: none; }
  .trail-wordpress .cmplz-cookiebanner .cmplz-close { margin: 0; }
  .trail-wordpress .cmplz-cookiebanner .cmplz-message { margin-right: 0; padding-right: 36px; }
  .trail-wordpress .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences { min-height: 32px; border-color: transparent; background: transparent; text-decoration: underline; text-underline-offset: 3px; }
  .trail-wordpress .cmplz-cookiebanner .cmplz-links { margin: 0; }
  .trail-wordpress .cmplz-cookiebanner .cmplz-buttons { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .trail-wordpress .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { flex: 1 1 0; min-width: 0; margin: 0; padding-inline: var(--space-3); }
  .trail-wordpress .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences) { flex-basis: 100%; }
}

/* Lady (desktop): lekki zoom od lewej krawędzi przesuwa zawodniczkę w prawo, obok logo zamiast pod nim.
   Panel na LP ma ten sam zoom, a --arrival-* mówi animacji przejścia (landing.js), gdzie skończyć,
   więc zdjęcie tylko się rozszerza i nie przeskakuje przy zmianie strony. */
@media (min-width: 768px) {
  .trail-wordpress .division-page__hero[data-division="lady"] .division-page__media { object-position: 50% 60%; transform-origin: 0% 90%; transform: scale(1.42); }
  .home-page .division--lady .division__media { --arrival-scale: 1.42; --arrival-position: 50% 60%; object-position: 60% 50%; transform-origin: 0% 90%; transform: scale(1.42); }
  .home-page .division--lady:is(.is-active, :focus-visible) .division__media { transform: scale(1.47); }
}
/* Lady (telefon): zbliżenie na zawodniczkę od dolnej krawędzi — jest większa, a głowa i ramiona
   wychodzą ponad logo i hasło. Panel na LP ma ten sam kadr (--arrival-* dla animacji przejścia). */
@media (max-width: 767px) {
  .trail-wordpress .division-page__hero[data-division="lady"] .division-page__media { object-position: 54% 100%; transform-origin: 53% 100%; transform: scale(1.7); }
  .home-page .division--lady .division__media, .home-page .division--lady:is(.is-active, :focus-visible) .division__media { --arrival-scale: 1.7; --arrival-position: 54% 100%; object-position: 54% 100%; transform-origin: 53% 100%; transform: scale(1.7); }
}

/* Czytanka (np. Lady): jedna wąska kolumna jak artykuł; hasła jako śródtytuły, domknięcie pisanym fontem. */
.trail-reading__inner { width: min(100%, 1240px); margin-inline: auto; }
.trail-reading__inner > * { max-width: 720px; }
.trail-content-section .trail-reading__title { margin: clamp(48px, 6vw, 72px) 0 0; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.08; letter-spacing: -.03em; font-stretch: 112%; }
.trail-content-section .trail-reading__inner > .trail-reading__title:first-child { margin-top: 0; }
.trail-content-section .trail-reading__title + p { margin-top: 24px; }
.trail-content-section .trail-reading__inner > p { margin-bottom: 0; }
.trail-content-section .trail-reading__inner > p + p { margin-top: 1.1em; }
.trail-reading__accent { color: var(--c-pink-600); }
.trail-content-section .trail-reading__quote { margin: clamp(48px, 6vw, 72px) 0 0; color: var(--c-ink-900); font: 500 clamp(32px, 3.2vw, 46px)/1.12 var(--font-signature); }
.trail-content-section .trail-reading__quote + p { margin-top: clamp(28px, 3vw, 40px); }
.trail-content-section .trail-reading__title[id] { scroll-margin-top: calc(var(--header-height, 78px) + 32px); }

/* Kids (układ C): zajęcia z cytatem i listą typów zadań; imprezy jako „plakaty” w kolorach Kids.
   Plakat bez zdjęcia to kolorowy blok z logo i nazwą okazji; gdy w bloku pojawi się zwykły obrazek
   (bez klasy trail-kids-poster__logo), wypełnia on plakat jako zdjęcie. */
.trail-kids-classes__inner, .trail-kids-events__inner { width: min(100%, 1240px); margin-inline: auto; }
.trail-content-section .trail-kids-facts { max-width: none; margin: 22px 0 0; color: var(--c-ink-500); font: 700 11px/1.6 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.trail-kids-classes__columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); margin-top: clamp(32px, 4vw, 48px); align-items: start; }
.trail-content-section .trail-kids-classes__copy > p { max-width: none; margin: 0; }
.trail-content-section .trail-kids-classes__copy > p + p { margin-top: 1.1em; }
.trail-content-section .trail-kids-signup { margin-top: clamp(24px, 3vw, 36px) !important; color: var(--c-ink-900); }
.trail-content-section .trail-kids-quote { margin: 0; color: var(--c-ink-900); font: 500 clamp(34px, 3.6vw, 52px)/1.08 var(--font-signature); }
.trail-content-section .trail-kids-quote--center { margin-top: clamp(64px, 8vw, 96px); text-align: center; }
.trail-content-section .trail-kids-types__lead { margin: clamp(28px, 3vw, 36px) 0 0; color: var(--c-ink-500); font-size: 15px; }
.trail-kids-types { margin-top: 14px; border-bottom: 1px solid var(--c-ink-200); }
.trail-content-section .trail-kids-types h3 { margin: 0; padding-top: 16px; border-top: 1px solid var(--c-ink-200); color: var(--c-ink-900); font: var(--fw-regular) clamp(18px, 1.5vw, 21px)/1.15 var(--font-display); letter-spacing: -.01em; text-transform: uppercase; }
.trail-content-section .trail-kids-types p { margin: 6px 0 0; padding-bottom: 16px; font-size: 16px; line-height: 1.5; }
.trail-content-section .trail-kids-events__intro { max-width: 66ch; margin-top: clamp(28px, 3.5vw, 40px); }
.trail-kids-poster { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 64px); align-items: center; margin-top: clamp(40px, 5vw, 64px); }
.trail-kids-poster:nth-of-type(even) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.trail-kids-poster:nth-of-type(even) .trail-kids-poster__visual { order: 2; }
.trail-kids-poster__visual { position: relative; display: flex; overflow: hidden; aspect-ratio: 4 / 3; flex-direction: column; justify-content: space-between; padding: clamp(22px, 2.6vw, 34px); background: var(--c-teal-100); }
.trail-kids-poster__visual.is-amber { background: var(--c-amber-100); }
.trail-kids-poster__visual.is-pink { background: var(--c-pink-100); }
.trail-kids-poster__visual .trail-kids-poster__logo { width: clamp(92px, 9vw, 124px); margin: 0; }
.trail-kids-poster__visual .trail-kids-poster__logo img { display: block; width: 100%; height: auto; }
.trail-content-section .trail-kids-poster__occasion { margin: 0; color: var(--c-ink-900); font: var(--fw-regular) clamp(34px, 3.8vw, 54px)/.95 var(--font-display); font-stretch: 112%; letter-spacing: -.04em; text-transform: uppercase; }
.trail-kids-poster__visual figure:not(.trail-kids-poster__logo) { position: absolute; inset: 0; margin: 0; }
.trail-kids-poster__visual figure:not(.trail-kids-poster__logo) img { width: 100%; height: 100%; object-fit: cover; }
.trail-kids-poster__visual:has(figure:not(.trail-kids-poster__logo)) > :is(.trail-kids-poster__logo, .trail-kids-poster__occasion) { display: none; }
.trail-content-section .trail-kids-poster__copy h3 { margin: 0; color: var(--c-ink-900); font: var(--fw-regular) clamp(24px, 2.4vw, 34px)/1.05 var(--font-display); letter-spacing: -.03em; text-transform: uppercase; }
.trail-content-section .trail-kids-poster__copy p { max-width: 60ch; margin: 18px 0 0; }
@media (max-width: 800px) {
  .trail-kids-classes__columns { grid-template-columns: minmax(0, 1fr); }
  .trail-kids-poster, .trail-kids-poster:nth-of-type(even) { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .trail-kids-poster:nth-of-type(even) .trail-kids-poster__visual { order: 0; }
}
/* Strona wyników wyszukiwania (templates/search.html) */
.trail-search-page__form { display: flex; gap: 12px; max-width: 760px; margin-top: clamp(24px, 3vw, 36px); }
.trail-search-page__form input { flex: 1; min-width: 0; margin: 0; min-height: 48px; padding: 10px 14px; border: 1px solid #b9bcbf; border-radius: 0; font: 400 16px/1.5 var(--font-core); color: var(--c-ink-900); }
.trail-search-page__form input:focus-visible { border-color: var(--c-ink-900); outline: 2px solid var(--c-ink-900); outline-offset: 0; }
.trail-search-page__count, .trail-search-page__empty { margin: clamp(28px, 3vw, 40px) 0 0; color: var(--c-ink-600); font-size: clamp(16px, 1.35vw, 20px); }
.trail-search-page__list { max-width: 900px; margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--c-ink-200); }
.trail-search-page__list a { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--c-ink-200); color: var(--c-ink-900); font: 600 17px/1.35 var(--font-core); text-decoration: none; }
.trail-search-page__list a:is(:hover, :focus-visible) span { text-decoration: underline; text-underline-offset: 4px; }
.trail-search-page__list small { flex: none; color: var(--c-ink-500); font: 700 11px/1.3 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.trail-search-page__form .trail-search-submit { min-height: 48px; margin: 0; }
/* Wyniki wyszukiwania i 404: całość wyśrodkowana, wiersze listy zostają wyrównane do krawędzi. */
.trail-search-page .trail-section__inner { text-align: center; }
.trail-search-page :is(.trail-search-page__form, .trail-search-page__list) { margin-inline: auto; }
.trail-search-page__list { text-align: left; }
.trail-404__home { margin: clamp(20px, 2.4vw, 28px) 0 0; }
.trail-404__home a { display: inline-flex; align-items: center; color: var(--c-white); text-decoration: none; }
/* Strona główna, panele: bez linii między zdjęciami. Treść panelu zaczepiona od góry (nie środkiem),
   więc logo i hasła stoją na jednej wysokości także wtedy, gdy hasło ma różną liczbę wierszy. */
.home-page .division { border-right: 0; }
@media (min-width: 768px) {
  .home-page .division__content { top: calc(66% - 80px); transform: none; }
  .home-page .division:is(.is-active, :focus-visible) .division__content { transform: translateY(-8px); }
}
/* Nagłówek: napis „Fundacja” obok logo znika dopiero wtedy, gdy naprawdę brakuje miejsca (telefon) */
@media (min-width: 561px) and (max-width: 1280px) { .global-header .site-brand span { display: inline; } }
/* Rozwijane menu (desktop): bez przerwy pod czarną kreską i bez przesuwania pozycji w bok na hover,
   przez które podświetlenie wychodziło poza ramkę menu. */
@media (min-width: 1281px) {
  .global-header .nav-dropdown { padding-block: 0; }
  .global-header .nav-dropdown a:is(:hover, :focus-visible), .global-header .nav-dropdown a[aria-current="page"] { transform: none; }
}
/* Przejście z panelu na stronę dywizji: ciemne tło przejścia nie prześwituje przez półprzezroczysty
   nagłówek (wcześniej robił się szary, a po wejściu na stronę wracał do białego). */
body.is-transitioning .global-header { background: var(--c-white); -webkit-backdrop-filter: none; backdrop-filter: none; }
/* Telefon: tytuły stron (Galeria, Kontakt, Konto bankowe, Dokumenty, Aktualności…) w rozmiarze nagłówków
   sekcji zamiast 44 px z prototypu; strona wyników ma jeszcze dłuższe słowo, więc mniej */
@media (max-width: 767px) { .division-page .trail-main h1:not(.division-page__descriptor) { max-width: none; font-size: clamp(30px, 8.7vw, 34px); } }
@media (max-width: 480px) { .division-page .trail-main .trail-search-page h1.trail-section__title { font-size: clamp(26px, 7.6vw, 34px); } }
/* Dokument jako podstrona (polityka, regulamin): tabele pełnej szerokości, na telefonie przewijane w bok */
.trail-document-page .trail-event-page__content > :is(table, .wp-block-table) { max-width: none; }
.trail-document-page .trail-event-page__content table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: var(--fs-body-sm); line-height: var(--lh-body-sm); }
.trail-document-page .trail-event-page__content :is(th, td) { min-width: 160px; padding: 10px 12px; border: 1px solid var(--c-ink-200); text-align: left; vertical-align: top; }
.trail-document-page .trail-event-page__content th { background: var(--c-ink-50); color: var(--c-ink-900); font-weight: var(--fw-bold); }
.trail-document-page .trail-event-page__content :is(ul, ol) { padding-left: 1.2em; }
.trail-document-page .trail-event-page__content h2 { margin-top: 2.2em; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.15; }
.trail-document-page .trail-event-page__content { color: var(--text-body); }
/* Dokument-podstrona: tytuł i tekst w jednej wycentrowanej kolumnie (tekst dalej do lewej) */
.trail-document-page .trail-content-section__inner--single { width: min(100%, 760px); }
.trail-document-page .trail-event-page__content > * { max-width: none; }
/* Polityka cookies z Complianz: jego style dokumentu (#cmplz-document) wyrównane do podstron dokumentów */
.trail-document-page #cmplz-document :is(h2, h3) { margin: 2.2em 0 .6em; color: var(--c-ink-900); font-family: var(--font-display); font-weight: var(--fw-regular); letter-spacing: -.03em; line-height: 1.15; text-transform: uppercase; }
.trail-document-page #cmplz-document h2 { font-size: clamp(22px, 2.2vw, 30px); }
.trail-document-page #cmplz-document h3 { font-size: 18px; }
.trail-document-page #cmplz-document :is(p, li) { font-size: var(--fs-body); line-height: var(--lh-body); }
.trail-bank .trail-contact__data .trail-contact__label { grid-column: 1 / -1; }
.trail-bank__copy { display: inline-grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--c-ink-200); border-radius: 50%; background: var(--c-white); color: var(--c-ink-900); cursor: pointer; }
.trail-bank__copy:hover { border-color: var(--c-ink-900); }
.trail-bank__copy:focus-visible { outline: 2px solid var(--c-ink-900); outline-offset: 2px; }
