/**
 * Wspólny layout modułów liturgicznych (Czytania, Brewiarz).
 * Selektory #czytania.* — zachowane dla regresji wizualnej Czytań.
 * Selektory #brewiarz .lit-* — widok Brewiarza (etap 2+).
 */

body:has(#czytania) main.app-body,
body:has(#czytania) .app-content .content-wrapper,
body:has(#brewiarz) main.app-body,
body:has(#brewiarz) .app-content .content-wrapper,
body:has(#rozwazania) main.app-body,
body:has(#rozwazania) .app-content .content-wrapper {
    overflow: visible;
}

body:has(#czytania) .app-content .content-wrapper,
body:has(#brewiarz) .app-content .content-wrapper,
body:has(#rozwazania) .app-content .content-wrapper {
    padding-top: 0.75rem;
}

body:has(#brewiarz) .app-content .content-wrapper .col-12,
body:has(#brewiarz) #brewiarz,
body:has(#rozwazania) .app-content .content-wrapper .col-12,
body:has(#rozwazania) #rozwazania {
    min-width: 0;
    max-width: 100%;
}

:is(#czytania, #brewiarz, #rozwazania) {
    --lit-max-width: 72rem;
    --lit-toc-width: 19rem;
    --lit-top-gap: 1.5rem;
    --lit-header-offset: 4rem;
    --lit-section-gap: 2.5rem;
    --lit-reading-size: 1.125rem;
    --lit-reading-leading: 1.82;
    --lit-sekcja-akcent: var(--bs-emphasis-color);
    --czytania-obchod-wspomnienie-tekst: color-mix(in srgb, var(--bs-success-text-emphasis) 58%, var(--bs-success));
    --czytania-obchod-uroczystosc-tekst: color-mix(in srgb, var(--bs-danger-text-emphasis) 72%, var(--bs-danger));
    --czytania-obchod-swieto-tekst: var(--bs-warning-text-emphasis);
    --czytania-obchod-niedziela-tekst: var(--bs-primary);
    --czytania-obchod-powszedni-tekst: #2e7d32;
    --czytania-obchod-wspomnienie-akcent: var(--bs-success);
    --czytania-obchod-uroczystosc-akcent: var(--bs-danger);
    --czytania-obchod-swieto-akcent: var(--bs-warning);
    --czytania-obchod-niedziela-akcent: var(--bs-primary);
    --czytania-obchod-powszedni-akcent: #2e7d32;
    --czytania-obchod-wspomnienie-tlo: color-mix(in srgb, var(--czytania-obchod-wspomnienie-akcent) 7%, var(--bs-body-bg));
    --czytania-obchod-uroczystosc-tlo: color-mix(in srgb, var(--czytania-obchod-uroczystosc-akcent) 7%, var(--bs-body-bg));
    --czytania-obchod-swieto-tlo: color-mix(in srgb, var(--czytania-obchod-swieto-akcent) 7%, var(--bs-body-bg));
    --czytania-obchod-niedziela-tlo: color-mix(in srgb, var(--czytania-obchod-niedziela-akcent) 7%, var(--bs-body-bg));
    --czytania-obchod-powszedni-tlo: color-mix(in srgb, var(--czytania-obchod-powszedni-akcent) 6%, var(--bs-body-bg));
    --czytania-obchod-wspomnienie-obramowanie: color-mix(in srgb, var(--czytania-obchod-wspomnienie-akcent) 20%, transparent);
    --czytania-obchod-uroczystosc-obramowanie: color-mix(in srgb, var(--czytania-obchod-uroczystosc-akcent) 20%, transparent);
    --czytania-obchod-swieto-obramowanie: color-mix(in srgb, var(--czytania-obchod-swieto-akcent) 20%, transparent);
    --czytania-obchod-niedziela-obramowanie: color-mix(in srgb, var(--czytania-obchod-niedziela-akcent) 20%, transparent);
    --czytania-obchod-powszedni-obramowanie: color-mix(in srgb, var(--czytania-obchod-powszedni-akcent) 18%, transparent);
    scroll-behavior: smooth;
}

[data-bs-theme="dark"] :is(#czytania, #brewiarz, #rozwazania) {
    --czytania-obchod-wspomnienie-tekst: color-mix(in srgb, var(--bs-success-text-emphasis) 88%, #fff);
    --czytania-obchod-uroczystosc-tekst: color-mix(in srgb, var(--bs-danger-text-emphasis) 90%, #fff);
    --czytania-obchod-swieto-tekst: color-mix(in srgb, var(--bs-warning-text-emphasis) 92%, #fff);
    --czytania-obchod-niedziela-tekst: var(--bs-primary-text-emphasis);
    --czytania-obchod-powszedni-tekst: #81c784;
    --czytania-obchod-wspomnienie-akcent: var(--bs-success-text-emphasis);
    --czytania-obchod-uroczystosc-akcent: var(--bs-danger-text-emphasis);
    --czytania-obchod-swieto-akcent: var(--bs-warning-text-emphasis);
    --czytania-obchod-niedziela-akcent: var(--bs-primary-text-emphasis);
    --czytania-obchod-powszedni-akcent: #66bb6a;
    --czytania-obchod-wspomnienie-tlo: color-mix(in srgb, var(--bs-success-border-subtle) 18%, var(--bs-body-bg));
    --czytania-obchod-uroczystosc-tlo: color-mix(in srgb, var(--bs-danger-border-subtle) 18%, var(--bs-body-bg));
    --czytania-obchod-swieto-tlo: color-mix(in srgb, var(--bs-warning-border-subtle) 18%, var(--bs-body-bg));
    --czytania-obchod-niedziela-tlo: color-mix(in srgb, var(--bs-primary-border-subtle) 18%, var(--bs-body-bg));
    --czytania-obchod-powszedni-tlo: color-mix(in srgb, var(--czytania-obchod-powszedni-akcent) 14%, var(--bs-body-bg));
    --czytania-obchod-wspomnienie-obramowanie: color-mix(in srgb, var(--bs-success-border-subtle) 52%, var(--bs-body-bg));
    --czytania-obchod-uroczystosc-obramowanie: color-mix(in srgb, var(--bs-danger-border-subtle) 52%, var(--bs-body-bg));
    --czytania-obchod-swieto-obramowanie: color-mix(in srgb, var(--bs-warning-border-subtle) 52%, var(--bs-body-bg));
    --czytania-obchod-niedziela-obramowanie: color-mix(in srgb, var(--bs-primary-border-subtle) 52%, var(--bs-body-bg));
    --czytania-obchod-powszedni-obramowanie: color-mix(in srgb, var(--czytania-obchod-powszedni-akcent) 45%, var(--bs-body-bg));
}

#czytania {
    --czytania-max-width: var(--lit-max-width);
    --czytania-toc-width: var(--lit-toc-width);
    --czytania-top-gap: var(--lit-top-gap);
    --czytania-header-offset: var(--lit-header-offset);
    --czytania-section-gap: var(--lit-section-gap);
    --czytania-reading-size: var(--lit-reading-size);
    --czytania-reading-leading: var(--lit-reading-leading);
}

#brewiarz {
    --lit-max-width: 72rem;
}

/* --- Layout --- */

#czytania .czytania-layout,
#brewiarz .lit-layout,
#rozwazania .rozwazania-layout,
#rozwazania .lit-layout {
    display: grid;
    grid-template-columns: 1fr;
    max-width: var(--lit-max-width);
    margin: 0 auto;
    padding: 0.75rem var(--bs-gutter-x, 0.75rem) 3rem;
}

#czytania .czytania-toc,
#brewiarz .lit-toc,
#rozwazania .rozwazania-toc,
#rozwazania .lit-toc {
    align-self: start;
}

@media (max-width: 991.98px) {
    :is(#czytania, #brewiarz, #rozwazania) {
        --lit-header-offset: 0.5rem;
    }

    #czytania .czytania-toc,
    #brewiarz .lit-toc,
    #rozwazania .rozwazania-toc,
    #rozwazania .lit-toc {
        margin-bottom: 1.25rem;
    }
}

@media (min-width: 992px) {
    :is(#czytania, #brewiarz, #rozwazania) {
        --lit-header-offset: calc(var(--app-header-height, 4rem) + var(--lit-top-gap));
    }

    #czytania .czytania-layout,
    #brewiarz .lit-layout,
    #rozwazania .rozwazania-layout,
    #rozwazania .lit-layout {
        grid-template-columns: var(--lit-toc-width) 1fr;
        gap: 3rem;
    }

    #czytania .czytania-toc,
    #czytania .czytania-kolumna,
    #brewiarz .lit-toc,
    #brewiarz .lit-kolumna,
    #rozwazania .rozwazania-toc,
    #rozwazania .rozwazania-kolumna,
    #rozwazania .lit-toc,
    #rozwazania .lit-kolumna {
        position: sticky;
        top: var(--lit-header-offset);
        align-self: start;
    }

    #czytania .czytania-toc,
    #brewiarz .lit-toc,
    #rozwazania .rozwazania-toc,
    #rozwazania .lit-toc {
        z-index: 10;
    }

    #czytania .czytania-obchod-panel,
    #rozwazania .czytania-obchod-panel {
        display: none;
    }
}

#czytania .czytania-kolumna,
#czytania .czytania-glowna,
#brewiarz .lit-kolumna,
#brewiarz .lit-glowna,
#rozwazania .rozwazania-kolumna,
#rozwazania .rozwazania-glowna,
#rozwazania .lit-kolumna,
#rozwazania .lit-glowna {
    min-width: 0;
}

/* --- Nawigacja dni --- */

#czytania .czytania-nawigacja-dni,
#brewiarz .lit-nawigacja-dni,
#rozwazania .rozwazania-nawigacja-dni {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    background: var(--lit-karta-tlo, var(--app-surface-bg, var(--bs-body-bg)));
    border: 1px solid color-mix(in srgb, var(--bs-border-color) 75%, transparent);
    border-radius: 0.85rem;
    padding: 0.5rem 0.65rem;
}

#czytania .czytania-link-dzien,
#czytania .czytania-toc-link,
#brewiarz .lit-link-dzien,
#brewiarz .lit-toc-link,
#rozwazania .rozwazania-link-dzien,
#rozwazania .rozwazania-toc-link,
#rozwazania .lit-toc-link {
    text-decoration: none;
    font-weight: 500;
    color: var(--bs-emphasis-color);
    transition: color 0.15s ease, background-color 0.15s ease;
}

#czytania .czytania-link-dzien,
#brewiarz .lit-link-dzien,
#rozwazania .rozwazania-link-dzien {
    display: inline-block;
    border-radius: 999px;
    background: transparent;
    border: 0;
    line-height: 1.3;
    padding: 0.4rem 0.85rem;
    font-size: 0.8125rem;
    text-align: center;
    white-space: nowrap;
}

