/* ======================================================================
   SP Jaczów — jasne podstrony v1.4.1
   Cel: dopasowanie całego frontu do zaakceptowanej lekkiej strony głównej.
   Zakres: podstrony, aktualności, wyszukiwarka, kontakt, deklaracja,
           mapa strony, galerie, sidebar i jadłospis.
   Nie ingeruje w tryby kolorystyczne narzędzi dostępności ani w wydruk.
   ====================================================================== */

@media screen {
    /* Reguły kolorystyczne nie wchodzą w tryby wysokiego kontrastu/inwersji. */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site {
        --spj-sub-ink: #102b4e;
        --spj-sub-text: #20364f;
        --spj-sub-muted: #4f6074;
        --spj-sub-blue: #2458a6;
        --spj-sub-blue-soft: #eef4fb;
        --spj-sub-blue-pale: #f6f9fc;
        --spj-sub-green: #2f6f45;
        --spj-sub-green-soft: #edf7ef;
        --spj-sub-gold: #d6a63b;
        --spj-sub-gold-text: #7a5600;
        --spj-sub-gold-soft: #fff8e7;
        --spj-sub-border: #dce5ef;
        --spj-sub-border-strong: #c8d7e7;
        --spj-sub-surface: #ffffff;
        --spj-sub-shadow: 0 0.45rem 1.35rem rgba(31, 79, 152, 0.07);
        --spj-sub-shadow-hover: 0 0.8rem 1.9rem rgba(31, 79, 152, 0.11);
    }

    /* Breadcrumb ------------------------------------------------------ */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-breadcrumb {
        color: var(--spj-sub-muted);
        background: #ffffff;
        border-bottom: 1px solid var(--spj-sub-border);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-breadcrumb__list {
        font-family: inherit;
        font-size: 0.84rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-breadcrumb a {
        color: var(--spj-sub-blue);
        font-weight: 600;
        text-decoration-thickness: 0.08em;
        text-underline-offset: 0.16em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-breadcrumb__list li[aria-current="page"] {
        color: var(--spj-sub-muted);
        font-weight: 500;
    }

    /* Wspólny shell podstron ------------------------------------------ */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-shell,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-contact-page,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page {
        color: var(--spj-sub-text);
        background: var(--spj-sub-blue-pale);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-shell {
        padding-block: clamp(2rem, 4vw, 3.75rem);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-grid {
        gap: clamp(1.25rem, 2.5vw, 2rem);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-header {
        position: relative;
        margin-bottom: 1.35rem;
        padding: clamp(1.25rem, 2.3vw, 1.8rem);
        overflow: hidden;
        color: var(--spj-sub-text);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 1rem !important;
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-header::before {
        position: absolute;
        inset: 0 auto 0 0;
        width: 0.3rem;
        background: var(--spj-sub-blue);
        content: "";
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-header .sp11-eyebrow {
        color: var(--spj-sub-blue) !important;
        font-family: inherit !important;
        font-weight: 700;
        letter-spacing: 0.04em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-header h1 {
        max-width: 28ch;
        margin-top: 0.35rem;
        color: var(--spj-sub-ink) !important;
        font-family: inherit !important;
        font-weight: 700;
        letter-spacing: -0.025em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-header p {
        color: var(--spj-sub-muted) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-article-card,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-content-card {
        color: var(--spj-sub-text);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 1rem !important;
        box-shadow: var(--spj-sub-shadow);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-article-card {
        overflow: hidden;
    }

    /* Metadane i treść redakcyjna ------------------------------------ */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-meta {
        width: fit-content;
        max-width: 100%;
        margin-bottom: 1.35rem;
        padding: 0.65rem 0.8rem;
        color: var(--spj-sub-muted);
        background: var(--spj-sub-blue-pale);
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.7rem !important;
        font-family: inherit;
        font-weight: 500;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) {
        color: var(--spj-sub-text);
        font-family: inherit !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) h2 {
        margin-top: 2rem;
        color: var(--spj-sub-ink) !important;
        font-family: inherit !important;
        font-weight: 700;
        letter-spacing: -0.02em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) h3,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) h4 {
        color: #173d70 !important;
        font-family: inherit !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) a {
        color: var(--spj-sub-blue);
        font-weight: 600;
        text-decoration-thickness: 0.08em;
        text-underline-offset: 0.16em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) blockquote {
        margin-inline: 0;
        padding: 1rem 1.2rem 1rem 1.35rem;
        color: var(--spj-sub-text);
        background: var(--spj-sub-gold-soft);
        border: 1px solid #eadfbf;
        border-left: 0.28rem solid var(--spj-sub-gold);
        border-radius: 0.8rem !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) table {
        border-color: var(--spj-sub-border-strong);
        background: #ffffff;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) th {
        color: var(--spj-sub-ink) !important;
        background: var(--spj-sub-blue-soft) !important;
        border-color: var(--spj-sub-border-strong) !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) td {
        border-color: var(--spj-sub-border) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.sp11-content, .article-content, .strona-content) img,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-article-media {
        border-radius: 0.85rem !important;
    }

    /* Metryczka ------------------------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .metryczka {
        color: var(--spj-sub-text);
        background: var(--spj-sub-blue-pale);
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.85rem !important;
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .metryczka__heading,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .metryczka__term {
        color: var(--spj-sub-ink);
        font-family: inherit !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .metryczka__row {
        border-color: var(--spj-sub-border);
    }

    /* Sidebar --------------------------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar > .sp11-sidebar-card,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar > .spj-projects-sidebar,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .sp11-sidebar-card,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar {
        overflow: hidden;
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 1rem !important;
        box-shadow: var(--spj-sub-shadow);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .sp11-sidebar-card__head,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar__heading {
        color: var(--spj-sub-ink) !important;
        background: var(--spj-sub-blue-soft) !important;
        border-top: 0;
        border-bottom: 1px solid var(--spj-sub-border);
        font-family: inherit !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar__eyebrow {
        color: var(--spj-sub-blue) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar__group h3 {
        color: var(--spj-sub-green) !important;
        font-family: inherit !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .sp11-sidebar-card a,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar__link {
        color: var(--spj-sub-blue);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.75rem !important;
        font-weight: 600;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .sp11-sidebar-card a:hover,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar__link:hover {
        color: var(--spj-sub-ink);
        background: var(--spj-sub-blue-pale);
        border-color: #abc2dc;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar__logo {
        background: #ffffff;
        border-color: var(--spj-sub-border);
        border-radius: 0.7rem !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-sidebar .spj-projects-sidebar__arrow {
        color: var(--spj-sub-blue);
    }

    /* Lista aktualności + lista stron -------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-index, .spj-page-index) {
        background: var(--spj-sub-blue-pale);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list, .spj-page-list) {
        gap: 0.85rem;
        border-top: 0;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__item, .spj-page-list__item) {
        overflow: hidden;
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-left: 1px solid var(--spj-sub-border);
        border-radius: 0.9rem !important;
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__item, .spj-page-list__item):hover,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__item, .spj-page-list__item):focus-within {
        background: #ffffff;
        border-color: #abc2dc;
        box-shadow: var(--spj-sub-shadow-hover);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-list__media,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-page-list__date {
        color: var(--spj-sub-ink);
        background: var(--spj-sub-blue-soft);
        border-right: 1px solid var(--spj-sub-border);
        border-radius: 0 !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-list__media--date {
        background: var(--spj-sub-blue-soft);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__date-day, .spj-page-list__date-day),
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__title, .spj-page-list__title) {
        color: var(--spj-sub-ink);
        font-family: inherit !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__date-month, .spj-page-list__date-month) {
        color: var(--spj-sub-blue);
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__category, .spj-page-list__category) {
        color: var(--spj-sub-green);
        background: var(--spj-sub-green-soft);
        border-color: #cfe7d6;
        border-radius: 0.55rem !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__published, .spj-news-list__excerpt, .spj-page-list__excerpt) {
        color: var(--spj-sub-muted);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__title a, .spj-page-list__title a) {
        color: var(--spj-sub-ink);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__title a, .spj-page-list__title a):hover {
        color: var(--spj-sub-blue);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__link, .spj-page-list__link) {
        color: var(--spj-sub-blue);
        border-bottom-color: #9ebde2;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.spj-news-list__link, .spj-page-list__link):hover {
        color: var(--spj-sub-ink);
    }

    /* Filtry i paginacja --------------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-filter {
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.85rem !important;
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-filter input[type="search"] {
        color: var(--spj-sub-text);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border-strong);
        border-radius: 0.65rem !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-btn--primary {
        color: #ffffff;
        background: var(--spj-sub-blue);
        border-color: var(--spj-sub-blue);
        border-radius: 0.65rem !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-btn--primary:hover {
        color: #ffffff;
        background: #173f7b;
        border-color: #173f7b;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-pagination a,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-pagination span {
        color: var(--spj-sub-blue);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.6rem !important;
        font-family: inherit;
        font-weight: 600;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-pagination [aria-current="page"] {
        color: #ffffff;
        background: var(--spj-sub-blue);
        border-color: var(--spj-sub-blue);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-pagination [aria-disabled="true"] {
        color: #718096;
        background: #f3f6f9;
    }

    /* Search ---------------------------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page {
        padding-block: clamp(2rem, 4vw, 3.75rem);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-header {
        padding: clamp(1.3rem, 3vw, 2rem);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 1rem;
        box-shadow: var(--spj-sub-shadow);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .page-title {
        color: var(--spj-sub-ink);
        font-family: inherit;
        font-weight: 700;
        letter-spacing: -0.025em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-query-highlight {
        color: var(--spj-sub-blue);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-label {
        color: var(--spj-sub-ink);
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-input {
        color: var(--spj-sub-text);
        background: #ffffff;
        border-color: var(--spj-sub-border-strong);
        border-radius: 0.7rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-input-icon,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-clear {
        color: var(--spj-sub-blue);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-btn {
        color: #ffffff;
        background: var(--spj-sub-blue);
        border-color: var(--spj-sub-blue);
        border-radius: 0.7rem;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-btn:hover {
        background: #173f7b;
        border-color: #173f7b;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page :is(.search-hint, .search-summary) {
        color: var(--spj-sub-muted);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-summary {
        margin-block: 1.25rem;
        padding: 0.8rem 1rem;
        background: var(--spj-sub-blue-soft);
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.7rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-filter-btn {
        color: var(--spj-sub-blue);
        background: #ffffff;
        border-color: var(--spj-sub-border-strong);
        border-radius: 999px;
        font-weight: 600;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-filter-btn--active {
        color: #ffffff;
        background: var(--spj-sub-blue);
        border-color: var(--spj-sub-blue);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .news-list {
        gap: 0.85rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .news-item {
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.9rem;
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .news-item:hover {
        border-color: #abc2dc;
        box-shadow: var(--spj-sub-shadow-hover);
        transform: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .news-item-thumb--icon {
        background: var(--spj-sub-blue-soft);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-kind-badge {
        color: var(--spj-sub-blue);
        background: var(--spj-sub-blue-soft);
        border-color: var(--spj-sub-border);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-kind-badge--news {
        color: var(--spj-sub-green);
        background: var(--spj-sub-green-soft);
        border-color: #cfe7d6;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page :is(.search-result-excerpt, .news-meta) {
        color: var(--spj-sub-muted);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .btn-read {
        color: var(--spj-sub-blue);
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-no-results,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-tips {
        color: var(--spj-sub-text);
        background: #ffffff;
        border-color: var(--spj-sub-border);
        border-radius: 0.9rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-error {
        color: #8b2331;
        background: #fff1f2;
        border-color: #f0c9cf;
    }

    /* Kontakt --------------------------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-contact-page .wrap__contact-form {
        padding-block: clamp(2rem, 4vw, 3.75rem);
        background: transparent;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-contact-page .wrap__contact-form > .container {
        width: min(calc(100% - 2rem), 76rem);
        max-width: 76rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-contact-page h1 {
        margin-bottom: 1.2rem;
        color: var(--spj-sub-ink);
        font-family: inherit;
        font-weight: 700;
        letter-spacing: -0.025em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-contact-page .content-box {
        color: var(--spj-sub-text);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 1rem;
        box-shadow: var(--spj-sub-shadow);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-contact-page .content-box :is(h2, h3, h4) {
        color: var(--spj-sub-ink);
        font-family: inherit;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-contact-page .content-box a {
        color: var(--spj-sub-blue);
        font-weight: 600;
    }

    /* Deklaracja dostępności ----------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page {
        padding-block: clamp(2rem, 4vw, 3.75rem);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page > .container {
        width: min(calc(100% - 2rem), 76rem);
        max-width: 76rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page .wrap__about-us {
        padding: clamp(1.3rem, 3vw, 2rem);
        color: var(--spj-sub-text);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 1rem;
        box-shadow: var(--spj-sub-shadow);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page .wrap__about-us > h1 {
        color: var(--spj-sub-ink);
        font-family: inherit;
        font-weight: 700;
        letter-spacing: -0.025em;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page .wrap__about-us > section:not(.etr-switcher__panel) {
        padding-block: 1rem;
        border-top: 1px solid var(--spj-sub-border);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page :is(h2, h3, h4) {
        color: var(--spj-sub-ink);
        font-family: inherit;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page a {
        color: var(--spj-sub-blue);
        font-weight: 600;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page .etr-switcher__panel--easy {
        margin-block: 1.25rem 1.5rem;
        color: var(--spj-sub-text);
        background: var(--spj-sub-green-soft);
        border: 1px solid #cfe7d6;
        border-radius: 0.9rem;
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page .etr-intro {
        color: var(--spj-sub-text);
        background: #ffffff;
        border-color: #cfe7d6;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page kbd {
        color: var(--spj-sub-ink);
        background: var(--spj-sub-blue-soft);
        border: 1px solid var(--spj-sub-border-strong);
        box-shadow: none;
    }

    /* News podkategoria (legacy Bootstrap) --------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page {
        padding-block: clamp(1rem, 3vw, 2rem);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page h1 {
        color: var(--spj-sub-ink);
        font-family: inherit;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page .card {
        overflow: hidden;
        color: var(--spj-sub-text);
        background: #ffffff;
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.9rem;
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page .card-title a {
        color: var(--spj-sub-ink);
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page .text-muted {
        color: var(--spj-sub-muted) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page .btn-primary {
        color: #ffffff;
        background: var(--spj-sub-blue);
        border-color: var(--spj-sub-blue);
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-news-subcategory-page .btn-outline-secondary {
        color: var(--spj-sub-blue);
        background: #ffffff;
        border-color: var(--spj-sub-border-strong);
        font-weight: 600;
    }

    /* Mapa strony ----------------------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-content-card[aria-label="Mapa strony"] {
        background: #ffffff;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-content-card[aria-label="Mapa strony"] h2 {
        padding-bottom: 0.45rem;
        color: var(--spj-sub-ink) !important;
        border-bottom: 1px solid var(--spj-sub-border);
    }

    /* Galeria --------------------------------------------------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .news-gallery-section {
        border-top-color: var(--spj-sub-border) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .gallery-section-heading {
        color: var(--spj-sub-ink) !important;
        font-family: inherit;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .gallery-section-heading i {
        color: var(--spj-sub-blue) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .gallery-count-badge {
        color: #ffffff !important;
        background: var(--spj-sub-blue) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .news-gallery-grid .gallery-thumb {
        background: var(--spj-sub-blue-soft) !important;
        border: 1px solid var(--spj-sub-border);
        border-radius: 0.8rem !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .news-gallery-grid .gallery-thumb::before {
        background: rgba(16, 43, 78, 0.72) !important;
        mix-blend-mode: normal !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .news-gallery-grid .gallery-thumb:focus-visible {
        outline-color: var(--sp11-focus) !important;
    }

    /* Jadłospis — tylko ekran; wydruk zostaje bez zmian -------------- */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-page-wrap {
        --menu-primary: #2458a6;
        --menu-primary-dark: #102b4e;
        --menu-accent: #2f6f45;
        --menu-accent-dark: #285f3c;
        --menu-gold: #d6a63b;
        --menu-gold-soft: #fff8e7;
        --menu-ink: #20364f;
        --menu-muted: #4f6074;
        --menu-line: #dce5ef;
        --menu-line-strong: #c8d7e7;
        --menu-surface: #ffffff;
        --menu-soft: #f6f9fc;
        --menu-parchment: #eef4fb;
        --menu-primary-soft: #eef4fb;
        --menu-accent-soft: #edf7ef;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-page-wrap {
        background: transparent;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-page-header,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-week,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-day,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-notes,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-empty,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-archive {
        color: var(--spj-sub-text);
        background: #ffffff;
        border-color: var(--spj-sub-border);
        border-radius: 1rem !important;
        box-shadow: var(--spj-sub-shadow);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-page-header::before {
        background: linear-gradient(90deg, #9ebde2 0 45%, #b9ddc2 45% 72%, #efd58a 72% 100%) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.menu-page-header h1, .menu-week-header h2, .menu-day h3, .menu-notes h2, .menu-notes h3, .menu-archive h2, .menu-empty h2, .menu-day-note h4) {
        color: var(--spj-sub-ink) !important;
        font-family: inherit !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.menu-eyebrow, .menu-status) {
        color: var(--spj-sub-blue) !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-print-button {
        color: #ffffff;
        background: var(--spj-sub-blue);
        border-color: var(--spj-sub-blue);
        border-radius: 0.65rem !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-week-header {
        color: var(--spj-sub-text);
        background: var(--spj-sub-blue-soft) !important;
        border-bottom: 1px solid var(--spj-sub-border);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-week-header::after {
        background: var(--spj-sub-blue) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-week-header :is(.menu-status, .menu-date-range) {
        color: var(--spj-sub-muted) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-day {
        box-shadow: none;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-day h3 {
        background: #f7f9fc !important;
        border-bottom-color: var(--spj-sub-border);
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-day h3::before {
        background: var(--spj-sub-green) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-meal-row,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-meal-row dt,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-meal-row dd {
        border-color: var(--spj-sub-border) !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-meal-row dt {
        color: var(--spj-sub-ink);
        background: var(--spj-sub-blue-pale);
        border-radius: 0 !important;
        font-weight: 700;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-day-note,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-notes {
        color: var(--spj-sub-text);
        background: var(--spj-sub-gold-soft);
        border-color: #eadfbf;
        border-radius: 0.8rem !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-archive a {
        color: var(--spj-sub-blue);
        background: #ffffff;
        border-color: var(--spj-sub-border);
        border-radius: 0.65rem !important;
        font-weight: 600;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .menu-archive a:hover {
        color: var(--spj-sub-ink);
        background: var(--spj-sub-blue-pale);
        border-color: #abc2dc;
    }

    /* Bootstrap/Laravel pagination na podkategoriach i wyszukiwarce. */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.pagination .page-link, .pagination-btn) {
        color: var(--spj-sub-blue);
        background: #ffffff;
        border-color: var(--spj-sub-border);
        font-weight: 600;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(.pagination .active .page-link, .pagination-btn--active) {
        color: #ffffff;
        background: var(--spj-sub-blue);
        border-color: var(--spj-sub-blue);
    }

    /* Przejścia wyłącznie kosmetyczne. */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site :is(
        .spj-news-list__item,
        .spj-page-list__item,
        .sp11-sidebar a,
        .news-item,
        .menu-archive a
    ) {
        transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
    }
}


/* ======================================================================
   CKEditor — listy redakcyjne v1.4.1
   - czytelne wcięcie list względem zwykłych akapitów,
   - każdy poziom zagnieżdżenia jest dodatkowo odsunięty,
   - długie treści zawijają się w obrębie elementu listy,
   - scope ograniczony do treści redakcyjnych, bez menu i sidebarów.
   ====================================================================== */
@media screen {
    /* Strony i aktualności korzystają z własnych znaczników CSS.
       Nie przywracamy natywnych markerów — korygujemy tylko geometrię. */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    :is(.strona-content--standard, .article-content--standard) > :is(ul, ol) {
        max-width: 100%;
        margin-inline-start: 0;
        padding-inline-start: 0.7rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    :is(.strona-content--standard, .article-content--standard) li > :is(ul, ol) {
        margin-block: 0.65rem 0.3rem;
        padding-inline-start: 1.2rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    :is(.strona-content--standard, .article-content--standard) li {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    /* Treści CKEditora używane m.in. na stronie Kontakt.
       Tu pozostają natywne znaczniki list, więc potrzebują klasycznego
       padding-inline-start, aby punktor / numer nie wychodził poza kartę. */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box :is(ul, ol):not(.list-unstyled):not(.list-inline) {
        margin: 0.8rem 0 1.1rem;
        padding-inline-start: 1.8rem;
        list-style-position: outside;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box li > :is(ul, ol):not(.list-unstyled):not(.list-inline) {
        margin-block: 0.45rem 0.2rem;
        padding-inline-start: 1.45rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box :is(ul, ol):not(.list-unstyled):not(.list-inline) > li {
        padding-inline-start: 0.15rem;
        line-height: 1.68;
        overflow-wrap: anywhere;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box :is(ul, ol):not(.list-unstyled):not(.list-inline) > li + li {
        margin-top: 0.4rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box ul:not(.list-unstyled):not(.list-inline) {
        list-style-type: disc;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box ul:not(.list-unstyled):not(.list-inline) ul {
        list-style-type: circle;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box ul:not(.list-unstyled):not(.list-inline) ul ul {
        list-style-type: square;
    }

    /* ETR może zawierać listy utworzone w tym samym edytorze.
       Zachowujemy jego istniejący wygląd i zwiększamy jedynie hierarchię
       list zagnieżdżonych. */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .etr-content li > :is(ul, ol) {
        width: 100%;
        margin-block: 0.45rem 0.15rem;
        padding-inline-start: 1.45rem;
    }
}

@media screen and (max-width: 48rem) {

    /* CKEditor — na wąskim ekranie zachowujemy hierarchię bez utraty miejsca. */
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    :is(.strona-content--standard, .article-content--standard) > :is(ul, ol) {
        padding-inline-start: 0.35rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    :is(.strona-content--standard, .article-content--standard) li > :is(ul, ol) {
        padding-inline-start: 0.8rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box :is(ul, ol):not(.list-unstyled):not(.list-inline) {
        padding-inline-start: 1.45rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .content-box li > :is(ul, ol):not(.list-unstyled):not(.list-inline),
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site
    .etr-content li > :is(ul, ol) {
        padding-inline-start: 1.15rem;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .sp11-page-header,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-header,
    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-accessibility-page .wrap__about-us {
        border-radius: 0.85rem !important;
    }

    html:not(.a11y-high-contrast):not(.a11y-inverted):not(.a11y-yellow) body.sp11-site .spj-search-page .search-input-row {
        gap: 0.65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sp11-site :is(
        .spj-news-list__item,
        .spj-page-list__item,
        .sp11-sidebar a,
        .news-item,
        .menu-archive a
    ) {
        transition: none !important;
    }
}

@media (forced-colors: active) {
    body.sp11-site :is(
        .sp11-page-header,
        .sp11-article-card,
        .sp11-content-card,
        .sp11-sidebar-card,
        .spj-projects-sidebar,
        .spj-news-list__item,
        .spj-page-list__item,
        .search-header,
        .news-item,
        .content-box,
        .wrap__about-us,
        .menu-page-header,
        .menu-week,
        .menu-day,
        .menu-notes,
        .menu-archive
    ) {
        color: CanvasText !important;
        background: Canvas !important;
        border-color: CanvasText !important;
        box-shadow: none !important;
    }

    body.sp11-site .sp11-page-header::before,
    body.sp11-site .menu-page-header::before,
    body.sp11-site .menu-week-header::after,
    body.sp11-site .menu-day h3::before {
        background: CanvasText !important;
    }
}
