/* ==========================================================================
   Lab Dostępności – system wizualny „Fokus” (1.13.0)
   Ładowany po design-2026.css. Znak rozpoznawczy: widoczny fokus
   (fioletowy obrys + żółta aureola), adnotacje z audytu, zakreślacz.
   Kolory wyłącznie z tokenów (tokens.css) – każda para ma policzony kontrast.
   Klasy ldf-* należą do układu strony głównej 1.13; starszy układ 2026
   (klasy ld-*) dalej działa i dostaje tylko wspólne zmiany typografii.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Typografia: jedna rodzina Atkinson Hyperlegible
   ----------------------------------------------------------------------- */
h1, h2 { font-weight: 800; letter-spacing: -0.025em; }
h1 { letter-spacing: -0.035em; }
h3, h4 { font-weight: 700; letter-spacing: -0.01em; }

.ld-kicker,
.section-kicker,
.ldf-kicker,
.expert-profile-kicker,
.home-news-card__label {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--clr-accent);
}

/* Przyciski: kształt pigułki we wszystkich miejscach. */
.btn,
.wp-block-button__link,
.wp-element-button,
.display-settings__toggle {
  border-radius: 999px;
}
.display-settings__toggle { border-width: 2px; }

/* --------------------------------------------------------------------------
   Fokus (1.13.1): jednolity obrys 3 px z odstępem 4 px – bez aureoli.
   Odstęp oddziela obrys od tekstu i krawędzi przycisku, także w odnośnikach
   w treści. WCAG 2.4.7, 2.4.11, 2.4.13 (obrys ≥ 2 px, kontrast ≥ 3:1).
   Reguła z !important ujednolica fokus wszędzie, gdzie starsze arkusze
   ustawiały własny obrys lub cień.
   ----------------------------------------------------------------------- */
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--clr-focus) !important;
  outline-offset: 4px !important;
  box-shadow: none !important;
}
/* Obrys przyjmuje kształt elementu (pigułka zostaje pigułką); zwykłe odnośniki dostają lekkie zaokrąglenie. */
a:not(.btn):not(.wp-block-button__link):not(.wp-element-button):focus-visible { border-radius: 4px; }
/* Pola formularzy: obrys przylega bliżej, żeby nie nachodził na etykietę powyżej. */
:is(input:not([type="radio"]):not([type="checkbox"]), select, textarea):focus-visible { outline-offset: 2px !important; }