#czytania .czytania-nawigacja-dni .czytania-link-dzien,
#brewiarz .lit-nawigacja-dni .lit-link-dzien,
#rozwazania .rozwazania-nawigacja-dni .rozwazania-link-dzien {
    flex: 0 0 auto;
    width: auto;
}

#czytania .czytania-link-dzien:not(.is-aktywny):hover,
#brewiarz .lit-link-dzien:not(.is-aktywny):hover,
#rozwazania .rozwazania-link-dzien:not(.is-aktywny):hover {
    color: var(--bs-primary);
}

#czytania .czytania-link-dzien.is-aktywny,
#brewiarz .lit-link-dzien.is-aktywny,
#rozwazania .rozwazania-link-dzien.is-aktywny {
    background: var(--bs-primary);
    color: #fff;
    font-weight: 600;
}

#czytania .czytania-link-dzien.is-disabled,
#brewiarz .lit-link-dzien.is-disabled,
#rozwazania .rozwazania-link-dzien.is-disabled {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
}

#czytania .czytania-link-dzien.is-disabled:not(.is-aktywny),
#brewiarz .lit-link-dzien.is-disabled:not(.is-aktywny),
#rozwazania .rozwazania-link-dzien.is-disabled:not(.is-aktywny) {
    opacity: 0.55;
    color: var(--bs-secondary-color);
}

