/* Archiwum edycji 2025 – dodatki: baner archiwum, sekcja liczb, strona statystyk */
:root {
    --archive-navy: #002147;
    --archive-accent: #FFD700;
    --bar-fill: #1863DC;
    --bar-track: #DCE6F7;
}
.skip-link {
    position: absolute; left: -9999px; top: 0; z-index: 2000;
    background: #fff; color: #002147; padding: .75rem 1rem; font-weight: 700;
}
.skip-link:focus { left: 1rem; top: 1rem; outline: 3px solid #FFD700; }
.archive-banner {
    background: var(--archive-navy); color: #fff; text-align: center;
    padding: .75rem 1rem; font-size: 1rem; line-height: 1.5;
}
.archive-banner p { margin: 0; }
.archive-banner strong { color: var(--archive-accent); }
.archive-banner a {
    color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px;
    margin-left: .5rem; white-space: nowrap;
}
.archive-banner a:hover, .archive-banner a:focus { color: var(--archive-accent); }
a:focus-visible, button:focus-visible { outline: 3px solid #FFD700; outline-offset: 2px; box-shadow: 0 0 0 5px #002147; }
/* menu: bez zawijania etykiet */
@media (min-width: 769px) { .nav-menu { gap: 1.5rem; } .nav-menu a { white-space: nowrap; } }
@media (min-width: 769px) and (max-width: 1100px) { .nav-menu { gap: .9rem; font-size: .92rem; } .logo-text { display: none; } .logo img { height: 44px !important; } }
.logo { flex-shrink: 0; }
@media (min-width: 769px) and (max-width: 920px) { .header-content { padding-left: 1rem; padding-right: 1rem; } .nav-menu { gap: .6rem; font-size: .84rem; } .logo img { height: 36px !important; } }
.nav-menu a[aria-current="page"] { color: #0f4fb8; text-decoration: underline; text-underline-offset: 4px; }
/* kontrast nagłówków w stopce (granat tła) */
.footer .footer-section h3 { color: #8FB8FF; }
.footer a { color: #fff; }
/* Sekcja "Edycja 2025 w liczbach" na stronie głównej i kafelki */
.kpi-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 1rem; margin: 0 0 1.5rem; padding: 0;
}
.kpi {
    background: #fff; border-radius: 12px; padding: 1.25rem 1rem; text-align: center;
    border-top: 5px solid var(--color-primary); box-shadow: 0 2px 8px rgba(0,0,0,.08);
    display: flex; flex-direction: column-reverse; justify-content: flex-end;
}
.kpi dt { font-weight: 500; color: #3d4250; font-size: .98rem; line-height: 1.35; }
.kpi dd { margin: 0 0 .35rem; font-size: 2.25rem; font-weight: 800; color: #0f4fb8; line-height: 1.1; }
.archive-cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.archive-btn {
    display: inline-block; padding: .85rem 2rem; border-radius: 50px; font-weight: 600;
    text-decoration: none; font-size: 1.05rem; border: 2px solid var(--color-primary);
}
.archive-btn.primary { background: var(--color-primary); color: #fff; }
.archive-btn.primary:hover { background: #0f4fb8; color: #fff; }
.archive-btn.secondary { background: #fff; color: #0f4fb8; }
.archive-btn.secondary:hover { background: #eef3fc; color: #0f4fb8; }
#materialy .archive-materials-note a { color: #fff; font-weight: 700; text-decoration: underline; }
/* Strona statystyk */
.stats-wrap { max-width: 1000px; margin: 0 auto; }
.stats-section { padding: 2.5rem 1.5rem; }
.stats-section:nth-of-type(even) { background: var(--color-gray-light); }
.stats-section h2 { color: #0f4fb8; font-size: 1.75rem; margin-bottom: 1rem; }
.stats-section h3 { color: #212121; font-size: 1.3rem; margin: 2rem 0 .5rem; }
.stats-section .lead { font-size: 1.08rem; color: #212121; }
.note {
    background: #fff; border-left: 5px solid var(--color-primary); padding: 1rem 1.25rem;
    border-radius: 6px; margin: 1rem 0 1.5rem; color: #212121; box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.note p:last-child { margin-bottom: 0; }
.chart-table {
    width: 100%; border-collapse: collapse; background: #fff; margin: 0 0 1.75rem;
    box-shadow: 0 1px 4px rgba(0,0,0,.06); border-radius: 8px; overflow: hidden;
}
.chart-table caption {
    caption-side: top; text-align: left; color: #212121; font-weight: 700;
    font-size: 1.02rem; padding: .25rem 0 .6rem; line-height: 1.45;
}
.chart-table caption .meta { display: block; font-weight: 400; color: #4a4f5c; font-size: .92rem; }
.chart-table th, .chart-table td { padding: .55rem .75rem; border-bottom: 1px solid #e3e6ec; vertical-align: middle; }
.chart-table thead th { background: #0f4fb8; color: #fff; font-weight: 600; text-align: left; font-size: .95rem; }
.chart-table tbody th { font-weight: 500; text-align: left; color: #212121; width: 45%; }
.chart-table td.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; width: 4.5rem; }
.chart-table td.barcell { width: 40%; min-width: 120px; }
.chart-table tfoot th, .chart-table tfoot td { font-weight: 700; background: #f4f6fa; }
.bar {
    display: block; height: 1.1rem; background: var(--bar-track); border-radius: 4px; overflow: hidden;
}
.bar > span { display: block; height: 100%; background: var(--bar-fill); border-radius: 4px 0 0 4px; min-width: 2px; }
.bar.split > span.b { background: #8a5a00; }
.legend { display: flex; gap: 1.25rem; flex-wrap: wrap; font-size: .95rem; margin: -.75rem 0 1.5rem; color: #212121; }
.legend i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; margin-right: .35rem; }
.mean { font-weight: 600; color: #212121; margin: -1rem 0 1.75rem; }
.stats-toc { columns: 2 260px; padding-left: 1.2rem; }
.stats-toc a { color: #0f4fb8; }
.stats-hero-sub { font-size: 1.1rem; opacity: 1; max-width: 820px; margin: 0 auto; }
@media (max-width: 640px) {
    .chart-table tbody th { width: auto; }
    .chart-table td.barcell { min-width: 70px; width: 30%; }
    .chart-table th, .chart-table td { padding: .5rem .45rem; font-size: .92rem; }
    .kpi dd { font-size: 1.9rem; }
    .archive-banner a { display: inline-block; margin: .25rem 0 0; }
}
@media print {
    .archive-banner, .header, .skip-link { display: none; }
    .bar > span { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