/* Fokus na tłach, gdzie domyślne kolory by się zlały. */
.ld-pad { --clr-focus: #ffffff; --clr-focus-halo: var(--color-marker); }
/* Etykieta na fiolecie: biel 8,8:1 (żółty dawałby 6,7:1 – poniżej AAA dla tekstu 15 px). */
.ld-pad .ld-kicker { color: #ffffff; }
.wp-block-button.is-style-marker,
.ldf-cta { --clr-focus: var(--color-ink); --clr-focus-halo: var(--color-ink); }

/* Starszy układ 2026 (klasy ld-*) zachowuje własne zakreślenie „w praktyce” bez obrysu –
   w trybie ciemnym to sam żółty tekst z podkreśleniem, obrys nachodził tam na sąsiednie wiersze. */

/* --------------------------------------------------------------------------
   Odstępy w tekście – WCAG 1.4.12 (panel „Widok” i sekcja „Sprawdź nas”)
   ----------------------------------------------------------------------- */
:root[data-text-spacing="wide"] :is(p, li, dd, dt, td, th, blockquote, figcaption, label, legend, summary) {
  line-height: 1.9 !important;
  letter-spacing: 0.12em !important;
  word-spacing: 0.16em !important;
}
:root[data-text-spacing="wide"] :is(.entry-content, .prose) p + p { margin-top: 2em; }

/* --------------------------------------------------------------------------
   Układ strony głównej 1.13
   Motyw klasyczny owija dzieci Grupy w .wp-block-group__inner-container –
   display: contents pozwala siatkom działać na właściwych elementach.
   ----------------------------------------------------------------------- */
.wp-block-group[class*="ldf-"] > .wp-block-group__inner-container { display: contents; }
/* :where() – zerowa specyficzność, żeby marginesy komponentów niżej zawsze wygrywały. */
:where(.wp-block-group[class*="ldf-"]) > *,
:where(.wp-block-group[class*="ldf-"] > .wp-block-group__inner-container) > * { margin-block: 0; }

.ldf-tags,
.ldf-standards__list,
.ldf-paths__list,
.ldf-topics,
.ldf-steps,
.ldf-audit__list,
.ldf-team__list,
.ldf-person__tags,
.ldf-portfolio__facts {
  list-style-type: "\200B";
  margin: 0;
  padding: 0;
}

.ldf-section__title {
  margin: 0;
  font-size: clamp(2.125rem, 1.3rem + 3vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
  font-weight: 800;
  max-width: 18em;
}
.ldf-section > .ldf-kicker,
.ldf-section__header .ldf-kicker { margin: 0 0 0.75rem; }
.ldf-section > .ldf-section__title { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.ldf-section__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 3.5rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ldf-section__header > div { flex: 1 1 32rem; min-width: 0; }
.ldf-section__intro {
  flex: 1 1 20rem;
  margin: 0;
  color: var(--clr-text-muted);
  font-size: 1.125rem;
}
.ldf-section__more { margin: 2rem 0 0; font-weight: 700; font-size: 1.125rem; }

/* Hero ------------------------------------------------------------------ */
.ldf-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(2.5rem, 5vw, 3.75rem);
  padding-top: clamp(2.5rem, 6vw, 4.5rem);
}
.ldf-hero__main { flex: 1 1 32rem; min-width: 0; }
.ldf-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ldf-tags li {
  padding: 0.2rem 0.75rem;
  border: 1.5px solid var(--clr-border-strong);
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 0.875rem;
}
.ldf-hero__title {
  margin: 1.75rem 0 0;
  font-size: clamp(2.75rem, 1.2rem + 5.2vw, 5.5rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 800;
  overflow-wrap: break-word;
  hyphens: manual;
}
/* Znak „widoczny fokus”: zakreślenie w obrysie, z podpisem kryterium pod spodem. */
.ldf-ring {
  position: relative;
  display: inline-block;
  margin-top: 1rem;
  padding: 0 0.9rem 0.2rem;
  background: var(--clr-marker);
  color: var(--color-ink);
  border-radius: 10px;
  outline: 5px solid var(--clr-accent);
  outline-offset: 7px;
}
.ldf-ring__tag {
  position: absolute;
  right: -0.5rem;
  bottom: -2.75rem;
  padding: 0.15rem 0.6rem;
  background: var(--clr-accent);
  color: var(--clr-on-accent);
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
  white-space: nowrap;
}
.ldf-hero__lead {
  margin: 3.5rem 0 0;
  max-width: 34em;
  font-size: clamp(1.125rem, 1rem + 0.45vw, 1.3125rem);
  color: var(--clr-text-muted);
}
.ldf-hero__actions { margin-top: 2rem; gap: 0.9rem; }
.ldf-hero__actions .wp-block-button__link { min-height: 3.5rem; padding-inline: 1.6rem; font-size: 1.125rem; }

/* Fragment raportu z audytu ------------------------------------------- */
.ldf-audit { flex: 1 1 28rem; min-width: 0; margin: 0; }
.ldf-audit__window {
  background: var(--clr-surface);
  border: 2px solid var(--clr-text);
  border-radius: 18px;
  overflow: hidden;
}
.ldf-audit__bar {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1.1rem;
  border-bottom: 2px solid var(--clr-text);
  font-family: var(--font-mono);
  font-size: 0.875rem;
  color: var(--clr-text-muted);
  overflow-wrap: anywhere;
}
.ldf-audit__dots { display: flex; gap: 6px; flex: 0 0 auto; }
.ldf-audit__dots span { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--clr-border-strong); }
.ldf-audit__page { display: grid; gap: 0.9rem; padding: 1.5rem 1.6rem 1.75rem; }
.ldf-audit__page p { margin: 0; max-width: none; }
.ldf-audit__heading { font-weight: 800; font-size: 1.375rem; }
.ldf-audit__field { display: grid; gap: 0.35rem; font-size: 0.875rem; font-weight: 700; }
.ldf-audit__marked { position: relative; justify-self: start; padding-right: 2.75rem; }
.ldf-audit__input { display: block; height: 2.75rem; border: 2px solid var(--clr-border-strong); border-radius: 8px; }
.ldf-audit__input--short { width: 55%; }
.ldf-audit__option { display: flex; align-items: center; gap: 0.9rem; font-size: 0.875rem; color: var(--clr-text-muted); }
.ldf-audit__logo {
  position: relative;
  flex: 0 0 6rem;
  height: 3.75rem;
  border-radius: 8px;
  background: var(--clr-bg-alt);
  border: 2px dashed var(--clr-border-strong);
}
.ldf-audit__button {
  position: relative;
  justify-self: start;
  padding: 0.7rem 1.6rem;
  border-radius: 8px;
  background: var(--clr-text);
  color: var(--clr-bg);
  font-weight: 700;
}
.ldf-pin {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--clr-accent);
  color: var(--clr-on-accent);
  font-weight: 800;
  font-size: 0.9375rem;
  line-height: 1;
  box-shadow: 0 0 0 4px var(--clr-marker);
}
.ldf-pin--on { position: absolute; }
.ldf-audit__marked .ldf-pin--on { right: 0; top: -0.35rem; }
.ldf-audit__logo .ldf-pin--on { right: -0.9rem; top: -0.9rem; }
.ldf-audit__button .ldf-pin--on { right: -1.1rem; bottom: -1.1rem; }

.ldf-audit figcaption { margin-top: 1.1rem; }
.ldf-audit__label { margin: 0 0 0.6rem; font-family: var(--font-mono); font-size: 0.875rem; color: var(--clr-text-muted); }
.ldf-audit__list { display: grid; gap: 0.6rem; }
.ldf-audit__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  background: var(--clr-surface);
  border: 1.5px solid var(--clr-border);
  border-radius: 12px;
}
.ldf-audit__list .ldf-pin { width: 1.75rem; height: 1.75rem; font-size: 0.8125rem; box-shadow: none; }
.ldf-audit__text { flex: 1 1 auto; min-width: 0; display: grid; gap: 0.1rem; }
.ldf-audit__criterion { font-family: var(--font-mono); font-size: 0.8125rem; color: var(--clr-text-muted); }
.ldf-audit__text strong { font-size: 1rem; line-height: 1.35; }
.ldf-status {
  flex: 0 0 auto;
  padding: 0.1rem 0.6rem;
  border-radius: 6px;
  font-size: 0.8125rem;
  font-weight: 700;
}
.ldf-status--ok { background: var(--color-success-bg); color: var(--color-success-text); }
.ldf-status--warn { background: var(--color-warning-bg); color: var(--color-warning-text); }
.ldf-status--bad { background: var(--color-danger-bg); color: var(--color-danger-text); }
.ldf-audit__note { margin: 0.75rem 0 0; font-family: var(--font-mono); font-size: 0.875rem; color: var(--clr-text-muted); }

/* Wymagania – pasek na całą szerokość --------------------------------- */
.ld-home-2026 .site-main > .ldf-standards,
.ld-home-2026 .site-main > .ldf-portfolio {
  width: 100%;
}
.ldf-standards {
  display: grid;
  grid-template-columns: minmax(12rem, 0.8fr) minmax(0, 3fr);
  gap: 1.5rem 2.5rem;
  align-items: center;
  padding-block: 2rem;
  padding-inline: max(var(--page-gutter, 1rem), calc((100% - var(--layout-max, 1200px)) / 2));
  background: var(--clr-surface);
  border-block: 2px solid var(--clr-text);
}
.ldf-standards__title { margin: 0; font-size: 1.5rem; line-height: 1.2; }
.ldf-standards__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1.25rem 2.5rem; }
.ldf-standards__list li { color: var(--clr-text-muted); font-size: 1rem; }
.ldf-standards__list strong {
  display: block;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 1.25rem;
  color: var(--clr-accent);
}