/* --- Spis treści --- */

#czytania .czytania-toc-lista,
#brewiarz .lit-toc-lista,
#rozwazania .rozwazania-toc-lista,
#rozwazania .lit-toc-lista {
    background: var(--lit-karta-tlo, var(--app-surface-bg, var(--bs-body-bg)));
    border: 1px solid color-mix(in srgb, var(--bs-border-color) 75%, transparent);
    border-radius: 0.85rem;
    overflow: hidden;
}

#czytania .czytania-toc-list,
#brewiarz .lit-toc-list,
#rozwazania .rozwazania-toc-list,
#rozwazania .lit-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#czytania .czytania-toc-list > li,
#brewiarz .lit-toc-list > li,
#rozwazania .rozwazania-toc-list > li,
#rozwazania .lit-toc-list > li {
    border-bottom: 1px solid color-mix(in srgb, var(--bs-border-color) 70%, transparent);
}

#czytania .czytania-toc-list > li:last-child,
#brewiarz .lit-toc-list > li:last-child,
#rozwazania .rozwazania-toc-list > li:last-child,
#rozwazania .lit-toc-list > li:last-child {
    border-bottom: 0;
}

#czytania .czytania-toc-link,
#brewiarz .lit-toc-link,
#rozwazania .rozwazania-toc-link,
#rozwazania .lit-toc-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1rem;
    line-height: 1.35;
    padding: 0.85rem 1rem;
}

#czytania .czytania-toc-link:hover,
#brewiarz .lit-toc-link:hover,
#rozwazania .rozwazania-toc-link:hover,
#rozwazania .lit-toc-link:hover {
    color: var(--bs-primary);
}

#czytania .czytania-toc-link.is-aktywny,
#brewiarz .lit-toc-link.is-aktywny,
#rozwazania .rozwazania-toc-link.is-aktywny,
#rozwazania .lit-toc-link.is-aktywny {
    font-weight: 600;
    color: var(--bs-primary);
}

@media (min-width: 992px) {
    #czytania .czytania-toc-link.is-aktywny,
    #brewiarz .lit-toc-link.is-aktywny,
    #rozwazania .rozwazania-toc-link.is-aktywny,
    #rozwazania .lit-toc-link.is-aktywny {
        background: rgba(var(--bs-primary-rgb), 0.06);
    }

    [data-bs-theme="dark"] #czytania .czytania-toc-link.is-aktywny,
    [data-bs-theme="dark"] #brewiarz .lit-toc-link.is-aktywny,
    [data-bs-theme="dark"] #rozwazania .rozwazania-toc-link.is-aktywny,
    [data-bs-theme="dark"] #rozwazania .lit-toc-link.is-aktywny {
        background: rgba(var(--bs-primary-rgb), 0.14);
    }
}

#czytania .czytania-toc-link-text,
#brewiarz .lit-toc-link-text,
#rozwazania .rozwazania-toc-link-text,
#rozwazania .lit-toc-link-text {
    flex: 1;
    min-width: 0;
}

#czytania .czytania-toc-ikona,
#brewiarz .lit-toc-ikona,
#rozwazania .rozwazania-toc-ikona,
#rozwazania .lit-toc-ikona {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    font-size: 1rem;
}

[data-bs-theme="dark"] #czytania .czytania-toc-ikona,
[data-bs-theme="dark"] #brewiarz .lit-toc-ikona,
[data-bs-theme="dark"] #rozwazania .rozwazania-toc-ikona,
[data-bs-theme="dark"] #rozwazania .lit-toc-ikona {
    background: rgba(var(--bs-primary-rgb), 0.2);
}

