.editorial-card{transition:transform .15s;overflow:hidden}.editorial-card:hover{transform:translateY(-2px)}.editorial-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-hero{width:100%;max-height:560px;aspect-ratio:1920/820;object-fit:cover}.article-content{font-size:1.12rem;line-height:1.85;overflow-wrap:anywhere}.article-content p{margin:0 0 1.3em}.article-content h2,.article-content h3,.article-content h4{margin:1.6em 0 .7em;line-height:1.3}.article-content img{max-width:100%;height:auto}.editorial-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.editorial-lead{font-size:1.23rem;line-height:1.65}
/* Dyskretne indeksy górne przypisów naukowych. */
.article-content sup.editorial-ref{
  display:inline;
  position:relative;
  top:-.42em;
  vertical-align:baseline;
  font-size:.67em;
  line-height:0;
  font-weight:500;
  margin-left:.13em;
  white-space:nowrap;
}
.article-content sup.editorial-ref a,
.article-content sup.editorial-ref a:visited{
  color:#64766c;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  border-radius:0;
  text-decoration:none;
  font-weight:inherit;
}
.article-content sup.editorial-ref a:hover,
.article-content sup.editorial-ref a:focus-visible{
  color:#176b48;
  background:transparent;
  text-decoration:underline;
  text-underline-offset:.15em;
}
.article-content sup.editorial-ref a:focus-visible{
  outline:2px solid #86b69b;
  outline-offset:3px;
  border-radius:2px;
}
/* Bibliografia jako odrębna sekcja z czytelnymi pozycjami. */
.article-content .editorial-bibliography{border-top:1px solid #dce7e0;margin-top:3rem;padding-top:1rem;font-size:.88em;line-height:1.6}
.article-content .editorial-bibliography h2,.article-content .editorial-bibliography h3{margin-top:.5rem}
.article-content .editorial-references{padding-left:1.75rem;margin:1rem 0 0}
.article-content .editorial-references li{padding-left:.35rem;margin:0 0 1.05rem;overflow-wrap:anywhere;scroll-margin-top:110px}
.article-content .editorial-references li::marker{font-weight:700;color:#176b48}
.article-content .editorial-references li:target{background:#f0f8f3;border-radius:4px}
.article-content .editorial-references a{overflow-wrap:anywhere}

@media (min-width: 768px) {
  .article-content p {
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    text-wrap: pretty;
  }
}

@media (max-width: 767px) {
  .article-content p {
    text-align: left;
    hyphens: none;
  }
}
/* Lista artykułów: zwarta, równa siatka, bez olbrzymich pustych kart. */
.editorial-card{height:100%;border-radius:9px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.editorial-card:hover{transform:translateY(-2px);box-shadow:0 7px 24px rgba(20,45,31,.10)!important}
.editorial-card .card-body{padding:1.15rem 1.2rem 1.3rem}
.editorial-card h2{font-size:1.22rem;line-height:1.3;margin-bottom:.6rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.editorial-card-excerpt{font-size:.94rem;line-height:1.55;margin-bottom:1.05rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.editorial-card .card-body>a:last-child{font-size:.91rem;text-decoration:none;border-bottom:1px solid currentColor;align-self:flex-start;line-height:1.3}
.editorial-card .card-body>a:last-child:hover{text-decoration:none;border-bottom-width:2px}
.editorial-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
@media(max-width:767.98px){.editorial-card .card-body{padding:1rem}.editorial-card h2{font-size:1.2rem}.editorial-card-excerpt{-webkit-line-clamp:3}}

/* Widok artykułu: jedna wspólna kolumna dla nagłówka, banera, tekstu i galerii. */
.article-shell {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}

/* Subtelny odnośnik powrotu zamiast tekstowego znaku strzałki. */
.article-back-link {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .35rem 0;
  color: #176b48;
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.article-back-link svg {
  display: block;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  transition: transform .16s ease;
}
.article-back-link:hover,
.article-back-link:focus-visible {
  color: #14532d;
}
.article-back-link:hover span {
  text-decoration: underline;
  text-underline-offset: .2em;
}
.article-back-link:hover svg {
  transform: translateX(-2px);
}
.article-back-link:focus-visible {
  outline: 2px solid #86b69b;
  outline-offset: 4px;
  border-radius: 2px;
}

/* Baner zachowuje proporcje wgranych obrazów 1920 x 820. */
.article-shell .article-hero {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 1920 / 820;
  object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
  .article-back-link svg { transition: none; }
}


/* Polecane artykuly: spokojna sekcja redakcyjna w szerokosci artykulu. */
.article-related {
  margin-top: 3.25rem;
  padding-top: 2rem;
  border-top: 1px solid #dce7e0;
}
.article-related-heading-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 1.2rem;
  margin-bottom: 1.25rem;
}
.article-related-heading-row h2 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.35;
}
.article-related-all {
  font-size: .9rem;
  font-weight: 600;
  color: #176b48;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  text-underline-offset: .2em;
}
.article-related-all:hover { color: #14532d; }
.article-related-all:focus-visible { outline: 2px solid #86b69b; outline-offset: 4px; }
.article-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.article-related-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e3ebe5;
  border-radius: 10px;
  background: #fff;
  transition: transform .16s ease, box-shadow .16s ease;
}
.article-related-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(20,45,31,.09);
}
.article-related-card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.article-related-card-link:hover { color: inherit; }
.article-related-card-link:focus-visible { outline: 3px solid #86b69b; outline-offset: -3px; }
.article-related-image {
  display: block;
  width: 100%;
  aspect-ratio: 1920 / 820;
  overflow: hidden;
  background: #e9f1eb;
}
.article-related-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article-related-image-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(125deg, #edf4ee, #dfeae2);
}
.article-related-body { padding: .9rem 1rem 1.1rem; }
.article-related-category {
  display: block;
  margin-bottom: .45rem;
  color: #176b48;
  font-size: .77rem;
  font-weight: 600;
  line-height: 1.35;
}
.article-related-body h3 {
  margin: 0;
  font-size: 1.04rem;
  font-weight: 650;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.article-related-card-link:hover h3 { text-decoration: underline; text-decoration-color: #a5bcae; text-underline-offset: .18em; }
@media (min-width: 580px) and (max-width: 767.98px) {
  .article-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 579.98px) {
  .article-related-grid { grid-template-columns: 1fr; }
  .article-related-body { padding: .85rem 1rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .article-related-card { transition: none; }
}

/* ================================================================
   Nowy szeroki uklad redakcyjny pojedynczego artykulu (2026-10-09)
   Reszta CSS pozostaje bez zmian dla listy artykulow.
   ================================================================ */
.article-page-frame {
  width: min(1280px, calc(100% - 48px));
  margin-inline: auto;
}
.article-page-frame .article-shell {
  width: 100%;
  max-width: none;
  margin-inline: auto;
}
.article-back-nav { margin-bottom: 1.75rem; }
.article-wide-header { margin-bottom: 2.25rem; }
.article-kicker {
  color: #176b48;
  font-size: .9rem;
  font-weight: 650;
  letter-spacing: .01em;
  margin: 0 0 .8rem;
}
.article-kicker span { color: #a2afa6; padding: 0 .35rem; }
.article-wide-header h1 {
  max-width: 1060px;
  font-size: clamp(2rem, 3.6vw, 3rem);
  line-height: 1.14;
  font-weight: 750;
  letter-spacing: -.025em;
  margin: 0 0 1.05rem;
}
.article-byline {
  color: #66756c;
  font-size: .96rem;
  margin: 0 0 1.2rem;
}
.article-byline strong { color: #2d3933; font-weight: 650; }
.article-summary {
  color: #637268;
  /* Lead wyrównany do obu krawędzi banera. */
  width: 100%;
  max-width: none;
  font-size: clamp(1.08rem, 1.75vw, 1.28rem);
  line-height: 1.65;
  margin: 0 0 1.5rem;
}
.article-wide-header .article-hero {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 1920 / 820;
  object-fit: cover;
  border-radius: 12px;
  margin: 0;
}
.article-two-column {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  /* Obie kolumny maja te sama wysokosc - warunek dla sticky. */
  align-items: stretch;
  gap: clamp(28px, 3vw, 44px);
}
/* Panel ma wysokosc calego wiersza siatki, aby sticky moglo
   przemieszczac sie wraz z tekstem i zatrzymac przed polecanymi. */
.article-sidebar {
  min-width: 0;
  align-self: stretch;
}
.article-sidebar-stack {
  position: sticky;
  top: 96px; /* staly pasek nawigacji + odstep */
  max-height: calc(100vh - 116px); /* rezerwa na krotkie okna */
  max-height: calc(100dvh - 116px);
  overflow-x: hidden;
  overflow-y: auto; /* dlugi spis tresci pozostaje dostepny */
  scrollbar-width: thin;
  scrollbar-color: #b9cbbf transparent;
  overscroll-behavior: contain;
  padding: 2px 7px 4px 0;
}
.article-side-card {
  background: #f8faf8;
  border: 1px solid #e3eae4;
  border-radius: 11px;
  padding: 1.12rem 1.13rem 1.2rem;
  margin-bottom: 13px;
}
.article-side-card h2 {
  margin: 0 0 .9rem;
  color: #253b2f;
  font-size: .99rem;
  font-weight: 700;
  line-height: 1.35;
}
.article-toc-links {
  padding: 0;
  margin: 0;
  list-style: none;
}
.article-toc-links li { margin: 0; }
.article-toc-links a {
  display: block;
  padding: .38rem 0;
  font-size: .89rem;
  line-height: 1.42;
  font-weight: 500;
  color: #53655a;
  text-decoration: none;
  overflow-wrap: anywhere;
  border-radius: 3px;
}
.article-toc-links a:hover { color: #176b48; text-decoration: underline; text-underline-offset: .2em; }
.article-toc-links a:focus-visible {
  outline: 2px solid #86b69b;
  outline-offset: 2px;
}
.article-toc-subitem a { padding-left: .85rem; color: #708078; font-size: .85rem; }
.article-sidebar-meta {
  display: flex;
  flex-direction: column;
  gap: .12rem;
  margin: 0 0 .75rem;
  color: #748076;
  font-size: .79rem;
  line-height: 1.55;
}
.article-sidebar-meta strong {
  font-weight: 600;
  font-size: .9rem;
  color: #35473a;
  overflow-wrap: anywhere;
}
.article-sidebar-note {
  border-top: 1px solid #e3eae4;
  padding-top: .85rem;
  margin: .85rem 0 0;
  font-size: .81rem;
  color: #65766a;
  line-height: 1.6;
}
.article-category-card ul { margin: 0; padding: 0; list-style: none; }
.article-category-card li + li { margin-top: .25rem; }
.article-category-card a {
  display: block;
  color: #51685a;
  font-size: .88rem;
  line-height: 1.4;
  text-decoration: none;
  padding: .3rem 0;
  overflow-wrap: anywhere;
}
.article-category-card a:hover { color: #176b48; text-decoration: underline; text-underline-offset: .2em; }
.article-category-card a[aria-current="page"] { color: #176b48; font-weight: 700; }
.article-share-actions {
  display: flex;
  align-items: start;
  gap: .45rem .75rem;
  flex-wrap: wrap;
}
.article-share-actions a,
.article-share-actions button {
  font: inherit;
  font-size: .83rem;
  font-weight: 600;
  line-height: 1.35;
  color: #176b48;
  background: transparent;
  border: 0;
  padding: .15rem 0;
  text-decoration: underline;
  text-decoration-color: #c7d9cc;
  text-underline-offset: .2em;
  cursor: pointer;
}
.article-share-actions a:hover,
.article-share-actions button:hover { color: #14532d; text-decoration-color: currentColor; }
.article-share-actions a:focus-visible,
.article-share-actions button:focus-visible { outline: 2px solid #86b69b; outline-offset: 3px; }
.article-main-column { min-width: 0; }
.article-main-column .article-content {
  font-size: 1.115rem;
  line-height: 1.85;
}
.article-main-column .article-content h2,
.article-main-column .article-content h3,
.article-main-column .article-content h4 {
  scroll-margin-top: 110px;
}
.article-disclaimer {
  margin-top: 3rem;
  padding: 1.1rem 1.2rem;
  color: #5b6e60;
  background: #f8faf8;
  border: 1px solid #e3eae4;
  border-left: 3px solid #9fbcaa;
  border-radius: 0 9px 9px 0;
  font-size: .88rem;
  line-height: 1.7;
}
.article-gallery-section { margin-top: 3rem; }
.article-gallery-section h2 { margin: 0 0 1rem; font-size: 1.55rem; font-weight: 700; }
.article-page-frame .article-related { margin-top: 3.4rem; }
/* Szczegolowy spis tresci na mniejszych ekranach, bez drugiej kolumny. */
.article-toc-mobile { display: none; }
@media (max-width: 1099.98px) {
  .article-two-column { display: block; }
  .article-sidebar { display: none; }
  .article-toc-mobile {
    display: block;
    padding: 0;
    margin: 0 0 1.8rem;
    border: 1px solid #e3eae4;
    border-radius: 10px;
    background: #f8faf8;
  }
  .article-toc-mobile summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: .95rem 1.1rem;
    font-weight: 650;
    color: #253b2f;
    cursor: pointer;
    list-style: none;
  }
  .article-toc-mobile summary::-webkit-details-marker { display: none; }
  .article-toc-mobile-chevron {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
  }
  .article-toc-mobile[open] .article-toc-mobile-chevron { transform: rotate(225deg); }
  .article-toc-mobile nav { padding: 0 1.1rem 1rem; }
  .article-toc-mobile .article-toc-links { columns: 2; column-gap: 1.4rem; }
  .article-toc-mobile .article-toc-links li { break-inside: avoid; }
}
@media (max-width: 767.98px) {
  .article-page-frame { width: calc(100% - 32px); }
  .article-wide-header { margin-bottom: 1.55rem; }
  .article-wide-header h1 { font-size: clamp(1.75rem, 7vw, 2.4rem); line-height: 1.2; }
  .article-summary { font-size: 1.08rem; line-height: 1.55; }
  .article-wide-header .article-hero { border-radius: 9px; }
  .article-main-column .article-content { font-size: 1.04rem; line-height: 1.75; }
  .article-toc-mobile .article-toc-links { columns: 1; }
  .article-page-frame .article-related { margin-top: 2.7rem; }
  .article-disclaimer { margin-top: 2.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .article-toc-mobile-chevron { transition: none; }
}
