/* Structural and accessibility rules shared by every theme. */
.site-skip-link { position: fixed; top: -100px; left: 1rem; z-index: 100; padding: .75rem 1rem; background: white; color: #174b3e; border: 2px solid currentColor; }
.site-skip-link:focus { top: 1rem; }
[id^="loty-"], #komunikaty { scroll-margin-top: 1.5rem; }
#site-content:focus { outline: none; }
.home-heading small { white-space: nowrap; }
.site-nav .navbar-burger { cursor: pointer; border: 0; background: transparent; color: inherit; }
.site-icon { display: inline-block; width: 1.15em; height: 1.15em; flex: 0 0 auto; vertical-align: -.18em; }
.site-nav .navbar-item { display: flex; align-items: center; gap: .45rem; }
.button .site-icon { width: 1.1rem; height: 1.1rem; }
.archive-content { min-width: 0; }
.archive-filters { display: grid; grid-template-columns: 1fr 1fr 1.5fr auto; align-items: end; gap: 1rem; padding: 1.25rem; border: 1px solid #dce1d8; border-radius: 8px; background: #fff; }
.archive-filters label { display: flex; flex-direction: column; gap: .4rem; min-width: 0; font-size: .85rem; font-weight: 600; }
.archive-filters :is(input,select) { width: 100%; min-width: 0; min-height: 44px; padding: .6rem .75rem; border: 1px solid #b8c3b0; border-radius: 5px; background: #fff; color: #233d34; font: inherit; }
.archive-filter-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.archive-status { margin: 1rem 0 1.5rem; color: #526459; font-size: .85rem; }
.archive-content [hidden] { display: none !important; }
.news-priority-badge { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .65rem; margin-bottom: .9rem; color: #78571d; font-size: .75rem; line-height: 1.5; }
.news-priority-badge strong { background: #f3e4bd; padding: .25rem .6rem; border-radius: 4px; color: #614716; }
.news-priority-badge span { font-size: .72rem; }
.message:has(.news-priority-badge), .news-list-item:has(.news-priority-badge), .editorial-article:has(.news-priority-badge) { border-left: 4px solid #a47d38; }
@media (max-width: 1023px) { .archive-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .archive-filters { grid-template-columns: 1fr; padding: 1rem; } .archive-filter-actions .button { flex: 1; } }

/* Wide result lists scroll locally; short labels keep season totals within reach. */
.flight-results-page .results-table-wrap { max-width: 100%; }
.flight-results-page .results-table.has-grouped-head .results-count {
    min-width: 2rem; width: 1%; padding-inline: .35rem; text-align: center !important;
}
.flight-results-page .results-table.has-grouped-head .results-count.results-total { min-width: 3.5rem; }
.flight-results-page .results-table thead.results-grouped-head th { padding-block: .5rem; }
.flight-results-page .results-table thead .results-column-group { text-align: center; border-bottom: 1px solid #ffffff40; }
.flight-results-page .results-table .results-points-total { font-weight: 800; border-left: 2px solid #a4b9a0; white-space: nowrap; }
.flight-results-page .results-table tbody .results-points-total { background: #edf3e8; }
.results-scroll-tools { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; margin: .8rem 0 .4rem; }
.results-scroll-tools[hidden] { display: none; }
.results-scroll-tools span { margin-right: auto; color: #526459; font-size: .78rem; }
.results-scroll-tools button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #bccbbc; border-radius: 5px; background: #fff; color: #234e42; font: 1.3rem/1 sans-serif; cursor: pointer; }
.results-scroll-tools button:is(:hover, :focus-visible):not(:disabled) { background: #e6eddf; }
.results-scroll-tools button:disabled { opacity: .4; cursor: default; }
.results-scroll-tools button:focus-visible { outline: 3px solid #a47d38; outline-offset: 2px; }
.flight-results-page .results-scroll-tools + .results-table-wrap { margin-top: 0; }
.flight-results-page .results-table-wrap:focus-visible { outline: 3px solid #a47d38; outline-offset: 2px; }
.flight-results-page .results-table.breeder-summary { min-width: 560px; }
.flight-results-page .breeder-name { overflow-wrap: anywhere; font-size: clamp(1.7rem, 4vw, 2.5rem); }
.results-summary-help { color: #657067; font-size: .85rem; margin-bottom: .75rem; }
.breeder-flight, #podsumowanie { scroll-margin-top: 1.5rem; }
.breeder-flight-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: .5rem 0 1rem; font-size: .85rem; }
.breeder-flight-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
.flight-results-page .results-control :is(input, select) { min-height: 44px; }
.flight-results-page .results-highlight { flex-shrink: 0; }
.results-breeder-cell { display: flex; align-items: center; gap: .4rem; }
.results-breeder-name { flex: 1; min-width: 0; }
.flight-results-page .results-breeder-cell .results-highlight { margin: 0; }
.flight-results-page .results-breeder-name a { display: block; padding-block: .25rem; }
.flight-results-page .results-table .results-name a { overflow-wrap: anywhere; }
.flight-results-page .results-table .results-name { white-space: normal; }
@media (max-width: 768px) {
    .flight-results-page .results-highlight { width: 44px; height: 44px; }
    .flight-results-page .results-table tbody td.results-name { min-width: 11rem; }
    .flight-results-page .title { overflow-wrap: anywhere; }
}

/* CMS content needs its own readable layout, independently of the active theme. */
.editorial-article { min-width: 0; }
.editorial-body { font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.editorial-body p { margin: 0 0 1.1rem; }
.editorial-body .editorial-initial::before { content: ''; display: block; margin-top: 1.1rem; }
.editorial-body .editorial-initial p { display: inline; margin: 0; }
.editorial-body :is(h1,h2,h3,h4) { line-height: 1.35; margin: 1.75rem 0 .8rem; font-weight: 650; }
.editorial-body :is(h1,h2) { font-size: 1.6rem; }
.editorial-body h3 { font-size: 1.25rem; }
.editorial-body :is(ul,ol) { margin: .8rem 0 1.4rem; padding-left: 1.5rem; }
.editorial-body ul { list-style: disc; }
.editorial-body ol { list-style: decimal; }
.editorial-body li + li { margin-top: .4rem; }
.editorial-body img { display: block; max-width: 100% !important; height: auto !important; margin: 1.5rem auto; }
.editorial-body .editorial-mail-icon { width: 48px; margin: .6rem 0; }
.editorial-body :is(iframe,video,embed,object) { max-width: 100%; }
.editorial-body font { font-family: inherit; font-size: inherit; line-height: inherit; }
.editorial-body p[align="JUSTIFY" i] { text-align: left; }
.editorial-body dir { margin: 0; padding: 0; }
.editorial-body > dir { margin: 1rem 0 1.5rem; padding-left: 1.25rem; border-left: 2px solid #dce1d8; }
.editorial-body dir p { margin-bottom: .4rem; }
.editorial-body pre { max-width: 100%; overflow: auto; white-space: pre-wrap; }
.editorial-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; margin: 1.5rem 0 2rem; }
.editorial-table-wrap:focus-visible { outline: 3px solid #a47d38; outline-offset: 4px; }
.editorial-body table { width: 100% !important; border-collapse: collapse; font-size: .9rem; line-height: 1.5; }
.editorial-body table :is(td,th) { padding: .85rem 1rem; border-bottom: 1px solid #dce1d8; text-align: left; vertical-align: top; }
.editorial-body table caption { padding: 1rem; text-align: left; font-weight: 600; font-size: 1.1rem; }
.editorial-body .loty { padding: 1.5rem; opacity: 1; }
.editorial-body .loty .main { font-weight: 700; }
.editorial-body .loty .hours { margin-bottom: 0; }
.editorial-body .loty .hours a { display: inline-block; margin-left: .6rem; }
.editorial-body .loty .results { margin: 1rem 0 0; }
.editorial-body .loty .results:empty { display: none; }
.editorial-title { font-size: 2rem; line-height: 1.2; font-weight: 650; margin: 0 0 1rem; overflow-wrap: anywhere; }
.editorial-date { font-size: .8rem; margin: .7rem 0; }
.editorial-article-header { margin-bottom: 1.5rem; }
.editorial-back-link { display: inline-flex; min-height: 44px; align-items: center; }
.editorial-article-footer { margin-top: 2rem; }
.editorial-back { margin-top: 1.5rem; }
.news-list-item { padding: 1.5rem; margin-bottom: 1.25rem; border: 1px solid #dce1d8; border-radius: 7px; }
.news-list-title { font-size: 1.4rem; font-weight: 600; margin-bottom: .7rem; }
.news-list-excerpt { line-height: 1.8; }
.news-list-more { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; margin-top: .7rem; }
.editorial-pagination { display: flex; justify-content: center; gap: .5rem; flex-wrap: wrap; margin: 2rem 0 0; }
.editorial-pagination :is(a,span) { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: .3rem; border: 1px solid #dce1d8; border-radius: 5px; }
.editorial-pagination [aria-current="page"] { font-weight: 700; background: #edf1e9; }
.editorial-pagination p { width: 100%; text-align: center; font-size: .8rem; }
@media (max-width: 768px) {
    .editorial-page .columns { margin: 0; }
    .editorial-page .columns > .column { padding: 0; min-width: 0; }
    .editorial-body table.editorial-table-wide { min-width: 640px; }
    .editorial-table-wrap:has(> .editorial-table-wide)::before {
        content: 'Przesuń tabelę w bok ↔';
        display: block;
        position: sticky;
        left: 0;
        padding: .55rem .75rem;
        background: #edf1e9;
        color: #526c53;
        font-size: .72rem;
    }
    .editorial-body img { float: none !important; }
    .editorial-title { font-size: 1.7rem; }
    .editorial-body .loty { padding: 1rem; }
}