#czytania .czytania-toc-chevron,
#brewiarz .lit-toc-chevron,
#rozwazania .rozwazania-toc-chevron,
#rozwazania .lit-toc-chevron {
    flex-shrink: 0;
    font-size: 0.875rem;
    color: color-mix(in srgb, var(--bs-emphasis-color) 35%, var(--bs-secondary-color));
}

#czytania .czytania-toc-link.is-aktywny .czytania-toc-chevron,
#czytania .czytania-toc-link.is-aktywny .czytania-toc-ikona,
#brewiarz .lit-toc-link.is-aktywny .lit-toc-chevron,
#brewiarz .lit-toc-link.is-aktywny .lit-toc-ikona,
#rozwazania .rozwazania-toc-link.is-aktywny .rozwazania-toc-chevron,
#rozwazania .rozwazania-toc-link.is-aktywny .rozwazania-toc-ikona,
#rozwazania .lit-toc-link.is-aktywny .lit-toc-chevron,
#rozwazania .lit-toc-link.is-aktywny .lit-toc-ikona {
    color: var(--bs-primary);
}

#czytania .czytania-toc-link.is-aktywny .czytania-toc-ikona,
#brewiarz .lit-toc-link.is-aktywny .lit-toc-ikona,
#rozwazania .rozwazania-toc-link.is-aktywny .rozwazania-toc-ikona,
#rozwazania .lit-toc-link.is-aktywny .lit-toc-ikona {
    background: rgba(var(--bs-primary-rgb), 0.2);
}

/* --- Nagłówek dnia --- */

#czytania .czytania-naglowek-dnia,
#brewiarz .lit-naglowek-dnia,
#rozwazania .czytania-naglowek-dnia,
#rozwazania .lit-naglowek-dnia {
    position: relative;
    margin-bottom: 1rem;
    padding-bottom: 1.25rem;
    --lit-naglowek-separator: color-mix(in srgb, var(--bs-border-color) 60%, transparent);
}

#czytania .czytania-naglowek-dnia,
#rozwazania .czytania-naglowek-dnia {
    --czytania-naglowek-separator: var(--lit-naglowek-separator);
}

#czytania .czytania-naglowek-dnia::after,
#brewiarz .lit-naglowek-dnia::after,
#rozwazania .czytania-naglowek-dnia::after,
#rozwazania .lit-naglowek-dnia::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--lit-naglowek-separator) 18%,
        var(--lit-naglowek-separator) 82%,
        transparent 100%
    );
}

#czytania .czytania-tytul-dnia,
#brewiarz .lit-tytul-dnia,
#rozwazania .czytania-tytul-dnia,
#rozwazania .lit-tytul-dnia {
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--bs-emphasis-color);
    text-wrap: balance;
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-naglowek-ranga-linia {
    margin: 0.55rem 0 0;
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-naglowek-ranga {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.6rem;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid transparent;
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-naglowek-ranga.czytania-obchod-wspomnienie {
    color: var(--czytania-obchod-wspomnienie-tekst);
    background: color-mix(in srgb, var(--bs-success) 10%, transparent);
    border-color: color-mix(in srgb, var(--bs-success) 22%, transparent);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-naglowek-ranga.czytania-obchod-uroczystosc {
    color: var(--czytania-obchod-uroczystosc-tekst);
    background: color-mix(in srgb, var(--bs-danger) 10%, transparent);
    border-color: color-mix(in srgb, var(--bs-danger) 22%, transparent);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-naglowek-ranga.czytania-obchod-swieto {
    color: var(--czytania-obchod-swieto-tekst);
    background: color-mix(in srgb, var(--bs-warning) 12%, transparent);
    border-color: color-mix(in srgb, var(--bs-warning) 24%, transparent);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-naglowek-ranga.czytania-obchod-niedziela {
    color: var(--czytania-obchod-niedziela-tekst);
    background: color-mix(in srgb, var(--bs-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--bs-primary) 22%, transparent);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-tytul-dnia.czytania-obchod-wspomnienie {
    color: var(--czytania-obchod-wspomnienie-tekst);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-tytul-dnia.czytania-obchod-uroczystosc {
    color: var(--czytania-obchod-uroczystosc-tekst);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-tytul-dnia.czytania-obchod-swieto {
    color: var(--czytania-obchod-swieto-tekst);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-tytul-dnia.czytania-obchod-niedziela {
    color: var(--czytania-obchod-niedziela-tekst);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-naglowek-okres {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.6rem;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.02em;
    border-radius: 999px;
    border: 1px solid transparent;
    color: var(--bs-secondary-color);
    background: color-mix(in srgb, var(--bs-secondary) 10%, transparent);
    border-color: color-mix(in srgb, var(--bs-secondary) 22%, transparent);
}

/* --- Kolumna główna i sekcje --- */

#czytania .czytania-glowna,
#brewiarz .lit-glowna,
#rozwazania .rozwazania-glowna,
#rozwazania .lit-glowna {
    display: flex;
    flex-direction: column;
    gap: var(--lit-section-gap);
}

#czytania .czytania-glowna,
#brewiarz .lit-glowna,
#rozwazania .rozwazania-glowna,
#rozwazania .lit-glowna {
    --czytania-sekcja-akcent: var(--bs-emphasis-color);
}

#czytania .czytania-glowna.czytania-obchod-wspomnienie,
#brewiarz .lit-glowna.czytania-obchod-wspomnienie,
#rozwazania .lit-glowna.czytania-obchod-wspomnienie {
    --czytania-sekcja-akcent: var(--czytania-obchod-wspomnienie-tekst);
}

#czytania .czytania-glowna.czytania-obchod-swieto,
#brewiarz .lit-glowna.czytania-obchod-swieto,
#rozwazania .lit-glowna.czytania-obchod-swieto {
    --czytania-sekcja-akcent: var(--czytania-obchod-swieto-tekst);
}

#czytania .czytania-glowna.czytania-obchod-uroczystosc,
#brewiarz .lit-glowna.czytania-obchod-uroczystosc,
#rozwazania .lit-glowna.czytania-obchod-uroczystosc {
    --czytania-sekcja-akcent: var(--czytania-obchod-uroczystosc-tekst);
}

#czytania .czytania-glowna.czytania-obchod-niedziela,
#brewiarz .lit-glowna.czytania-obchod-niedziela,
#rozwazania .lit-glowna.czytania-obchod-niedziela {
    --czytania-sekcja-akcent: var(--czytania-obchod-niedziela-tekst);
}

#czytania .czytania-sekcja,
#brewiarz .lit-sekcja,
#rozwazania .czytania-sekcja,
#rozwazania .lit-sekcja {
    scroll-margin-top: calc(var(--lit-header-offset) + 1rem);
}

#czytania .czytania-sekcja-naglowek,
#brewiarz .lit-sekcja-naglowek,
#rozwazania .czytania-sekcja-naglowek,
#rozwazania .lit-sekcja-naglowek {
    margin-bottom: 1rem;
}

#czytania .czytania-sekcja-meta,
#brewiarz .lit-sekcja-meta,
#rozwazania .czytania-sekcja-meta,
#rozwazania .lit-sekcja-meta {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
    flex: 1;
}

#czytania .czytania-sekcja-tytul,
#brewiarz .lit-sekcja-tytul,
#rozwazania .czytania-sekcja-tytul,
#rozwazania .lit-sekcja-tytul {
    font-size: clamp(1.3125rem, 3.35vw, 1.5625rem);
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--czytania-sekcja-akcent, var(--lit-sekcja-akcent));
}