/* Dla kogo – wiersze ------------------------------------------------- */
.ldf-paths__list { border-top: 2px solid var(--clr-text); }
.ldf-paths__list li { border-bottom: 2px solid var(--clr-text); }
.ldf-paths__list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) 2rem;
  align-items: center;
  gap: 0.5rem 2.5rem;
  padding: 1.75rem 0.25rem;
  color: var(--clr-text-muted);
  text-decoration: none;
  font-size: 1.0625rem;
}
.ldf-paths__list strong {
  color: var(--clr-text);
  font-weight: 800;
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.ldf-paths__list a::after {
  content: "";
  width: 2rem;
  height: 2rem;
  background: var(--clr-text);
  -webkit-mask: var(--ld-arrow) center / contain no-repeat;
  mask: var(--ld-arrow) center / contain no-repeat;
}
.ldf-paths__list a:hover strong {
  text-decoration: underline;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.18em;
}

/* Usługi ---------------------------------------------------------------- */
.ldf-services__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr));
  gap: 0 3rem;
}
.ldf-service {
  display: grid;
  align-content: start;
  gap: 0.6rem;
  padding: 1.75rem 0 2.25rem;
  border-top: 2px solid var(--clr-text);
}
.ldf-service > *,
.ldf-service > .wp-block-group__inner-container > * { margin: 0; }
.ldf-service__meta { font-family: var(--font-mono); font-size: 0.875rem; color: var(--clr-text-muted); }
.ldf-service__title { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; }
.ldf-service__title a { color: var(--clr-text); text-decoration: none; }
.ldf-service__title a:hover { text-decoration: underline; text-decoration-thickness: 0.1em; text-underline-offset: 0.18em; }
.ldf-service p:not(.ldf-service__meta) { color: var(--clr-text-muted); font-size: 1.0625rem; }
.ldf-topics { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; }
.ldf-topics a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.25rem 0.95rem;
  border: 1.5px solid var(--clr-border-strong);
  border-radius: 999px;
  color: var(--clr-text);
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
}
.ldf-topics a:hover { border-color: var(--clr-text); text-decoration: underline; }