#czytania .czytania-sekcja-sigla,
#brewiarz .lit-sekcja-sigla,
#rozwazania .czytania-sekcja-sigla,
#rozwazania .lit-sekcja-sigla {
    display: inline-flex;
    align-self: flex-start;
    max-width: 100%;
    margin: 0;
    padding: 0.2rem 0.65rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.02em;
    white-space: normal;
    color: var(--czytania-sekcja-akcent, var(--lit-sekcja-akcent));
    background: color-mix(in srgb, var(--czytania-sekcja-akcent, var(--lit-sekcja-akcent)) 10%, transparent);
    border-radius: 999px;
}

:is(#czytania, #rozwazania) .czytania-tresc .czytania-wariant-czytania {
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}

:is(#czytania, #rozwazania) .czytania-tresc .czytania-akapit + .czytania-wariant-czytania {
    margin-top: 0.75rem;
}

:is(#czytania, #rozwazania) .czytania-tresc .czytania-rubryka {
    margin-top: 1em;
    margin-bottom: 0;
    font-style: italic;
    color: var(--bs-secondary-color);
    border-inline-start: 3px solid color-mix(in srgb, var(--czytania-sekcja-akcent, var(--lit-sekcja-akcent, var(--bs-secondary-color))) 45%, transparent);
    padding-inline-start: 0.75rem;
}

#czytania .czytania-tresc,
#brewiarz .lit-tresc,
#rozwazania .czytania-tresc,
#rozwazania .lit-tresc {
    line-height: var(--lit-reading-leading);
    font-size: var(--lit-reading-size);
    color: color-mix(in srgb, var(--bs-emphasis-color) 88%, var(--bs-body-color));
    text-wrap: pretty;
    hyphens: auto;
    -webkit-hyphens: auto;
}

#czytania .czytania-tresc br + br,
#brewiarz .lit-tresc br + br,
#rozwazania .czytania-tresc br + br,
#rozwazania .lit-tresc br + br {
    display: block;
    content: "";
    margin-top: 0.55rem;
}

@media (min-width: 768px) {
    :is(#czytania, #brewiarz, #rozwazania) {
        --lit-section-gap: 2.75rem;
    }

    #czytania .czytania-naglowek-dnia,
    #brewiarz .lit-naglowek-dnia,
    #rozwazania .czytania-naglowek-dnia,
    #rozwazania .lit-naglowek-dnia {
        margin-bottom: 1.25rem;
        padding-bottom: 1.35rem;
    }
}

/* --- Przycisk przewijania (mobile) --- */

#czytania .czytania-scroll-top,
#brewiarz .lit-scroll-top,
#rozwazania .rozwazania-scroll-top,
#rozwazania .lit-scroll-top {
    position: fixed;
    right: 0.35rem;
    bottom: calc(var(--app-header-height, 4rem) + 0.75rem);
    z-index: 1045;
    width: auto;
    height: auto;
    min-width: 1.75rem;
    min-height: 1.75rem;
    padding: 0.25rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--bs-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