/* Proces ---------------------------------------------------------------- */
.ldf-steps {
  counter-reset: ldf-step;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 2rem;
}
.ldf-steps li {
  counter-increment: ldf-step;
  padding-top: 1.25rem;
  border-top: 6px solid var(--clr-text);
  color: var(--clr-text-muted);
  font-size: 1.0625rem;
}
.ldf-steps li::before {
  content: "krok " counter(ldf-step);
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.9375rem;
}
.ldf-steps li:last-child { border-top-color: var(--clr-accent); }
.ldf-steps li:last-child::before { content: "krok " counter(ldf-step) " · tu kończymy"; color: var(--clr-accent); font-weight: 600; }
.ldf-steps strong { display: block; margin-bottom: 0.5rem; color: var(--clr-text); font-size: 1.5rem; font-weight: 800; line-height: 1.2; }

/* Zespół ---------------------------------------------------------------- */
.ldf-team__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 32rem), 1fr));
  gap: 2.5rem;
}
.ldf-person {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 1.75rem;
  padding-top: 1.75rem;
  border-top: 2px solid var(--clr-text);
}
.ldf-person__media {
  flex: 0 0 11.25rem;
  align-self: flex-start;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  overflow: hidden;
  background: var(--clr-marker);
  color: var(--color-ink);
}
.ldf-person__media--1 { background: var(--clr-accent); color: var(--clr-on-accent); }
.ldf-person__photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; } /* portrety: twarz w górnej części kadru */
.ldf-person__initials {
  display: block;
  padding: 1rem;
  font-weight: 800;
  font-size: 3.5rem;
  line-height: 1;
  letter-spacing: -0.04em;
}
.ldf-person__body { flex: 1 1 16rem; min-width: 0; }
.ldf-person__body > * { margin: 0; }
.ldf-person__name { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.ldf-person__name a { color: var(--clr-text); text-decoration-thickness: 0.06em; }
.ldf-person__name a:hover { text-decoration-thickness: 0.12em; }
.ldf-person__role { margin-top: 0.35rem; font-family: var(--font-mono); font-size: 0.9375rem; font-weight: 600; color: var(--clr-accent); }
.ldf-person__summary { margin-top: 0.75rem; color: var(--clr-text-muted); font-size: 1.0625rem; }
.ldf-person__tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.9rem; }
.ldf-person__tags li {
  padding: 0.15rem 0.6rem;
  border: 1.5px solid var(--clr-border-strong);
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
}
.ldf-person__link { margin-top: 1rem; font-weight: 700; }

/* „Ta strona jest naszym portfolio” – ciemny pas ---------------------- */
.ldf-portfolio {
  --clr-text: #f2f1ee;
  --clr-text-muted: #b9bcc4;
  --clr-accent: var(--color-violet-light);
  --clr-on-accent: #121317;
  --clr-focus: var(--color-violet-light);
  --clr-focus-halo: var(--color-marker);
  background: var(--color-ink);
  color: var(--clr-text);
  padding-block: clamp(3.5rem, 7vw, 6rem);
}
:root[data-theme="dark"] .ldf-portfolio { background: #1f2027; border-block: 1px solid #3a3c44; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .ldf-portfolio { background: #1f2027; border-block: 1px solid #3a3c44; }
}
.ldf-portfolio__inner {
  width: min(100% - 2 * var(--page-gutter, 1rem), var(--layout-max, 1200px));
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem;
}
.ldf-portfolio__intro { flex: 1 1 28rem; min-width: 0; }
.ldf-portfolio .ldf-kicker { margin: 0 0 0.75rem; color: var(--color-marker); }
.ldf-portfolio .ldf-section__title { color: var(--clr-text); margin-bottom: 1.25rem; }
.ldf-portfolio__intro > p { margin: 0; color: var(--clr-text-muted); max-width: 32em; }
.ldf-portfolio__controls { display: grid; gap: 1.4rem; margin-top: 1.75rem; }
.ldf-choice { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.ldf-choice legend {
  float: left;
  width: 100%;
  margin: 0 0 0.5rem;
  padding: 0;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  color: var(--clr-text-muted);
}
.ldf-choice__option {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding: 0 1.1rem;
  border: 2px solid #8a8f99;
  border-radius: 10px;
  color: var(--clr-text);
  font-weight: 700;
  cursor: pointer;
}
.ldf-choice__option--large { font-size: 1.1875rem; }
.ldf-choice__option--xlarge { font-size: 1.3125rem; }
/* Natywny przycisk opcji zostaje w drzewie dostępności (czytnik ogłasza „przycisk opcji”),
   ale jest ukryty wizualnie – nie przykrywa napisu (wcześniej mylił narzędzia do badania kontrastu). */
.ldf-choice__option input {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.ldf-choice__option:hover { border-color: #f2f1ee; }
.ldf-choice__option:has(input:checked) { background: var(--color-marker); border-color: var(--color-marker); color: var(--color-ink); }
.ldf-choice__option:has(input:focus-visible) {
  outline: 3px solid var(--color-violet-light);
  outline-offset: 4px;
}
.ldf-portfolio__facts { flex: 1 1 26rem; min-width: 0; border-top: 1px solid #3a3c44; align-self: start; }
.ldf-portfolio__facts li {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid #3a3c44;
}
.ldf-portfolio__code { font-family: var(--font-mono); font-size: 0.9375rem; font-weight: 600; color: var(--color-marker); }

/* Najnowsze analizy – lista w stylu raportu ------------------------------ */
/* Zamiast kart z trzema przyciskami „Czytaj więcej”: wiersze z linią, metryczka
   krojem Mono po lewej, tytuł (odnośnik) i zajawka po prawej. */
.home-news__list { display: grid; gap: 0; border-top: 2px solid var(--clr-text); }
.home-news__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.home-news .home-news-card,
.home-news .home-news-card--featured,
:root[data-theme="dark"] .home-news .home-news-card--featured {
  display: grid;
  grid-template-columns: minmax(10rem, 15rem) minmax(0, 1fr);
  align-items: start;
  gap: 0.5rem 2.5rem;
  padding: 1.75rem 0;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--clr-border-strong);
  border-radius: 0;
  box-shadow: none;
}
.home-news .home-news-card:hover { border-color: var(--clr-border-strong); }
.home-news-card__meta {
  display: grid;
  gap: 0.3rem;
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  color: var(--clr-text-muted);
}
.home-news-card__meta .post-meta { margin: 0; font-size: inherit; color: inherit; line-height: 1.5; }
/* W wąskiej kolumnie data i autor w osobnych liniach – bez kropki-separatora na końcu wiersza. */
.home-news-card__meta .post-meta > span[aria-hidden="true"] { display: none; }
.home-news-card__meta .post-meta > time { display: block; }
.home-news-card__meta .home-news-card__label { font-size: 0.8125rem; font-weight: 600; }
.home-news-card__body > * { margin: 0; }
.home-news .home-news-card__title { margin: 0 0 0.5rem; font-size: clamp(1.25rem, 1rem + 0.8vw, 1.5rem); line-height: 1.3; font-weight: 700; }
.home-news .home-news-card--featured .home-news-card__title { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem); }
.home-news-card__title a { color: var(--clr-text); text-decoration: none; }
.home-news-card__title a:hover { text-decoration: underline; text-decoration-thickness: 0.1em; text-underline-offset: 0.18em; }
.home-news .home-news-card__excerpt { margin: 0; max-width: 62ch; color: var(--clr-text-muted); font-size: 1.0625rem; }
.home-news-card__more { margin-top: 0.6rem !important; font-weight: 700; }
.home-news__footer { margin-top: 1.75rem; }
@media (max-width: 48rem) {
  .home-news .home-news-card,
  .home-news .home-news-card--featured,
  :root[data-theme="dark"] .home-news .home-news-card--featured { grid-template-columns: minmax(0, 1fr); }
}

/* Kontakt – żółty blok --------------------------------------------------- */
.ldf-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem 3.5rem;
  padding: clamp(2rem, 5vw, 4.5rem);
  background: var(--color-marker);
  color: var(--color-ink);
  border-radius: 24px;
}
.ldf-cta__text { flex: 1 1 30rem; min-width: 0; display: grid; gap: 1rem; }
.ldf-cta__text > *,
.ldf-cta__text > .wp-block-group__inner-container > * { margin: 0; }
.ldf-cta__title {
  color: var(--color-ink);
  font-size: clamp(2.125rem, 1.3rem + 3vw, 3.625rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.ldf-cta p { color: var(--color-ink); font-size: 1.1875rem; }
.ldf-cta__actions { flex: 0 1 22rem; flex-direction: column; align-items: stretch; gap: 0.75rem; }
.ldf-cta__actions .wp-block-button { width: 100%; }
.ldf-cta__actions .wp-block-button__link { width: 100%; justify-content: center; min-height: 3.75rem; font-size: 1.125rem; overflow-wrap: anywhere; }
.ldf-cta .ldf-cta__actions .wp-block-button.ldf-button-ink > .wp-block-button__link {
  background: var(--color-ink);
  border: 2px solid var(--color-ink);
  color: var(--color-marker);
}
.ldf-cta .ldf-cta__actions .wp-block-button.ldf-button-ink > .wp-block-button__link:hover { background: #000000; color: #ffffff; }
.ldf-cta .ldf-cta__actions .wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--color-ink);
  color: var(--color-ink);
}
.ldf-cta .ldf-cta__actions .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #ffffff; color: var(--color-ink); }

/* --------------------------------------------------------------------------
   Panel „Widok”: nigdy poza ekranem.
   Na szerokich ekranach panel jest przypięty do przycisku „Widok”. Na węższych
   (telefon, tablet, duży tekst) przycisk nie stoi przy prawej krawędzi, więc
   panel przypinamy do całej szerokości nagłówka z marginesem z obu stron.
   Gdy przy największym tekście nie mieści się w pionie – przewija się w środku.
   ----------------------------------------------------------------------- */
.display-settings__panel {
  max-width: calc(100vw - 2 * var(--page-gutter, 1rem));
  max-height: calc(100vh - 10rem);
  max-height: calc(100dvh - 10rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (max-width: 64rem) {
  .site-header__inner { position: relative; }
  .display-settings { position: static; }
  .display-settings__panel {
    left: var(--page-gutter, 1rem);
    right: var(--page-gutter, 1rem);
    width: auto;
    max-width: 30rem;
    margin-inline-start: auto;
  }
}

/* --------------------------------------------------------------------------
   Węższe ekrany i duży tekst
   ----------------------------------------------------------------------- */
@media (max-width: 48rem) {
  .ldf-standards { grid-template-columns: minmax(0, 1fr); }
  .ldf-paths__list a { display: block; position: relative; padding-right: 3rem; }
  .ldf-paths__list strong { display: block; margin-bottom: 0.35rem; }
  .ldf-paths__list a::after { position: absolute; right: 0.25rem; top: 1.9rem; width: 1.75rem; height: 1.75rem; }
  .ldf-person__media { flex-basis: 8rem; }
  .ldf-person__initials { font-size: 2.5rem; }
  .ldf-hero__actions .wp-block-button,
  .ldf-hero__actions .wp-block-button__link { width: 100%; justify-content: center; }
  .ldf-audit__list li { flex-wrap: wrap; }
  .ldf-portfolio__facts li { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }
}
@media (max-width: 30rem) {
  .ldf-ring { padding-inline: 0.6rem; }
  .ldf-ring__tag { right: 0; }
}

/* --------------------------------------------------------------------------
   Tryb wymuszonych kolorów (Windows)
   ----------------------------------------------------------------------- */
@media (forced-colors: active) {
  .ldf-ring { outline-color: Highlight; }
  .ldf-ring__tag,
  .ldf-pin,
  .ldf-status { border: 1px solid CanvasText; }
  .ldf-paths__list a::after { background: LinkText; }
  .ldf-choice__option:has(input:checked) { border: 3px solid Highlight; }
  .ldf-choice__option:has(input:focus-visible) { outline-color: Highlight; }
  .ldf-cta,
  .ldf-portfolio { border: 2px solid CanvasText; }
}