#czytania .czytania-scroll-top.is-visible,
#brewiarz .lit-scroll-top.is-visible,
#rozwazania .rozwazania-scroll-top.is-visible,
#rozwazania .lit-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
}

/* --- Karta kalendarza liturgicznego (Czytania + Brewiarz) --- */
:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-info {
            background: var(--lit-karta-tlo, var(--app-surface-bg, var(--bs-body-bg)));
            border: 1px solid color-mix(in srgb, var(--bs-border-color) 75%, transparent);
            border-radius: 0.85rem;
            overflow: hidden;
        }

@media (max-width: 991.98px) {
:is(#czytania, #brewiarz, #rozwazania) .czytania-toc .czytania-kalendarz-info {
                margin-bottom: 1.25rem;
            }
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-karta {
            padding: 0.85rem 1rem 1rem;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-karta-gora {
            display: grid;
            grid-template-columns: minmax(4.25rem, 4.75rem) minmax(0, 1fr);
            gap: 0.85rem 1rem;
            align-items: stretch;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            width: 100%;
            max-width: 4.75rem;
            padding: 0.65rem 0.3rem;
            border: 1px solid color-mix(in srgb, var(--bs-border-color) 80%, transparent);
            border-radius: 0.75rem;
            background: var(--bs-body-bg);
            box-sizing: border-box;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data-ikona {
            font-size: 0.8125rem;
            color: var(--bs-primary);
            margin-bottom: 0.3rem;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-dzien {
            font-size: clamp(1.85rem, 5vw, 2.35rem);
            font-weight: 700;
            line-height: 1;
            color: var(--bs-emphasis-color);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data.czytania-obchod-wspomnienie {
            --czytania-data-kolor: var(--czytania-obchod-wspomnienie-tekst);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data.czytania-obchod-uroczystosc {
            --czytania-data-kolor: var(--czytania-obchod-uroczystosc-tekst);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data.czytania-obchod-swieto {
            --czytania-data-kolor: var(--czytania-obchod-swieto-tekst);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data.czytania-obchod-niedziela {
            --czytania-data-kolor: var(--czytania-obchod-niedziela-tekst);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data[class*="czytania-obchod-"] .czytania-kalendarz-dzien,
:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data[class*="czytania-obchod-"] .czytania-kalendarz-miesiac,
:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data[class*="czytania-obchod-"] .czytania-kalendarz-rok {
            color: var(--czytania-data-kolor);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-data[class*="czytania-obchod-"] .czytania-kalendarz-data-ikona {
            color: var(--czytania-data-kolor);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-miesiac,
:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-rok {
            font-size: 0.6875rem;
            font-weight: 500;
            line-height: 1.25;
            color: var(--bs-emphasis-color);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-miesiac {
            margin-top: 0.25rem;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-rok {
            margin-top: 0.05rem;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-dzien-tygodnia {
            margin-top: 0.4rem;
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--bs-primary);
            text-transform: lowercase;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta {
            display: grid;
            grid-template-columns: 1.125rem minmax(4.75rem, max-content) minmax(0, 1fr);
            column-gap: 0.55rem;
            row-gap: 0;
            align-content: center;
            min-width: 0;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-wiersz {
            display: grid;
            grid-template-columns: subgrid;
            grid-column: 1 / -1;
            align-items: center;
            padding: 0.5rem 0;
            border-bottom: 1px solid color-mix(in srgb, var(--bs-border-color) 55%, transparent);
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-wiersz:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-wiersz:first-child {
            padding-top: 0;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-ikona {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            width: 1.125rem;
            color: color-mix(in srgb, var(--bs-emphasis-color) 40%, var(--bs-secondary-color));
            font-size: 0.8125rem;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-ikona-kolor .czytania-kolor-swatch {
            width: 0.6875rem;
            height: 0.6875rem;
            box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.12);
        }


:is(#czytania, #brewiarz, #rozwazania) .czytania-kolor-swatch {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid color-mix(in srgb, var(--bs-border-color) 65%, transparent);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-kolor-swatch.is-jasny {
    border-color: var(--bs-border-color);
}

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-linia {
            display: contents;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-etykieta {
            font-size: 0.75rem;
            font-weight: 500;
            color: var(--bs-secondary-color);
            line-height: 1.3;
            white-space: nowrap;
        }

:is(#czytania, #brewiarz, #rozwazania) .czytania-kalendarz-meta-wartosc {
            min-width: 0;
            font-size: 0.8125rem;
            font-weight: 600;
            color: color-mix(in srgb, var(--bs-emphasis-color) 72%, var(--bs-secondary-color));
            line-height: 1.3;
            text-align: left;
        }

/* --- Kalendarz wyboru daty (Flatpickr inline) — Czytania + Redakcja rozważań --- */
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty {
    margin-bottom: 1rem;
    background: var(--lit-karta-tlo, var(--app-surface-bg, var(--bs-body-bg)));
    border: 1px solid color-mix(in srgb, var(--bs-border-color) 75%, transparent);
    border-radius: 0.85rem;
    overflow: hidden;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--bs-emphasis-color);
    text-align: left;
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-toggle:hover {
    color: var(--bs-primary);
    background: color-mix(in srgb, var(--bs-primary) 6%, transparent);
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-ikona {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    font-size: 1rem;
    transition: background-color 0.15s ease;
}

[data-bs-theme="dark"] :is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-ikona {
    background: rgba(var(--bs-primary-rgb), 0.2);
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-toggle:hover .czytania-wybor-daty-ikona,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-toggle[aria-expanded="true"] .czytania-wybor-daty-ikona {
    background: rgba(var(--bs-primary-rgb), 0.2);
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-toggle-tekst {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1;
    min-width: 0;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-etykieta {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-data {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--bs-secondary-color);
    line-height: 1.3;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-chevron {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--bs-secondary-color);
    transition: transform 0.2s ease, color 0.15s ease;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-toggle[aria-expanded="true"] .czytania-wybor-daty-chevron {
    transform: rotate(180deg);
    color: var(--bs-primary);
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty-panel {
    padding: 0 0.5rem 0.5rem;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-calendar {
    width: 100%;
    max-width: 100%;
    box-shadow: none;
    background: transparent;
    border: 0;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-days,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .dayContainer {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-months {
    padding: 0 0.15rem;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-current-month {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-emphasis-color);
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-weekday {
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day {
    max-width: none;
    height: 1.85rem;
    line-height: 1.85rem;
    font-size: 0.8125rem;
    color: var(--bs-body-color);
    border-radius: 0.4rem;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.flatpickr-disabled,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.prevMonthDay,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.nextMonthDay {
    color: var(--bs-secondary-color);
    opacity: 0.45;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day:not(.flatpickr-disabled):hover {
    background: color-mix(in srgb, var(--bs-primary) 12%, transparent);
    border-color: transparent;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.selected,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.selected:hover {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
    font-weight: 600;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-uroczystosc {
    background: color-mix(in srgb, var(--bs-danger) 14%, var(--bs-body-bg));
    color: var(--czytania-obchod-uroczystosc-tekst);
    font-weight: 600;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-swieto {
    background: color-mix(in srgb, var(--bs-warning) 14%, var(--bs-body-bg));
    color: var(--czytania-obchod-swieto-tekst);
    font-weight: 600;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-wspomnienie {
    background: color-mix(in srgb, var(--bs-success) 14%, var(--bs-body-bg));
    color: var(--czytania-obchod-wspomnienie-tekst);
    font-weight: 600;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-niedziela {
    background: color-mix(in srgb, var(--bs-danger) 14%, var(--bs-body-bg));
    color: var(--czytania-obchod-niedziela-tekst);
    font-weight: 600;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day[class*="czytania-dzien-"]:not(.flatpickr-disabled):not(.selected):hover {
    filter: brightness(0.95);
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day[class*="czytania-dzien-"].flatpickr-disabled:not(.prevMonthDay):not(.nextMonthDay) {
    opacity: 0.72;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day[class*="czytania-dzien-"].prevMonthDay,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day[class*="czytania-dzien-"].nextMonthDay {
    opacity: 0.6;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-uroczystosc.prevMonthDay,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-uroczystosc.nextMonthDay,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-niedziela.prevMonthDay,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-niedziela.nextMonthDay {
    background: color-mix(in srgb, var(--bs-danger) 10%, var(--bs-body-bg));
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-swieto.prevMonthDay,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-swieto.nextMonthDay {
    background: color-mix(in srgb, var(--bs-warning) 10%, var(--bs-body-bg));
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-wspomnienie.prevMonthDay,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day.czytania-dzien-wspomnienie.nextMonthDay {
    background: color-mix(in srgb, var(--bs-success) 10%, var(--bs-body-bg));
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day[class*="czytania-dzien-"].selected,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-day[class*="czytania-dzien-"].selected:hover {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
    filter: none;
    opacity: 1;
}

:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-prev-month,
:is(#czytania, #rozwazania, #panel-redakcja-rozwazania) .czytania-wybor-daty .flatpickr-next-month {
    fill: var(--bs-emphasis-color);
}


/* --- Wspólne: panel obchodu, wspomnienia, typografia treści (Czytania + Rozważania) --- */

:is(#czytania, #rozwazania) .lit-toc .czytania-kalendarz-info,
:is(#czytania, #rozwazania) .czytania-toc .czytania-kalendarz-info,
:is(#czytania, #rozwazania) .rozwazania-sidebar .czytania-kalendarz-info {
    margin-top: 1rem;
}

:is(#czytania, #rozwazania) .lit-toc .czytania-kalendarz-info + .czytania-kalendarz-info,
:is(#czytania, #rozwazania) .czytania-toc .czytania-kalendarz-info + .czytania-kalendarz-info,
:is(#czytania, #rozwazania) .rozwazania-sidebar .czytania-kalendarz-info + .czytania-kalendarz-info {
    margin-top: 0.75rem;
}

:is(#czytania, #rozwazania) .czytania-obchod-panel {
    margin-bottom: 1rem;
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.65rem;
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod-ikona {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod-tresc {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod-etykieta {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--bs-secondary-color);
    line-height: 1.3;
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod-wartosc {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.35;
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod[class*="czytania-obchod-"] .czytania-kalendarz-obchod-ikona {
    background: color-mix(in srgb, var(--czytania-obchod-kolor) 15%, transparent);
    color: var(--czytania-obchod-kolor);
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod.czytania-obchod-wspomnienie {
    --czytania-obchod-kolor: var(--czytania-obchod-wspomnienie-akcent);
    background: var(--czytania-obchod-wspomnienie-tlo);
    border: 1px solid var(--czytania-obchod-wspomnienie-obramowanie);
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod.czytania-obchod-wspomnienie .czytania-kalendarz-obchod-wartosc {
    color: var(--czytania-obchod-wspomnienie-tekst);
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod.czytania-obchod-uroczystosc {
    --czytania-obchod-kolor: var(--czytania-obchod-uroczystosc-akcent);
    background: var(--czytania-obchod-uroczystosc-tlo);
    border: 1px solid var(--czytania-obchod-uroczystosc-obramowanie);
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod.czytania-obchod-swieto {
    --czytania-obchod-kolor: var(--czytania-obchod-swieto-akcent);
    background: var(--czytania-obchod-swieto-tlo);
    border: 1px solid var(--czytania-obchod-swieto-obramowanie);
}

:is(#czytania, #rozwazania) .czytania-kalendarz-obchod.czytania-obchod-niedziela {
    --czytania-obchod-kolor: var(--czytania-obchod-niedziela-akcent);
    background: var(--czytania-obchod-niedziela-tlo);
    border: 1px solid var(--czytania-obchod-niedziela-obramowanie);
}

:is(#czytania, #rozwazania) .czytania-wspomnienia-lokalne {
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb, var(--bs-body-bg) 88%, var(--bs-secondary-bg));
    border-color: color-mix(in srgb, var(--bs-border-color) 45%, transparent);
}

:is(#czytania, #rozwazania) .czytania-wspomnienia-lokalne::after {
    content: "\f51d";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    position: absolute;
    right: 0.5rem;
    bottom: 0;
    font-size: 5.75rem;
    line-height: 1;
    color: var(--bs-emphasis-color);
    opacity: 0.07;
    pointer-events: none;
}

[data-bs-theme="dark"] :is(#czytania, #rozwazania) .czytania-wspomnienia-lokalne {
    background: color-mix(in srgb, var(--bs-body-bg) 92%, var(--bs-tertiary-bg));
}

[data-bs-theme="dark"] :is(#czytania, #rozwazania) .czytania-wspomnienia-lokalne::after {
    opacity: 0.1;
}

:is(#czytania, #rozwazania) .czytania-wspomnienia-karta {
    position: relative;
    z-index: 1;
    padding: 1.15rem 1.2rem 1.2rem;
}

:is(#czytania, #rozwazania) .czytania-wspomnienia-naglowek {
    margin: 0 0 0.85rem;
}

:is(#czytania, #rozwazania) .czytania-wspomnienia-tytul {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--bs-primary);
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-blok + .czytania-wspomnienie-blok {
    margin-top: 1rem;
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-diecezja-wiersz {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-diecezja {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-linia {
    flex: 1;
    height: 1px;
    background: color-mix(in srgb, var(--bs-border-color) 65%, transparent);
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-wpis {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-wpis + .czytania-wspomnienie-wpis {
    margin-top: 0.75rem;
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-ikona {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 0.5rem;
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    font-size: 0.875rem;
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-tresc {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-ranga {
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--bs-primary);
}

:is(#czytania, #rozwazania) .czytania-wspomnienie-obchod {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--bs-emphasis-color);
}

:is(#czytania, #rozwazania) .czytania-obchod-uroczystosc {
    color: var(--czytania-obchod-uroczystosc-tekst);
}

:is(#czytania, #rozwazania) .czytania-obchod-swieto {
    color: var(--czytania-obchod-swieto-tekst);
}

:is(#czytania, #rozwazania) .czytania-obchod-wspomnienie {
    color: var(--czytania-obchod-wspomnienie-tekst);
}

:is(#czytania, #rozwazania) .czytania-obchod-niedziela {
    color: var(--czytania-obchod-niedziela-tekst);
}

:is(#czytania, #rozwazania) .czytania-antyfona {
    color: var(--bs-secondary-color);
    font-style: italic;
}

:is(#czytania, #rozwazania) .czytania-refren-label,
:is(#czytania, #rozwazania) .czytania-aklamacja-label,
:is(#czytania, #rozwazania) .czytania-albo {
    color: var(--bs-danger);
    font-weight: 700;
}

:is(#czytania, #rozwazania) .czytania-refren-tekst,
:is(#czytania, #rozwazania) .czytania-aklamacja-tekst {
    font-weight: 700;
}

:is(#czytania, #rozwazania) {
    --czytania-reading-leading: 1.5;
}

:is(#czytania, #rozwazania) .czytania-tresc {
    line-height: var(--czytania-reading-leading);
}

:is(#czytania, #rozwazania) .czytania-tresc p {
    margin: 0;
}

:is(#czytania, #rozwazania) .czytania-tresc .czytania-wstep {
    margin-bottom: 0;
}

:is(#czytania, #rozwazania) .czytania-tresc .czytania-wstep + .czytania-wstep {
    margin-top: 0.35rem;
}

:is(#czytania, #rozwazania) .czytania-tresc .czytania-akapit + .czytania-akapit,
:is(#czytania, #rozwazania) .czytania-tresc .czytania-wstep + .czytania-akapit,
:is(#czytania, #rozwazania) .czytania-tresc .czytania-akapit + .czytania-wstep {
    margin-top: 1em;
}
