/*
 * Parafia Wiersze — pojedynczy wpis
 * Wersja 1.2 / child theme 5.0.4.76
 *
 * Cel: ujednolicenie wyglądu wpisów z sekcjami Intencje i Ogłoszenia.
 * Arkusz jest ładowany wyłącznie na pojedynczych wpisach WordPress.
 */

body.single-post #main-content {
    background: #fff;
}

/* Główny obszar wpisu — nie rozciągamy tekstu na całą szerokość ekranu. */
body.single-post #main-content .limit-wrapper,
body.single-post #main-content .page-wrapper {
    box-sizing: border-box;
}

body.single-post #main-content article.post,
body.single-post #main-content article.type-post {
    width: 100%;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Karta treści. Obsługujemy kilka wariantów struktury używanych przez Vamtam. */
body.single-post #main-content article.post > .page-content,
body.single-post #main-content article.post > .post-content,
body.single-post #main-content article.type-post > .page-content,
body.single-post #main-content article.type-post > .post-content {
    box-sizing: border-box;
    margin: 24px 0 36px;
    padding: 28px 34px 32px;
    border: 1px solid #e7ddd4;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}

/* Jeśli Vamtam ma dodatkowy wrapper wewnątrz artykułu, zachowujemy ten sam rytm. */
body.single-post #main-content article.post .entry-content,
body.single-post #main-content article.type-post .entry-content {
    color: #444;
    font-size: 17px;
    line-height: 1.72;
    text-align: left;
}

/* Tytuł wpisu — ten sam brąz co Intencje/Ogłoszenia. */
body.single-post #main-content article.post h1,
body.single-post #main-content article.type-post h1,
body.single-post #main-content .post-title,
body.single-post #main-content .entry-title {
    margin-top: 0;
    margin-bottom: 10px;
    color: #8f6a4a !important;
    font-size: 32px;
    line-height: 1.28;
    font-weight: 600;
    letter-spacing: 0;
    text-align: left;
}

/* Data / autor / kategorie — lekko, bez dominowania nad treścią. */
body.single-post #main-content .post-meta,
body.single-post #main-content .entry-meta,
body.single-post #main-content .post-date,
body.single-post #main-content .author,
body.single-post #main-content .post-author {
    color: #999 !important;
    font-size: 13px;
    line-height: 1.5;
}

body.single-post #main-content .post-meta a,
body.single-post #main-content .entry-meta a {
    color: #8f6a4a !important;
    text-decoration: none;
}

/* Delikatny separator pomiędzy nagłówkiem wpisu a treścią. */
body.single-post #main-content .post-meta,
body.single-post #main-content .entry-meta {
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eee7df;
}

/* Treść. */
body.single-post #main-content article.post .entry-content p,
body.single-post #main-content article.post .post-content p,
body.single-post #main-content article.type-post .entry-content p,
body.single-post #main-content article.type-post .post-content p {
    margin: 0 0 1.15em;
    color: #444;
    font-size: 17px;
    line-height: 1.72;
    text-align: left;
}

body.single-post #main-content article.post .entry-content h2,
body.single-post #main-content article.post .entry-content h3,
body.single-post #main-content article.post .post-content h2,
body.single-post #main-content article.post .post-content h3,
body.single-post #main-content article.type-post .entry-content h2,
body.single-post #main-content article.type-post .entry-content h3 {
    color: #8f6a4a;
    font-weight: 600;
    line-height: 1.35;
}

body.single-post #main-content article.post .entry-content h2,
body.single-post #main-content article.post .post-content h2,
body.single-post #main-content article.type-post .entry-content h2 {
    margin: 1.55em 0 .65em;
    font-size: 24px;
}

body.single-post #main-content article.post .entry-content h3,
body.single-post #main-content article.post .post-content h3,
body.single-post #main-content article.type-post .entry-content h3 {
    margin: 1.35em 0 .55em;
    font-size: 20px;
}

/* Listy — szczególnie ważne dla ogłoszeń parafialnych. */
body.single-post #main-content article.post .entry-content ul,
body.single-post #main-content article.post .entry-content ol,
body.single-post #main-content article.post .post-content ul,
body.single-post #main-content article.post .post-content ol,
body.single-post #main-content article.type-post .entry-content ul,
body.single-post #main-content article.type-post .entry-content ol {
    margin: 0 0 1.2em;
    padding-left: 1.55em;
    color: #444;
    font-size: 17px;
    line-height: 1.68;
    text-align: left;
}

body.single-post #main-content article.post li,
body.single-post #main-content article.type-post li {
    margin-bottom: .45em;
}

body.single-post #main-content article.post li::marker,
body.single-post #main-content article.type-post li::marker {
    color: #8f6a4a;
}

/* Linki w treści. */
body.single-post #main-content article.post .entry-content a,
body.single-post #main-content article.post .post-content a,
body.single-post #main-content article.type-post .entry-content a {
    color: #8f6a4a;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

body.single-post #main-content article.post .entry-content a:hover,
body.single-post #main-content article.post .entry-content a:focus,
body.single-post #main-content article.post .post-content a:hover,
body.single-post #main-content article.post .post-content a:focus,
body.single-post #main-content article.type-post .entry-content a:hover,
body.single-post #main-content article.type-post .entry-content a:focus {
    color: #725238;
}

/* Zdjęcia mają wyglądać jak grafiki sekcji Intencje/Ogłoszenia. */
body.single-post #main-content article.post .entry-content img,
body.single-post #main-content article.post .post-content img,
body.single-post #main-content article.post .post-media img,
body.single-post #main-content article.type-post .entry-content img,
body.single-post #main-content article.type-post .post-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

body.single-post #main-content article.post figure,
body.single-post #main-content article.type-post figure {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

body.single-post #main-content article.post figcaption,
body.single-post #main-content article.type-post figcaption {
    margin-top: 7px;
    color: #999;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

/* Cytaty — delikatne wyróżnienie zgodne z parafialną kolorystyką. */
body.single-post #main-content article.post blockquote,
body.single-post #main-content article.type-post blockquote {
    margin: 22px 0;
    padding: 13px 16px;
    border: 0;
    border-left: 3px solid #8f6a4a;
    background: #fbf8f4;
    color: #555;
    font-size: 16px;
    line-height: 1.65;
}

/* Poprzedni / następny wpis — mniej agresywny niż domyślny Vamtam. */
body.single-post #main-content .post-navigation,
body.single-post #main-content .navigation.post-navigation,
body.single-post #main-content .nav-links {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

body.single-post #main-content .post-navigation a,
body.single-post #main-content .navigation.post-navigation a,
body.single-post #main-content .nav-links a {
    color: #8f6a4a;
}

/* MOBILE */
@media only screen and (max-width: 958px) {
    body.single-post #main-content .limit-wrapper,
    body.single-post #main-content .page-wrapper {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.single-post #main-content article.post,
    body.single-post #main-content article.type-post {
        width: 100%;
        max-width: none;
        margin: 0 auto;
    }

    body.single-post #main-content article.post > .page-content,
    body.single-post #main-content article.post > .post-content,
    body.single-post #main-content article.type-post > .page-content,
    body.single-post #main-content article.type-post > .post-content {
        margin: 14px 0 24px;
        padding: 18px 16px 22px;
        border-radius: 8px;
    }

    body.single-post #main-content article.post h1,
    body.single-post #main-content article.type-post h1,
    body.single-post #main-content .post-title,
    body.single-post #main-content .entry-title {
        margin-bottom: 8px;
        font-size: 25px !important;
        line-height: 1.3 !important;
        text-align: left !important;
    }

    body.single-post #main-content .post-meta,
    body.single-post #main-content .entry-meta,
    body.single-post #main-content .post-date,
    body.single-post #main-content .author,
    body.single-post #main-content .post-author {
        font-size: 12px !important;
    }

    body.single-post #main-content .post-meta,
    body.single-post #main-content .entry-meta {
        margin-bottom: 16px;
        padding-bottom: 11px;
    }

    body.single-post #main-content article.post .entry-content,
    body.single-post #main-content article.type-post .entry-content,
    body.single-post #main-content article.post .entry-content p,
    body.single-post #main-content article.post .post-content p,
    body.single-post #main-content article.type-post .entry-content p,
    body.single-post #main-content article.type-post .post-content p,
    body.single-post #main-content article.post .entry-content ul,
    body.single-post #main-content article.post .entry-content ol,
    body.single-post #main-content article.post .post-content ul,
    body.single-post #main-content article.post .post-content ol,
    body.single-post #main-content article.type-post .entry-content ul,
    body.single-post #main-content article.type-post .entry-content ol {
        font-size: 16px !important;
        line-height: 1.68 !important;
    }

    body.single-post #main-content article.post .entry-content h2,
    body.single-post #main-content article.post .post-content h2,
    body.single-post #main-content article.type-post .entry-content h2 {
        font-size: 21px;
    }

    body.single-post #main-content article.post .entry-content h3,
    body.single-post #main-content article.post .post-content h3,
    body.single-post #main-content article.type-post .entry-content h3 {
        font-size: 18px;
    }
}

@media only screen and (max-width: 380px) {
    body.single-post #main-content .limit-wrapper,
    body.single-post #main-content .page-wrapper {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    body.single-post #main-content article.post > .page-content,
    body.single-post #main-content article.post > .post-content,
    body.single-post #main-content article.type-post > .page-content,
    body.single-post #main-content article.type-post > .post-content {
        padding: 16px 13px 20px;
    }

    body.single-post #main-content article.post h1,
    body.single-post #main-content article.type-post h1,
    body.single-post #main-content .post-title,
    body.single-post #main-content .entry-title {
        font-size: 23px !important;
    }
}

/* =========================================================
   1.1 — własny single.php (child theme 5.0.4.29)
   ========================================================= */
body.single-post .parish-single-layout {
    background: #fff;
}

body.single-post .parish-single-page-wrapper {
    padding-top: 34px;
    padding-bottom: 46px;
}

body.single-post article.parish-single-post {
    max-width: 980px;
    margin: 0 auto;
}

body.single-post .parish-single-card {
    margin: 0;
    padding: 32px 38px 36px;
    border: 1px solid #e3cdb9;
    border-radius: 12px;
    background: #fff;
}

body.single-post .parish-single-header {
    margin-bottom: 25px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eee4db;
}

body.single-post .parish-single-title {
    margin: 0 0 9px !important;
    color: #8f6a4a !important;
    font-size: 34px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

body.single-post .parish-single-meta {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #999 !important;
    font-size: 14px !important;
}

body.single-post .parish-single-separator {
    padding: 0 6px;
}

body.single-post .parish-single-content {
    min-height: 40px;
    color: #444;
    font-size: 17px;
    line-height: 1.72;
}

body.single-post .parish-single-content > :first-child {
    margin-top: 0 !important;
}

body.single-post .parish-single-content > :last-child {
    margin-bottom: 0 !important;
}

body.single-post .parish-single-footer {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee4db;
}

body.single-post .parish-single-back,
body.single-post .parish-single-back:visited,
body.single-post .parish-single-back:hover,
body.single-post .parish-single-back:focus {
    display: inline-block;
    color: #8f6a4a !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-page-wrapper {
        padding-top: 16px !important;
        padding-bottom: 26px !important;
    }

    body.single-post .parish-single-card {
        padding: 20px 17px 24px !important;
        border-radius: 9px;
    }

    body.single-post .parish-single-header {
        margin-bottom: 18px;
        padding-bottom: 14px;
    }

    body.single-post .parish-single-title {
        font-size: 25px !important;
        line-height: 1.28 !important;
    }

    body.single-post .parish-single-content,
    body.single-post .parish-single-content p,
    body.single-post .parish-single-content li {
        font-size: 16px !important;
        line-height: 1.68 !important;
    }
}

/* =========================================================
   SINGLE POST 5.0.4.30 — układ jak Intencje / Ogłoszenia
   ========================================================= */

/* Usuwamy stary featured-header Vamtam tylko na pojedynczych wpisach. */
body.single-post .header-middle.type-featured,
body.single-post header.header-middle.type-featured {
    display: none !important;
}

body.single-post .parish-single-page-wrapper {
    padding-top: 24px;
    padding-bottom: 36px;
}

body.single-post .parish-single-columns {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 42px;
    align-items: start;
    width: 100%;
}

body.single-post .parish-single-sidebar {
    min-width: 0;
    text-align: center;
    color: #333;
}

body.single-post .parish-side-block {
    margin: 0 0 42px;
}

body.single-post .parish-side-block h2 {
    margin: 0 0 18px;
    color: #999 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    text-align: center !important;
}

body.single-post .parish-side-bible .bibleText {
    max-width: 205px;
    margin: 0 auto 4px;
    color: #171717;
    font-size: 18px;
    line-height: 1.45;
}

body.single-post .parish-side-bible .bibleVerse {
    color: #8f6a4a;
    font-size: 16px;
}

body.single-post .parish-side-priest img {
    display: block;
    width: 100%;
    max-width: 205px;
    height: auto;
    margin: 0 auto 10px;
    border-radius: 0;
}

body.single-post .parish-side-priest h3 {
    margin: 0 0 12px;
    color: #7b5a42;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 400;
}

body.single-post .parish-side-priest p,
body.single-post .parish-side-masses p {
    margin: 0 0 12px;
    color: #333;
    font-size: 15px;
    line-height: 1.42;
}

body.single-post .parish-side-priest .parish-side-contact {
    font-size: 11px;
    line-height: 1.5;
}

body.single-post .parish-single-maincol {
    min-width: 0;
}

body.single-post .parish-single-section-image {
    margin: 0 0 16px;
    overflow: hidden;
}

body.single-post .parish-single-section-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
}

/* W nowym dwukolumnowym układzie karta korzysta z pełnej szerokości kolumny. */
body.single-post #main-content article.parish-single-post {
    max-width: none;
    width: 100%;
    margin: 0;
}

body.single-post #main-content article.parish-single-post > .page-content {
    margin: 0 0 30px;
}

body.single-post .parish-single-footer {
    margin-top: 28px;
    text-align: center;
}

body.single-post .parish-single-back {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid #8f6a4a;
    border-radius: 5px;
    background: #fff;
    color: #8f6a4a !important;
    text-decoration: none !important;
}

body.single-post .parish-single-back:hover,
body.single-post .parish-single-back:focus {
    background: #fff !important;
    color: #8f6a4a !important;
    border-color: #8f6a4a !important;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-page-wrapper {
        padding-top: 10px !important;
    }

    body.single-post .parish-single-columns {
        display: block;
    }

    /* Na telefonie nie ma fizycznie lewej kolumny — zachowujemy czytelną treść. */
    body.single-post .parish-single-sidebar {
        display: none;
    }

    body.single-post .parish-single-section-image {
        margin: 0 0 12px;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.31 — bez zewnętrznej ramki + max 6 ogłoszeń
   ========================================================= */

/* Duża karta wpisu ma być otwarta wizualnie, bez obramowania. */
body.single-post .parish-single-card,
body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Na pojedynczym wpisie z kategorii Ogłoszenia pokazujemy maksymalnie 6 punktów. */
body.single-post article.category-ogloszenia .parish-single-content .pwi-announcement-list > .pwi-announcement-item:nth-of-type(n+7) {
    display: none !important;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-card,
    body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-radius: 0 !important;
    }
}

/* =========================================================
   SINGLE POST 5.0.4.32 — krótszy dół + bez zbędnych separatorów
   ========================================================= */

/* Usuwamy dekoracyjne poziome linie z nagłówka i stopki wpisu. */
body.single-post .parish-single-header,
body.single-post .parish-single-footer {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* Jeżeli w starej treści wpisu występują samodzielne separatory HR, nie pokazujemy ich. */
body.single-post .parish-single-content > hr,
body.single-post .parish-single-content > .sep,
body.single-post .parish-single-content > .sep-2,
body.single-post .parish-single-content > .sep-3 {
    display: none !important;
}

/* Zmniejszamy przerwę między końcem wpisu / przyciskiem powrotu a stopką strony. */
body.single-post .parish-single-page-wrapper {
    padding-bottom: 6px !important;
}

body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
}

body.single-post .parish-single-footer {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.single-post .parish-single-layout,
body.single-post .parish-single-layout .pane-wrapper,
body.single-post .parish-single-layout #main-content,
body.single-post .parish-single-layout #main,
body.single-post .parish-single-layout .limit-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-page-wrapper {
        padding-bottom: 4px !important;
    }

    body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
        padding-bottom: 6px !important;
    }

    body.single-post .parish-single-footer {
        margin-top: 14px !important;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.33 — bez powtórzonego nagłówka + równy dół
   ========================================================= */

/* Tytuł, data i kategoria są już zawarte w treści/grafice wpisu — nie dublujemy ich nad treścią. */
body.single-post .parish-single-header {
    display: none !important;
}

/* Odstęp pod przyciskiem powrotu ma odpowiadać odstępowi nad nim. */
body.single-post .parish-single-page-wrapper {
    padding-bottom: 18px !important;
}

body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
    padding-bottom: 0 !important;
}

body.single-post .parish-single-footer {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-page-wrapper {
        padding-bottom: 14px !important;
    }
    body.single-post .parish-single-footer {
        margin-top: 14px !important;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.34 — kompaktowe odstępy wg zaakceptowanej makiety
   ========================================================= */

/* Baner ma przechodzić płynnie w treść — bez dużej pustej strefy. */
body.single-post .parish-single-section-image {
    margin-bottom: 10px !important;
}

body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 10px !important;
    padding-bottom: 0 !important;
}

/* Usuwamy marginesy narzucone przez starsze reguły Vamtam na kontener treści. */
body.single-post .parish-single-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Pierwszy i ostatni element treści nie tworzą dodatkowych pustych pasów. */
body.single-post .parish-single-content > :first-child {
    margin-top: 0 !important;
}
body.single-post .parish-single-content > :last-child {
    margin-bottom: 0 !important;
}

/* Przycisk: równy, mały oddech nad i pod nim. */
body.single-post .parish-single-footer {
    margin: 12px 0 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

body.single-post .parish-single-back {
    margin: 0 !important;
}

/* Stopka strony zaczyna się tuż po sekcji wpisu. */
body.single-post .parish-single-page-wrapper {
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
}
body.single-post .parish-single-columns,
body.single-post .parish-single-maincol,
body.single-post article.parish-single-post,
body.single-post .parish-single-card {
    margin-bottom: 0 !important;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-section-image {
        margin-bottom: 8px !important;
    }
    body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
        padding-top: 8px !important;
    }
    body.single-post .parish-single-footer {
        margin-top: 10px !important;
    }
    body.single-post .parish-single-page-wrapper {
        padding-bottom: 10px !important;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.35 — mniejszy odstęp pod banerem
   ========================================================= */

/* Wpis zaczyna się wyraźnie bliżej grafiki sekcji. */
body.single-post .parish-single-section-image {
    margin-bottom: 0 !important;
}

body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
    padding-top: 0 !important;
}

/* Starsza treść wpisów ma własne pionowe odstępy; kompensujemy je tylko w single post. */
body.single-post .parish-single-content {
    margin-top: -28px !important;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-content {
        margin-top: -14px !important;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.36 — bez nachodzenia treści na baner
   ========================================================= */

/* Cofnięcie zbyt agresywnego ujemnego marginesu z 5.0.4.35. */
body.single-post .parish-single-content {
    margin-top: 0 !important;
}

/* Mały, kontrolowany odstęp między banerem a treścią. */
body.single-post .parish-single-section-image {
    margin-bottom: 14px !important;
}

body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
    padding-top: 0 !important;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-section-image {
        margin-bottom: 10px !important;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.37 — wyrównanie odstępu tylko dla Ogłoszeń
   ========================================================= */

/*
 * Intencje pozostają bez zmian.
 * Starsza struktura treści Ogłoszeń wnosi własny górny odstęp,
 * dlatego kompensujemy go wyłącznie dla kategorii ogloszenia.
 */
body.single-post article.category-ogloszenia .parish-single-content {
    margin-top: -18px !important;
}

@media only screen and (max-width: 958px) {
    body.single-post article.category-ogloszenia .parish-single-content {
        margin-top: -8px !important;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.38 — pełniejsza szerokość treści na telefonie
   ========================================================= */
@media only screen and (max-width: 958px) {
    /* Vamtam ogranicza kilka wrapperów jednocześnie; na single post
       zdejmujemy te limity, nie dotykając stron i strony głównej. */
    body.single-post .parish-single-layout,
    body.single-post .parish-single-layout .pane-wrapper,
    body.single-post .parish-single-layout #main-content,
    body.single-post .parish-single-layout #main,
    body.single-post .parish-single-layout .limit-wrapper,
    body.single-post .parish-single-page-wrapper,
    body.single-post .parish-single-columns,
    body.single-post .parish-single-maincol,
    body.single-post article.parish-single-post,
    body.single-post .parish-single-card,
    body.single-post .parish-single-content {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.single-post .parish-single-layout .limit-wrapper,
    body.single-post .parish-single-page-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.single-post .parish-single-section-image,
    body.single-post .parish-single-section-image img {
        width: 100% !important;
        max-width: none !important;
    }

    /* Starsze wpisy zawierają dodatkowe kontenery o własnej szerokości. */
    body.single-post .parish-single-content > div,
    body.single-post .parish-single-content > section,
    body.single-post .parish-single-content > article {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}

@media only screen and (max-width: 380px) {
    body.single-post .parish-single-layout .limit-wrapper,
    body.single-post .parish-single-page-wrapper {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.39 — rzeczywista pełna szerokość mobile
   + cache busting przez filemtime() w functions.php
   ========================================================= */
@media only screen and (max-width: 958px) {

    /*
     * Nie polegamy już na szerokości wrapperów Vamtam.
     * Główna kolumna pojedynczego wpisu ma szerokość viewportu
     * minus 24 px (po 12 px bezpiecznego marginesu).
     */
    body.single-post .parish-single-maincol {
        position: relative !important;
        left: 50% !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        margin-left: calc(-50vw + 12px) !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-post .parish-single-section-image,
    body.single-post .parish-single-section-image img,
    body.single-post article.parish-single-post,
    body.single-post .parish-single-card,
    body.single-post .parish-single-content {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Zdejmujemy boczne wcięcia ze starszego CSS treści tylko na single post. */
    body.single-post .parish-single-card,
    body.single-post #main-content article.parish-single-post > .page-content.parish-single-card {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media only screen and (max-width: 380px) {
    body.single-post .parish-single-maincol {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        margin-left: calc(-50vw + 8px) !important;
    }
}

/* =========================================================
   SINGLE POST 5.0.4.40 — nagłówek wpisu + udostępnianie
   ========================================================= */
body.single-post .parish-post-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin: 0 0 28px;
    padding: 8px 0 22px;
    border-bottom: 1px solid #e6ded5;
}
body.single-post .parish-post-head__info { min-width: 0; }
body.single-post .parish-post-head__title {
    margin: 0 0 12px !important;
    color: #2f6b2f !important;
    font-size: 38px !important;
    line-height: 1.18 !important;
    font-weight: 400 !important;
    text-align: left !important;
}
body.single-post .parish-post-head__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    color: #666;
    font-size: 16px;
    line-height: 1.4;
}
body.single-post .parish-post-head__category { color: #2f6b2f; }
body.single-post .parish-post-head__dot { color: #a88a68; }
body.single-post .parish-post-share {
    display: flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
    padding-bottom: 2px;
}
body.single-post .parish-post-share__label {
    margin-right: 4px;
    color: #555;
    font-size: 15px;
}
body.single-post .parish-share,
body.single-post .parish-share:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #ddd4ca;
    border-radius: 50%;
    background: #fff;
    color: #24435b !important;
    font: 700 15px/1 Arial, sans-serif;
    text-decoration: none !important;
    cursor: pointer;
    box-sizing: border-box;
}
body.single-post .parish-share--facebook { font-size: 21px; }
body.single-post .parish-share--whatsapp { color: #2f7b46 !important; font-size: 11px; }
body.single-post .parish-share--messenger { color: #2878c8 !important; font-size: 16px; }
body.single-post .parish-share--copy { color: #6d6258 !important; font-size: 18px; }
body.single-post .parish-share:hover,
body.single-post .parish-share:focus {
    transform: translateY(-1px);
    border-color: #bda98f;
    box-shadow: 0 3px 10px rgba(0,0,0,.08);
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head {
        display: block;
        margin-bottom: 20px;
        padding: 4px 0 16px;
    }
    body.single-post .parish-post-head__title {
        font-size: 28px !important;
        line-height: 1.22 !important;
    }
    body.single-post .parish-post-head__meta { font-size: 14px; gap: 7px; }
    body.single-post .parish-post-share {
        margin-top: 15px;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    body.single-post .parish-post-share__label { width: 100%; margin-bottom: 1px; }
    body.single-post .parish-share { width: 36px; height: 36px; }
}

/* =========================================================
   SINGLE POST 5.0.4.41 — data po lewej, kategoria po prawej
   ========================================================= */
body.single-post .parish-post-head {
    display: block;
    padding-top: 8px;
}

body.single-post .parish-post-head__top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
}

body.single-post .parish-post-head__title {
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0 !important;
}

body.single-post .parish-post-head__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    margin-top: 15px;
    color: #666;
    font-size: 16px;
    line-height: 1.4;
}

body.single-post .parish-post-head__date {
    color: #666;
}

body.single-post .parish-post-head__category,
body.single-post .parish-post-head__category:visited {
    margin-left: auto;
    color: #2f6b2f !important;
    text-decoration: none !important;
    font-weight: 500;
}

body.single-post .parish-post-head__category:hover,
body.single-post .parish-post-head__category:focus {
    color: #245524 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Zachowujemy trzy przyciski: Facebook, WhatsApp, udostępnij/kopiuj. */
body.single-post .parish-post-share {
    flex: 0 0 auto;
    margin: 0;
    padding-bottom: 2px;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head__top {
        display: block;
    }

    body.single-post .parish-post-share {
        margin-top: 14px;
        justify-content: flex-start;
    }

    body.single-post .parish-post-head__meta {
        margin-top: 13px;
        font-size: 14px;
        gap: 14px;
    }

    body.single-post .parish-post-head__category {
        text-align: right;
    }
}

/* =========================================================
   SINGLE POST 5.0.4.42 — meta w dwóch kolumnach
   Data po lewej, kategoria dokładnie pod udostępnianiem
   ========================================================= */
body.single-post .parish-post-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 28px;
    row-gap: 0;
    align-items: start;
    padding: 8px 0 22px;
}

body.single-post .parish-post-head__left {
    min-width: 0;
}

body.single-post .parish-post-head__right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    min-width: max-content;
}

body.single-post .parish-post-head__title {
    margin: 0 0 15px !important;
}

body.single-post .parish-post-head__date {
    display: block;
    color: #666;
    font-size: 16px;
    line-height: 1.4;
}

body.single-post .parish-post-share {
    margin: 0;
    padding: 0 0 15px;
}

body.single-post .parish-post-head__category,
body.single-post .parish-post-head__category:visited {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    color: #2f6b2f !important;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
    text-decoration: none !important;
}

body.single-post .parish-post-head__category:hover,
body.single-post .parish-post-head__category:focus {
    color: #245524 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head {
        display: block;
        padding: 4px 0 16px;
    }

    body.single-post .parish-post-head__title {
        margin-bottom: 10px !important;
    }

    body.single-post .parish-post-head__date {
        font-size: 14px;
    }

    body.single-post .parish-post-head__right {
        align-items: flex-start;
        margin-top: 14px;
        min-width: 0;
    }

    body.single-post .parish-post-share {
        margin: 0;
        padding-bottom: 10px;
        justify-content: flex-start;
    }

    body.single-post .parish-post-head__category,
    body.single-post .parish-post-head__category:visited {
        font-size: 14px;
    }
}

/* =========================================================
   SINGLE POST 5.0.4.43 — docelowy styl przycisków udostępniania
   ========================================================= */
body.single-post .parish-post-share {
    gap: 10px;
}

body.single-post .parish-share,
body.single-post .parish-share:visited {
    width: 44px;
    height: 44px;
    border: 1px solid #e6cdb6;
    border-radius: 9px;
    background: #fff;
    color: #9a6b44 !important;
    box-shadow: none;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.single-post .parish-share svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: currentColor;
}

body.single-post .parish-share--facebook,
body.single-post .parish-share--whatsapp,
body.single-post .parish-share--copy {
    color: #9a6b44 !important;
    font-size: inherit;
}

body.single-post .parish-share:hover,
body.single-post .parish-share:focus {
    transform: translateY(-1px);
    border-color: #c89f7d;
    background: #fffaf6;
    color: #7f5332 !important;
    box-shadow: none;
    outline: none;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-share {
        width: 42px;
        height: 42px;
    }
}


/* =========================================================
   SINGLE POST 5.0.4.44 — drobne wyrównanie kategorii
   ========================================================= */
@media only screen and (min-width: 959px) {
    body.single-post .parish-post-share {
        padding-bottom: 8px;
    }
}

/* 5.0.4.55 — licznik „Lubię to” w nagłówku pojedynczego wpisu. */
body.single-post .parish-post-share .parish-share--like {
    width: auto !important;
    min-width: 58px;
    gap: 5px;
    padding: 0 9px;
}
body.single-post .parish-post-share .parish-share--like .parish-news-like__count,
body.single-post .parish-post-share .parish-share--like .parish-global-like__count {
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

/* =========================================================
 * 5.0.4.56 — uporządkowany nagłówek pojedynczego wpisu
 * Tytuł + akcje w pierwszym rzędzie, data + kategoria w drugim.
 * ========================================================= */
body.single-post .parish-single-card {
    padding-top: 24px;
}

body.single-post .parish-post-head {
    margin: 0 0 12px;
    padding: 0 0 20px;
    border-bottom: 1px solid #e8ddd2;
}

body.single-post .parish-post-head__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: start;
}

body.single-post .parish-post-head__title,
body.single-post #main-content .parish-post-head__title {
    min-width: 0;
    margin: 0 !important;
    color: #8f6a4a !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
    letter-spacing: -0.015em;
    text-wrap: balance;
}

body.single-post .parish-post-share {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
}

body.single-post .parish-post-share__label {
    display: none !important;
}

body.single-post .parish-post-share .parish-share,
body.single-post .parish-post-share .parish-global-like {
    flex: 0 0 auto;
    margin: 0 !important;
}

body.single-post .parish-post-head__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: 16px;
}

body.single-post .parish-post-head__date {
    color: #666;
    font-size: 16px;
    line-height: 1.35;
    white-space: nowrap;
}

body.single-post .parish-post-head__category {
    margin-left: auto;
    color: #2f6b2f;
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
}

body.single-post .parish-post-head__category:hover,
body.single-post .parish-post-head__category:focus {
    color: #245524;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Treść zaczyna się bliżej uporządkowanego nagłówka. */
body.single-post .parish-single-content {
    margin-top: 12px;
}

@media only screen and (max-width: 1100px) {
    body.single-post .parish-post-head__top {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    body.single-post .parish-post-share {
        justify-content: flex-start;
    }
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-single-card {
        padding-top: 18px;
    }

    body.single-post .parish-post-head {
        padding-bottom: 16px;
    }

    body.single-post .parish-post-head__top {
        gap: 14px;
    }

    body.single-post .parish-post-head__title,
    body.single-post #main-content .parish-post-head__title {
        font-size: clamp(27px, 8vw, 36px) !important;
        line-height: 1.1 !important;
    }

    body.single-post .parish-post-share {
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    body.single-post .parish-post-share::-webkit-scrollbar {
        display: none;
    }

    body.single-post .parish-post-head__meta {
        margin-top: 13px;
        gap: 12px;
    }

    body.single-post .parish-post-head__date,
    body.single-post .parish-post-head__category {
        font-size: 14px;
    }
}

@media only screen and (max-width: 480px) {
    body.single-post .parish-post-head__meta {
        align-items: baseline;
    }

    body.single-post .parish-post-head__date,
    body.single-post .parish-post-head__category {
        white-space: normal;
    }
}

/* =========================================================
 * 5.0.4.57 — nagłówek wpisu: pełny tytuł + meta w 3 strefach
 * Desktop: data | akcje | kategoria. Mobile: wszystko centralnie.
 * ========================================================= */
body.single-post .parish-post-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 24px;
    row-gap: 18px;
    align-items: center;
}

body.single-post .parish-post-head__top,
body.single-post .parish-post-head__meta {
    display: contents;
}

body.single-post .parish-post-head__title,
body.single-post #main-content .parish-post-head__title {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    max-width: none;
    margin: 0 !important;
}

body.single-post .parish-post-head__date {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
}

body.single-post .parish-post-share {
    grid-column: 2;
    grid-row: 2;
    justify-self: center;
    justify-content: center;
    margin: 0;
}

body.single-post .parish-post-head__category {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
    margin-left: 0;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center;
    }

    body.single-post .parish-post-head__top,
    body.single-post .parish-post-head__meta {
        display: contents;
    }

    body.single-post .parish-post-head__title,
    body.single-post #main-content .parish-post-head__title {
        order: 1;
        width: 100%;
        text-align: center !important;
        text-wrap: balance;
    }

    body.single-post .parish-post-head__date {
        order: 2;
        justify-self: auto;
        text-align: center;
        white-space: normal;
    }

    body.single-post .parish-post-share {
        order: 3;
        width: auto;
        max-width: 100%;
        justify-content: center;
        overflow-x: visible;
        padding-bottom: 0;
    }

    body.single-post .parish-post-head__category {
        order: 4;
        justify-self: auto;
        margin: 0;
        text-align: center;
        white-space: normal;
    }
}

@media only screen and (max-width: 480px) {
    body.single-post .parish-post-head {
        gap: 10px;
    }

    body.single-post .parish-post-share {
        gap: 7px;
        flex-wrap: wrap;
    }
}

/* =========================================================
 * 5.0.4.58 — wyśrodkowany tytuł pojedynczego wpisu
 * Desktop i mobile: tytuł na pełnej szerokości, centralnie.
 * ========================================================= */
body.single-post .parish-post-head__title,
body.single-post #main-content .parish-post-head__title {
    text-align: center !important;
}

/* =========================================================
 * 5.0.4.59 — finalne wyrównanie drugiego rzędu nagłówka wpisu
 * Desktop: data | akcje | kategoria na jednej osi pionowej.
 * Zmniejszony odstęp między tytułem a metadanymi.
 * ========================================================= */
body.single-post .parish-post-head {
    row-gap: 12px;
}

body.single-post .parish-post-head__date,
body.single-post .parish-post-share,
body.single-post .parish-post-head__category {
    align-self: center;
}

body.single-post .parish-post-head__date,
body.single-post .parish-post-head__category {
    display: flex;
    align-items: center;
    min-height: 56px;
    line-height: 1.25;
}

body.single-post .parish-post-share {
    min-height: 56px;
}

@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head {
        gap: 10px;
    }

    body.single-post .parish-post-head__date,
    body.single-post .parish-post-head__category,
    body.single-post .parish-post-share {
        min-height: 0;
    }

    body.single-post .parish-post-head__date,
    body.single-post .parish-post-head__category {
        justify-content: center;
    }
}

/* =========================================================
 * 5.0.4.60 — mobile: tytuł / data + kategoria / przyciski
 * Desktop pozostaje bez zmian względem 5.0.4.59.
 * ========================================================= */
@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head {
        display: grid;
        grid-template-columns: auto auto;
        grid-template-rows: auto auto auto;
        justify-content: center;
        align-items: center;
        column-gap: 18px;
        row-gap: 10px;
        text-align: center;
    }

    body.single-post .parish-post-head__top,
    body.single-post .parish-post-head__meta {
        display: contents;
    }

    body.single-post .parish-post-head__title,
    body.single-post #main-content .parish-post-head__title {
        grid-column: 1 / -1;
        grid-row: 1;
        width: 100%;
        text-align: center !important;
        text-wrap: balance;
    }

    body.single-post .parish-post-head__date {
        grid-column: 1;
        grid-row: 2;
        justify-self: end;
        min-height: 0;
        white-space: nowrap;
        text-align: right;
    }

    body.single-post .parish-post-head__category {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
        min-height: 0;
        margin: 0;
        white-space: nowrap;
        text-align: left;
    }

    body.single-post .parish-post-share {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-self: center;
        width: auto;
        max-width: 100%;
        min-height: 0;
        margin: 0;
        justify-content: center;
        overflow-x: visible;
        padding-bottom: 0;
    }
}

@media only screen and (max-width: 480px) {
    body.single-post .parish-post-head {
        column-gap: 14px;
        row-gap: 10px;
    }

    body.single-post .parish-post-share {
        gap: 7px;
        flex-wrap: nowrap;
    }
}

/* =========================================================
 * 5.0.4.61 — mobile: spójna data + kategoria bez ikon/separatorów
 * Ogłoszenia, Intencje i pozostałe kategorie mają ten sam wygląd.
 * Desktop pozostaje bez zmian względem 5.0.4.59/60.
 * ========================================================= */
@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head__date,
    body.single-post .parish-post-head__category,
    body.single-post .parish-post-head__category:visited {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.single-post .parish-post-head__date::before,
    body.single-post .parish-post-head__date::after,
    body.single-post .parish-post-head__category::before,
    body.single-post .parish-post-head__category::after {
        content: none !important;
        display: none !important;
    }

    body.single-post .parish-post-head__category,
    body.single-post .parish-post-head__category:visited {
        padding: 0 !important;
        margin: 0 !important;
        color: #2f6b2f !important;
        font-weight: 500 !important;
        text-decoration: none !important;
    }

    body.single-post .parish-post-head__category:hover,
    body.single-post .parish-post-head__category:focus {
        color: #245524 !important;
        text-decoration: underline !important;
        text-underline-offset: 3px;
    }

    /* Rząd data + kategoria ma wyglądać jak jedna spokojna para metadanych. */
    body.single-post .parish-post-head {
        column-gap: 16px;
    }
}

@media only screen and (max-width: 480px) {
    body.single-post .parish-post-head {
        column-gap: 12px;
    }
}

/* =========================================================
 * 5.0.4.62 — mobile: pełne centrowanie tytułu + separator metadanych
 * Tylko mobile. Desktop bez zmian.
 * ========================================================= */
@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head {
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
    }

    body.single-post .parish-post-head__title,
    body.single-post #main-content .parish-post-head__title {
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: center !important;
    }

    body.single-post .parish-post-head__category::before,
    body.single-post .parish-post-head__category:visited::before {
        content: "|" !important;
        display: inline-block !important;
        margin: 0 12px 0 0 !important;
        color: #a88a68 !important;
        font-weight: 400 !important;
        text-decoration: none !important;
    }

    body.single-post .parish-post-head {
        column-gap: 0;
    }
}

@media only screen and (max-width: 480px) {
    body.single-post .parish-post-head__category::before,
    body.single-post .parish-post-head__category:visited::before {
        margin-right: 10px !important;
    }
}

/* =========================================================
 * 5.0.4.63 — mobile: stabilne centrowanie tytułu + separator z oddechem
 * Tylko mobile. Desktop pozostaje bez zmian.
 * ========================================================= */
@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
        width: 100% !important;
        max-width: none !important;
        justify-content: stretch !important;
        justify-items: stretch !important;
        align-items: center !important;
        column-gap: 0 !important;
        row-gap: 10px !important;
        text-align: center !important;
    }

    body.single-post .parish-post-head__top {
        display: contents !important;
    }

    body.single-post .parish-post-head__title,
    body.single-post #main-content .parish-post-head__title {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        justify-self: stretch !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;
    }

    body.single-post .parish-post-head__meta {
        grid-column: 1 !important;
        grid-row: 2 !important;
        display: flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        text-align: center !important;
    }

    body.single-post .parish-post-head__date,
    body.single-post .parish-post-head__category {
        display: inline-flex !important;
        width: auto !important;
        min-height: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        text-align: center !important;
    }

    body.single-post .parish-post-head__category::before,
    body.single-post .parish-post-head__category:visited::before {
        content: "|" !important;
        display: inline-block !important;
        margin: 0 10px !important;
        color: #a88a68 !important;
        font-weight: 400 !important;
        text-decoration: none !important;
    }

    body.single-post .parish-post-share {
        grid-column: 1 !important;
        grid-row: 3 !important;
        justify-self: center !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        justify-content: center !important;
    }
}

/* =========================================================
 * 5.0.4.64 — mobile: pewne centrowanie tekstu tytułu
 * Osobny blok tekstowy omija style h1 narzucane przez Vamtam.
 * ========================================================= */
@media only screen and (max-width: 958px) {
    body.single-post .parish-post-head__title,
    body.single-post #main-content .parish-post-head__title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
        justify-items: center !important;
    }

    body.single-post .parish-post-head__title-text,
    body.single-post #main-content .parish-post-head__title-text {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        text-align: center !important;
    }
}

/* =========================================================
 * 5.0.4.68 — Aktualności: plakat po lewej, treść po prawej
 * Układ wymuszony w child theme, niezależnie od stylów Vamtam.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event,
body.single-post .parish-single-content .parish-event-entry {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event-top,
body.single-post .parish-single-content .parish-event-entry > div:first-child {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    gap: 30px !important;
    width: 100% !important;
    margin: 0 0 36px !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event-poster {
    float: none !important;
    flex: 0 0 42% !important;
    width: 42% !important;
    max-width: 42% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event-poster img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

body.single-post .parish-single-content .pwi-event-intro {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Wariant prosty: gdy w treści są kolejno plakat i opis bez .pwi-event-top. */
body.single-post .parish-single-content .pwi-event > .pwi-event-poster {
    float: left !important;
    width: 42% !important;
    max-width: 42% !important;
    margin: 0 34px 24px 0 !important;
}

body.single-post .parish-single-content .pwi-event > .pwi-event-intro {
    display: block !important;
    width: auto !important;
    max-width: none !important;
}

body.single-post .parish-single-content .pwi-event-clear,
body.single-post .parish-single-content .pwi-event-program,
body.single-post .parish-single-content .pwi-event-invitation {
    clear: both !important;
}

body.single-post .parish-single-content .pwi-event-program {
    width: 100% !important;
    max-width: none !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event-top,
    body.single-post .parish-single-content .parish-event-entry > div:first-child {
        display: block !important;
        width: 100% !important;
        margin-bottom: 28px !important;
    }

    body.single-post .parish-single-content .pwi-event-poster,
    body.single-post .parish-single-content .pwi-event > .pwi-event-poster {
        float: none !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 24px !important;
    }

    body.single-post .parish-single-content .pwi-event-intro,
    body.single-post .parish-single-content .pwi-event > .pwi-event-intro {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* =========================================================
 * 5.0.4.69 — domknięcie układu wydarzenia
 * Plakat + pełna prawa kolumna, program 2 x 2 na pełnej szerokości.
 * ========================================================= */

/* Górna część wydarzenia: sztywna siatka 42/58.
   Dzięki temu cała zawartość .pwi-event-intro (łącznie z patronatem)
   pozostaje po prawej stronie plakatu i nie zawija się pod obraz. */
body.single-post .parish-single-content .pwi-event {
    display: grid !important;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr) !important;
    column-gap: 34px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
}

body.single-post .parish-single-content .pwi-event > .pwi-event-poster {
    grid-column: 1 !important;
    grid-row: 1 !important;
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.single-post .parish-single-content .pwi-event > .pwi-event-intro {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Jeżeli wpis ma dodatkowy .pwi-event-clear, nie powinien tworzyć wysokości. */
body.single-post .parish-single-content .pwi-event > .pwi-event-clear {
    grid-column: 1 / -1 !important;
    display: block !important;
    clear: none !important;
    width: 100% !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Program i zaproszenie zawsze pod obiema kolumnami. */
body.single-post .parish-single-content .pwi-event > .pwi-event-program,
body.single-post .parish-single-content .pwi-event > .pwi-event-invitation {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    clear: none !important;
}

body.single-post .parish-single-content .pwi-event > .pwi-event-program {
    margin-top: 34px !important;
}

/* Program 2 x 2. Wiersze z HTML stają się przezroczyste dla siatki. */
body.single-post .parish-single-content .pwi-event-program-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    table-layout: auto !important;
    border-collapse: separate !important;
}

body.single-post .parish-single-content .pwi-event-program-row {
    display: contents !important;
}

body.single-post .parish-single-content .pwi-event-program-item,
body.single-post .parish-single-content .pwi-event-program-item:nth-child(2) {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 18px 24px !important;
    border-left: 0 !important;
    border-bottom: 1px solid #e1e8e1 !important;
    box-sizing: border-box !important;
}

/* Delikatny podział kolumn programu na desktopie. */
body.single-post .parish-single-content .pwi-event-program-item:nth-child(even) {
    border-left: 1px solid #e1e8e1 !important;
}

body.single-post .parish-single-content .pwi-event-program-content {
    display: table !important;
    width: 100% !important;
}

/* Mobile: wszystko pionowo, bez bocznych podziałów. */
@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event {
        display: block !important;
        width: 100% !important;
    }

    body.single-post .parish-single-content .pwi-event > .pwi-event-poster,
    body.single-post .parish-single-content .pwi-event > .pwi-event-intro,
    body.single-post .parish-single-content .pwi-event > .pwi-event-program,
    body.single-post .parish-single-content .pwi-event > .pwi-event-invitation {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-post .parish-single-content .pwi-event > .pwi-event-poster {
        margin: 0 0 24px !important;
    }

    body.single-post .parish-single-content .pwi-event-program-grid {
        display: block !important;
        width: 100% !important;
    }

    body.single-post .parish-single-content .pwi-event-program-row {
        display: block !important;
    }

    body.single-post .parish-single-content .pwi-event-program-item,
    body.single-post .parish-single-content .pwi-event-program-item:nth-child(2),
    body.single-post .parish-single-content .pwi-event-program-item:nth-child(even) {
        display: block !important;
        width: 100% !important;
        padding: 17px 0 !important;
        border-left: 0 !important;
        border-bottom: 1px solid #e1e8e1 !important;
    }
}

/* =========================================================
 * 5.0.4.71 — uniwersalny moduł wydarzenia
 * Te same klasy obsługują shortcode [parish_event] oraz czysty HTML wklejany do wpisu.
 * ========================================================= */
body.single-post .parish-single-content .parish-event-module {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: #333 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .parish-event-module__hero {
    display: grid !important;
    grid-template-columns: minmax(0, 46%) minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 0 42px !important;
}

body.single-post .parish-single-content .parish-event-module__poster {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .parish-event-module__poster img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 4px !important;
}

body.single-post .parish-single-content .parish-event-module__intro {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 17.5px !important;
    line-height: 1.74 !important;
}

body.single-post .parish-single-content .parish-event-module__intro p {
    margin: 0 0 22px !important;
}

body.single-post .parish-single-content .parish-event-module__facts {
    margin: 26px 0 !important;
    padding: 21px 22px !important;
    background: #f7faf5 !important;
    border-left: 5px solid #2f6b2f !important;
    border-radius: 5px !important;
}

body.single-post .parish-single-content .parish-event-module__fact {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 15px !important;
}

body.single-post .parish-single-content .parish-event-module__fact:last-child {
    margin-bottom: 0 !important;
}

body.single-post .parish-single-content .parish-event-module__fact-icon {
    display: inline-flex !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #2f6b2f !important;
}

body.single-post .parish-single-content .parish-event-module__fact-icon svg,
body.single-post .parish-single-content .parish-event-module__program-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.single-post .parish-single-content .parish-event-module__fact strong {
    color: #2f6b2f !important;
}

body.single-post .parish-single-content .parish-event-module__patronage {
    margin-bottom: 0 !important;
}

body.single-post .parish-single-content .parish-event-module__program {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    clear: both !important;
}

body.single-post .parish-single-content .parish-event-module__program h2 {
    margin: 0 !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #ceddce !important;
    color: #2f6b2f !important;
    font-size: 28px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
}

body.single-post .parish-single-content .parish-event-module__program-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
}

body.single-post .parish-single-content .parish-event-module__program-item {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 15px !important;
    align-items: start !important;
    min-width: 0 !important;
    padding: 22px 26px 22px 10px !important;
    border-bottom: 1px solid #e1e8e1 !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .parish-event-module__program-item:nth-child(even) {
    padding-left: 26px !important;
    border-left: 1px solid #e1e8e1 !important;
}

body.single-post .parish-single-content .parish-event-module__program-icon {
    display: inline-flex !important;
    width: 46px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    background: #f7faf5 !important;
    border-radius: 50% !important;
    color: #2f6b2f !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .parish-event-module__program-item strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: #2f6b2f !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
}

body.single-post .parish-single-content .parish-event-module__program-item span {
    display: block !important;
}

body.single-post .parish-single-content .parish-event-module__program-item b {
    font-weight: 700 !important;
}

body.single-post .parish-single-content .parish-event-module__invitation {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 28px 0 0 !important;
    padding: 23px 28px !important;
    background: #f7faf5 !important;
    border-left: 5px solid #2f6b2f !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .parish-event-module__invitation-mark {
    color: #2f6b2f !important;
    font-size: 34px !important;
    line-height: 1 !important;
    text-align: center !important;
}

body.single-post .parish-single-content .parish-event-module__invitation strong {
    display: block !important;
    margin-bottom: 5px !important;
    color: #2f6b2f !important;
    font-size: 21px !important;
}

body.single-post .parish-single-content .parish-event-module__invitation p {
    margin: 0 !important;
    color: #555 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .parish-event-module__hero {
        display: block !important;
        width: 100% !important;
        margin-bottom: 28px !important;
    }

    body.single-post .parish-single-content .parish-event-module__poster {
        margin: 0 0 24px !important;
    }

    body.single-post .parish-single-content .parish-event-module__intro {
        font-size: 16px !important;
    }

    body.single-post .parish-single-content .parish-event-module__facts {
        margin: 23px 0 !important;
        padding: 18px !important;
    }

    body.single-post .parish-single-content .parish-event-module__program h2 {
        font-size: 24px !important;
    }

    body.single-post .parish-single-content .parish-event-module__program-grid {
        display: block !important;
        width: 100% !important;
    }

    body.single-post .parish-single-content .parish-event-module__program-item,
    body.single-post .parish-single-content .parish-event-module__program-item:nth-child(even) {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        width: 100% !important;
        padding: 17px 0 !important;
        border-left: 0 !important;
        border-bottom: 1px solid #e1e8e1 !important;
    }

    body.single-post .parish-single-content .parish-event-module__program-icon {
        width: 42px !important;
        height: 42px !important;
    }

    body.single-post .parish-single-content .parish-event-module__invitation {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        padding: 22px 18px !important;
        text-align: center !important;
    }

    body.single-post .parish-single-content .parish-event-module__invitation strong {
        font-size: 19px !important;
    }
}

/* =========================================================
 * 5.0.4.72 — zwykły HTML wydarzenia (.pwi-event)
 * Naprawa zgodności struktury HTML z CSS child theme.
 * Desktop: plakat 46% + opis 54%, program 2x2, zaproszenie 100%.
 * Mobile: jedna kolumna.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: #333 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-top {
    display: grid !important;
    grid-template-columns: minmax(0, 46%) minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 0 42px !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 4px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-intro {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: 17.5px !important;
    line-height: 1.74 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-intro p {
    margin: 0 0 22px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-details {
    display: block !important;
    width: 100% !important;
    margin: 26px 0 !important;
    padding: 21px 22px !important;
    background: #f7faf5 !important;
    border-left: 5px solid #2f6b2f !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 15px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail:last-child {
    margin-bottom: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail-icon {
    display: inline-flex !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #2f6b2f !important;
    line-height: 1 !important;
    font-size: 20px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail strong {
    color: #2f6b2f !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-clear {
    display: none !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program {
    display: block !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-title {
    margin: 0 !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #ceddce !important;
    color: #2f6b2f !important;
    font-size: 28px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-row {
    display: contents !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-item,
body.single-post .parish-single-content .pwi-event .pwi-event-program-item:nth-child(2) {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 22px 26px 22px 10px !important;
    border-left: 0 !important;
    border-bottom: 1px solid #e1e8e1 !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-item:nth-child(even) {
    padding-left: 26px !important;
    border-left: 1px solid #e1e8e1 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-content {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 15px !important;
    align-items: start !important;
    width: 100% !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-icon {
    display: block !important;
    width: 52px !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-symbol {
    display: inline-flex !important;
    width: 46px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    background: #f7faf5 !important;
    border-radius: 50% !important;
    color: #2f6b2f !important;
    font-size: 22px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-text {
    display: block !important;
    min-width: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-text > strong:first-child {
    display: block !important;
    margin: 0 0 4px !important;
    color: #2f6b2f !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-invitation {
    display: block !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin: 28px 0 0 !important;
    padding: 23px 28px !important;
    background: #f7faf5 !important;
    border-left: 5px solid #2f6b2f !important;
    border-radius: 6px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-invitation-title {
    margin: 0 0 6px !important;
    color: #2f6b2f !important;
    font-size: 21px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-invitation-text {
    max-width: 760px !important;
    margin: 0 auto !important;
    color: #555 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-top {
        display: block !important;
        width: 100% !important;
        margin-bottom: 28px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-poster {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 24px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-intro {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        font-size: 16px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-details {
        margin: 23px 0 !important;
        padding: 18px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-title {
        font-size: 24px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid {
        display: block !important;
        width: 100% !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-row {
        display: block !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-item,
    body.single-post .parish-single-content .pwi-event .pwi-event-program-item:nth-child(2),
    body.single-post .parish-single-content .pwi-event .pwi-event-program-item:nth-child(even) {
        display: block !important;
        width: 100% !important;
        padding: 17px 0 !important;
        border-left: 0 !important;
        border-bottom: 1px solid #e1e8e1 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-content {
        grid-template-columns: 48px minmax(0, 1fr) !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-icon {
        width: 48px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-symbol {
        width: 42px !important;
        height: 42px !important;
        font-size: 20px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-invitation {
        padding: 22px 18px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-invitation-title {
        font-size: 19px !important;
    }
}

/* =========================================================
 * 5.0.4.73 — izolacja układu wydarzenia od CSS Vamtam
 * Desktop: plakat 48% + opis 52%; program 2x2.
 * Mobile: jedna kolumna.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event,
body.single-post .parish-single-content .pwi-event * {
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    column-count: auto !important;
    columns: auto !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-top {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 34px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    column-count: auto !important;
    columns: auto !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-top > .pwi-event-poster {
    display: block !important;
    flex: 0 0 calc(48% - 17px) !important;
    width: calc(48% - 17px) !important;
    max-width: calc(48% - 17px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-top > .pwi-event-intro {
    display: block !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    column-count: auto !important;
    columns: auto !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    column-count: auto !important;
    columns: auto !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 12px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-grid {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    column-count: auto !important;
    columns: auto !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-row {
    display: contents !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item,
body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(2),
body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(even) {
    display: block !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 22px 24px !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    border-bottom: 1px solid #e1e8e1 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(odd) {
    padding-left: 0 !important;
    border-left: 0 !important;
    border-right: 1px solid #e1e8e1 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(even) {
    padding-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-content {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-icon {
    flex: 0 0 48px !important;
    width: 48px !important;
    max-width: 48px !important;
    min-width: 48px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-text {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-invitation {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    clear: both !important;
    float: none !important;
    position: static !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-top {
        display: block !important;
        width: 100% !important;
        margin-bottom: 28px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-top > .pwi-event-poster,
    body.single-post .parish-single-content .pwi-event .pwi-event-top > .pwi-event-intro {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-top > .pwi-event-poster {
        margin-bottom: 24px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid {
        display: block !important;
        width: 100% !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item,
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(2),
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(even),
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(odd) {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 17px 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #e1e8e1 !important;
    }
}


/* =========================================================
 * 5.0.4.74 — wydarzenie: większy plakat i ciaśniejszy rytm
 * Wyłącznie kosmetyka na desktopie względem 5.0.4.73.
 * Plakat 54%, opis 46%, mniejszy odstęp przed programem.
 * Mobile bez zmian.
 * ========================================================= */
@media only screen and (min-width: 768px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-top {
        gap: 28px !important;
        margin-bottom: 26px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-top > .pwi-event-poster {
        flex: 0 0 calc(54% - 14px) !important;
        width: calc(54% - 14px) !important;
        max-width: calc(54% - 14px) !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-top > .pwi-event-intro {
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-title {
        margin-top: 0 !important;
    }
}


/* =========================================================
 * 5.0.4.75 — patronat pod plakatem + wspólna dolna linia
 * Desktop: obraz kończy się na wysokości dolnej krawędzi
 * panelu daty i miejsca. Patronat znajduje się pod obrazem.
 * Mobile: naturalny układ pionowy bez wymuszania wysokości.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event .pwi-event-poster > .pwi-event-patronage {
    display: block !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster > .pwi-event-patronage strong {
    display: inline !important;
    font-weight: 700 !important;
}

@media only screen and (min-width: 768px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-top {
        align-items: flex-start !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-poster > img {
        width: 100% !important;
        max-width: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
    }
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-poster > img {
        height: auto !important;
        object-fit: contain !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-poster > .pwi-event-patronage {
        margin-top: 14px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
}


/* =========================================================
 * 5.0.4.76 — wydarzenie: wyrównanie ikon + centrowanie zaproszenia
 * Drobna kosmetyka względem 5.0.4.75.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event .pwi-event-detail {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    align-items: center !important;
    width: 100% !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail-icon {
    display: flex !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    flex: none !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail > div:last-child {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-invitation,
body.single-post .parish-single-content .pwi-event .pwi-event-invitation-title,
body.single-post .parish-single-content .pwi-event .pwi-event-invitation-text {
    text-align: center !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-invitation-text {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
 * 5.0.4.77 — harmonizacja programu uroczystości
 * Jednolity rytm 2×2: stała kolumna ikon, tytuł zawsze
 * w osobnym wierszu, opis poniżej, równe odstępy i wysokości.
 * ========================================================= */
@media only screen and (min-width: 768px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: 100% !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item,
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(2),
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(even),
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(odd) {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 142px !important;
        padding: 24px 26px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        border-bottom: 1px solid #e1e8e1 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(odd) {
        border-right: 1px solid #e1e8e1 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(even) {
        border-right: 0 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-content {
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr) !important;
        column-gap: 18px !important;
        align-items: start !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-icon {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        width: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-symbol {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 50% !important;
        line-height: 1 !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-text {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.62 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-text > strong:first-child {
        display: block !important;
        width: 100% !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        line-height: 1.3 !important;
    }
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-program-content {
        display: grid !important;
        grid-template-columns: 50px minmax(0, 1fr) !important;
        column-gap: 14px !important;
        align-items: start !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-icon {
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        margin: 0 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-symbol {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
        line-height: 1 !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-text > strong:first-child {
        display: block !important;
        margin: 0 0 7px !important;
        line-height: 1.3 !important;
    }
}

/* =========================================================
 * 5.0.4.78 — precyzyjne wyrównanie panelu daty i miejsca
 * Stała kolumna ikon + tekst wycentrowany pionowo względem ikony.
 * Symbole tekstowe zastąpione równymi SVG, aby oba wiersze miały
 * identyczną optyczną oś niezależnie od fontu motywu Vamtam.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event .pwi-event-details {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 14px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail,
body.single-post .parish-single-content .pwi-event .pwi-event-detail:last-child {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail-icon {
    display: block !important;
    align-self: center !important;
    justify-self: center !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 20px 20px !important;
    box-sizing: border-box !important;
}

/* Kalendarz */
body.single-post .parish-single-content .pwi-event .pwi-event-detail:first-child .pwi-event-detail-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239b6b3f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14' rx='2'/%3E%3Cpath d='M8 3.5v4M16 3.5v4M4 9.5h16'/%3E%3Cpath d='M8 13h2M12 13h2M16 13h1M8 16h2M12 16h2'/%3E%3C/svg%3E") !important;
}

/* Lokalizacja */
body.single-post .parish-single-content .pwi-event .pwi-event-detail:nth-child(2) .pwi-event-detail-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232f6b2f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.2 6-11a6 6 0 1 0-12 0c0 5.8 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E") !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail > div:last-child {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail > div:last-child > strong,
body.single-post .parish-single-content .pwi-event .pwi-event-detail > div:last-child strong {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-detail,
    body.single-post .parish-single-content .pwi-event .pwi-event-detail:last-child {
        grid-template-columns: 38px minmax(0, 1fr) !important;
        column-gap: 12px !important;
        min-height: 38px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-detail-icon {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        background-size: 19px 19px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-detail > div:last-child {
        min-height: 38px !important;
    }
}

/* =========================================================
 * 5.0.4.79 — optyczne ujednolicenie ikon daty i miejsca
 * Wspólne pole 32x32; kalendarz minimalnie skorygowany optycznie,
 * aby jego ciężar odpowiadał pinezce lokalizacji.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event .pwi-event-detail-icon {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    background-position: center center !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail:first-child .pwi-event-detail-icon {
    background-size: 19px 19px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-detail:nth-child(2) .pwi-event-detail-icon {
    background-size: 20px 20px !important;
}

/* =========================================================
 * 5.0.4.80 — skromne meta pod plakatem
 * Desktop: data po lewej, miejsce po prawej w jednej linii.
 * Bez tła, ramki i dużego panelu. Mobile: dwa wiersze do lewej.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event .pwi-event-poster-meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 22px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-date,
body.single-post .parish-single-content .pwi-event .pwi-event-poster-location {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #3f3f3f !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-date {
    justify-content: flex-start !important;
    text-align: left !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-location {
    justify-content: flex-end !important;
    text-align: right !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-date strong,
body.single-post .parish-single-content .pwi-event .pwi-event-poster-location strong {
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 600 !important;
    color: #3f3f3f !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon {
    display: inline-block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 17px 17px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon--calendar {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2' fill='none' stroke='%232f6b2f' stroke-width='1.7'/%3E%3Cpath d='M7.5 3.5v4M16.5 3.5v4M3.5 9.5h17' fill='none' stroke='%232f6b2f' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon--location {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.25 6-11a6 6 0 1 0-12 0c0 5.75 6 11 6 11Z' fill='none' stroke='%232f6b2f' stroke-width='1.7' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='10' r='2.2' fill='none' stroke='%232f6b2f' stroke-width='1.7'/%3E%3C/svg%3E") !important;
}

/* Nowy układ nie używa starego zielonego panelu pod plakatem. */
body.single-post .parish-single-content .pwi-event .pwi-event-poster > .pwi-event-details {
    display: none !important;
}

/* Patronat jest częścią prawej kolumny opisu. */
body.single-post .parish-single-content .pwi-event .pwi-event-intro > .pwi-event-patronage {
    display: block !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-intro > .pwi-event-patronage strong {
    font-weight: 700 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-poster-meta {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 9px !important;
        margin-top: 12px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-poster-date,
    body.single-post .parish-single-content .pwi-event .pwi-event-poster-location {
        justify-content: flex-start !important;
        text-align: left !important;
        font-size: 13px !important;
    }
}


/* =========================================================
 * 5.0.4.81 — dopracowanie meta pod plakatem i programu
 * Zielone, czytelne SVG; data bez łamania; lokalizacja do prawej.
 * Mniejszy odstęp między tytułem a opisem punktu programu.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event .pwi-event-poster-meta {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
    column-gap: 18px !important;
    margin-top: 12px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-date,
body.single-post .parish-single-content .pwi-event .pwi-event-poster-location {
    gap: 7px !important;
    color: #2f6b2f !important;
    line-height: 1.3 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-date {
    white-space: nowrap !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-location {
    justify-content: flex-end !important;
    text-align: right !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-date strong,
body.single-post .parish-single-content .pwi-event .pwi-event-poster-location strong {
    color: #2f6b2f !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon {
    flex: 0 0 19px !important;
    width: 19px !important;
    height: 19px !important;
    background-size: 18px 18px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon--calendar {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2' fill='none' stroke='%232f6b2f' stroke-width='1.8'/%3E%3Cpath d='M7.5 3.5v4M16.5 3.5v4M3.5 9.5h17' fill='none' stroke='%232f6b2f' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M7 13h2M11 13h2M15 13h2M7 17h2M11 17h2M15 17h2' fill='none' stroke='%232f6b2f' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon--location {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22c-1.2-1.4-7-7.1-7-12a7 7 0 1 1 14 0c0 4.9-5.8 10.6-7 12Z' fill='none' stroke='%232f6b2f' stroke-width='1.9' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='10' r='2.4' fill='none' stroke='%232f6b2f' stroke-width='1.9'/%3E%3C/svg%3E") !important;
}

/* Zwarty rytm programu: tytuł bliżej opisu, mniej pustego miejsca. */
body.single-post .parish-single-content .pwi-event .pwi-event-program-item {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-content {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    column-gap: 14px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-icon {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-symbol {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-text {
    line-height: 1.5 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-text > strong:first-child {
    margin: 0 0 3px !important;
    line-height: 1.25 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-poster-meta {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 7px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-poster-date {
        white-space: normal !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-poster-location {
        justify-content: flex-start !important;
        text-align: left !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-item {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    body.single-post .parish-single-content .pwi-event .pwi-event-program-text > strong:first-child {
        margin-bottom: 3px !important;
    }
}

/* =========================================================
 * 5.0.4.82 — meta pod plakatem i zwarty program
 * Brązowe ikony; godzina pod datą; lokalizacja po prawej.
 * Opis programu bez nadmiernej przerwy pod tytułem.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event .pwi-event-poster-date,
body.single-post .parish-single-content .pwi-event .pwi-event-poster-location {
    color: #9a673f !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon--calendar {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2' fill='none' stroke='%239a673f' stroke-width='1.8'/%3E%3Cpath d='M7.5 3.5v4M16.5 3.5v4M3.5 9.5h17' fill='none' stroke='%239a673f' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M7 13h2M11 13h2M15 13h2M7 17h2M11 17h2M15 17h2' fill='none' stroke='%239a673f' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-meta-icon--location {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22c-1.2-1.4-7-7.1-7-12a7 7 0 1 1 14 0c0 4.9-5.8 10.6-7 12Z' fill='none' stroke='%239a673f' stroke-width='1.9' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='10' r='2.4' fill='none' stroke='%239a673f' stroke-width='1.9'/%3E%3C/svg%3E") !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-poster-date strong,
body.single-post .parish-single-content .pwi-event .pwi-event-poster-location strong {
    color: #2f6b2f !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-date-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1px !important;
    min-width: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-date-day,
body.single-post .parish-single-content .pwi-event .pwi-event-date-time {
    display: block !important;
    white-space: nowrap !important;
}

@media only screen and (min-width: 768px) {
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item,
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(2),
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(even),
    body.single-post .parish-single-content .pwi-event .pwi-event-program-grid .pwi-event-program-item:nth-child(odd) {
        min-height: 0 !important;
        height: auto !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-content {
    align-items: flex-start !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-text > strong:first-child {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

body.single-post .parish-single-content .pwi-event .pwi-event-program-desc {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}


/* =========================================================
 * 5.0.4.88 — zwarty program Mszy (naprawa u źródła)
 * Tylko wariant .pwi-event--mass. Starszy wpis wydarzenia
 * pozostaje bez zmian.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-grid {
    align-items: flex-start !important;
    align-content: flex-start !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-item,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-item:nth-child(odd),
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-item:nth-child(even) {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    align-self: flex-start !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-content {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    align-items: start !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text {
    display: grid !important;
    grid-template-rows: auto auto !important;
    row-gap: 3px !important;
    align-content: start !important;
    justify-content: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text > strong:first-child,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-desc {
    display: block !important;
    position: static !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text > strong:first-child {
    line-height: 1.25 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-desc {
    line-height: 1.4 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-item,
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-item:nth-child(odd),
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-item:nth-child(even) {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}

/* =========================================================
 * 5.0.4.89 — program Mszy: neutralizacja wpautop / akapitów
 * WordPress może opakować tytuł i opis w <p>, które mają własne
 * marginesy. Reset dotyczy wyłącznie wariantu .pwi-event--mass.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text p + p {
    margin-top: 4px !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text > br,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text p > br:only-child {
    display: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text > strong:first-child,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-desc {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Awaryjne domknięcie rytmu także wtedy, gdy wpautop nie tworzy <p>. */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-desc {
    margin-top: 4px !important;
}

/* =========================================================
 * 5.0.4.90 — program Mszy: usunięcie wszystkich <br>
 * WordPress potrafi wstawić <br> między tytułem a opisem,
 * co tworzy wizualnie pusty wiersz mimo poprawnych marginesów.
 * Zmiana wyłącznie dla wariantu .pwi-event--mass.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text br {
    display: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 3px !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-text > strong:first-child,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-desc {
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
 * 5.0.4.91 — program Mszy: bez dolnych separatorów
 * Usuwamy wyłącznie poziome linie pod kaflami wariantu
 * .pwi-event--mass. Linia pod głównym tytułem programu zostaje.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-grid .pwi-event-program-item,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-grid .pwi-event-program-item:nth-child(odd),
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-grid .pwi-event-program-item:nth-child(even) {
    border-bottom: 0 !important;
}

/* =========================================================
 * 5.0.4.92 — wariant Mszy: data i miejsce pod zaproszeniem
 * Meta przeniesione do prawej kolumny, ułożone pionowo i do lewej.
 * Wpis patriotyczny pozostaje bez zmian.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-poster > .pwi-event-poster-meta {
    display: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-poster-date,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-poster-location {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    color: #2f6b2f !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-poster-date strong,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-poster-location strong {
    margin: 0 !important;
    padding: 0 !important;
    color: #2f6b2f !important;
    font-weight: 700 !important;
    text-align: left !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-meta-icon {
    flex: 0 0 19px !important;
    width: 19px !important;
    height: 19px !important;
    margin: 0 !important;
}

/* W tym wariancie również pinezka stoi przed nazwą miejsca,
 * dzięki czemu oba wiersze zaczynają się identycznie od ikony. */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-poster-location {
    flex-direction: row !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta {
        gap: 7px !important;
        margin-top: 15px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-poster-date,
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta .pwi-event-poster-location {
        font-size: 13px !important;
    }
}

/* =========================================================
 * 5.0.4.93 — wariant Mszy: bez meta, lżejszy program + DailyVerses
 * Data i lokalizacja są ukryte w wariancie .pwi-event--mass.
 * Program ma subtelniejszy nagłówek, a cytat dnia jest osobną
 * sekcją pod trzema godzinami Mszy.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro-meta,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-poster-meta {
    display: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    margin-bottom: 12px !important;
    padding-bottom: 9px !important;
}

/* Tylko trzy Msze — zwarta siatka bez czwartego kafla cytatu. */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-grid {
    align-items: start !important;
}

/* Słowo Boże na dziś — osobna sekcja pod programem. */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-daily-verse {
    margin: 18px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid rgba(47, 107, 47, 0.20) !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-daily-verse-title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #2f6b2f !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper,
body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper * {
    line-height: 1.55 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 17px !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper p {
    margin: 0 !important;
    padding: 0 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-title {
        font-size: 23px !important;
        margin-bottom: 10px !important;
        padding-bottom: 8px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-daily-verse {
        margin-top: 14px !important;
        padding-top: 13px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-daily-verse-title {
        font-size: 18px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper {
        font-size: 16px !important;
    }
}

/* =========================================================
 * 5.0.4.94 — DailyVerses: styl wyniku ładowanego zewnętrznie
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper .dailyVerses {
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper .dailyVerses.bibleVerse {
    color: #333 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper .dailyVerses.bibleVerse a {
    color: #2f6b2f !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper .dailyVerses.bibleVerse a:hover {
    text-decoration: underline !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass #dailyVersesWrapper .dailyVerses.bibleVerse {
        font-size: 16px !important;
    }
}

/* =========================================================
 * 5.0.4.95 — nagłówki programu Mszy i Słowa Bożego
 * „Porządek Mszy Świętych” ma dokładnie ten sam styl
 * typograficzny co „Słowo Boże na dziś”.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #2f6b2f !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-title {
        margin-bottom: 8px !important;
        padding: 0 !important;
        border: 0 !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
    }
}

/* =========================================================
 * 5.0.4.96 — przywrócenie linii pod „Porządek Mszy Świętych”
 * Zachowany mniejszy styl nagłówka z 5.0.4.95.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-title {
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(47, 107, 47, 0.20) !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-program-title {
        padding-bottom: 8px !important;
        border-bottom: 1px solid rgba(47, 107, 47, 0.20) !important;
    }
}

/* =========================================================
 * 5.0.5.00 — DailyVerses bez duplikowania #dailyVersesWrapper
 * Shortcode wyświetla cytat w unikalnym kontenerze.
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    color: #333 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    min-height: 1px;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output * {
    line-height: 1.55 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output p,
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output .dailyVerses {
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output .dailyVerses.bibleVerse {
    color: #333 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output a {
    color: #2f6b2f !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output a:hover {
    text-decoration: underline !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output,
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-daily-verse-output .dailyVerses.bibleVerse {
        font-size: 16px !important;
    }
}

/* =========================================================
 * 5.0.5.01 — standard zdjęcia głównego wpisu parafialnego
 * Wariant .pwi-event--mass dostaje na desktopie stały, mniejszy
 * format obrazu. Dzięki temu przyszłe zdjęcia zachowają spójny rytm
 * niezależnie od swoich naturalnych proporcji. Mobile bez zmian.
 * ========================================================= */
@media only screen and (min-width: 1100px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-top {
        align-items: flex-start !important;
        gap: 32px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-poster {
        flex: 0 0 420px !important;
        width: 420px !important;
        max-width: 420px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-poster > img {
        display: block !important;
        width: 420px !important;
        height: 560px !important;
        max-width: 100% !important;
        max-height: 560px !important;
        object-fit: cover !important;
        object-position: center center !important;
        border-radius: 6px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro {
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: none !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1099px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-top {
        align-items: flex-start !important;
        gap: 26px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-poster {
        flex: 0 0 360px !important;
        width: 360px !important;
        max-width: 360px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-poster > img {
        display: block !important;
        width: 360px !important;
        height: 480px !important;
        max-width: 100% !important;
        max-height: 480px !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}

/* =========================================================
 * 5.0.5.02 — zwarta prawa kolumna wpisu parafialnego
 * Dotyczy wyłącznie wariantu .pwi-event--mass.
 * Zdjęcie, Porządek Mszy i DailyVerses pozostają bez zmian.
 * ========================================================= */
@media only screen and (min-width: 768px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro {
        font-size: 17px !important;
        line-height: 1.58 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > p:not(.pwi-event-patronage) {
        margin: 0 0 18px !important;
        line-height: 1.58 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > .pwi-event-patronage {
        position: relative !important;
        display: block !important;
        margin: 24px 0 0 !important;
        padding: 16px 18px 16px 20px !important;
        border-left: 3px solid #2f6b2f !important;
        border-radius: 4px !important;
        background: #f7faf5 !important;
        color: #2f6b2f !important;
        font-size: 16px !important;
        line-height: 1.48 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > .pwi-event-patronage strong {
        display: block !important;
        margin: 0 !important;
        color: #2f6b2f !important;
        font-weight: 700 !important;
        line-height: 1.48 !important;
    }
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro {
        line-height: 1.55 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > p:not(.pwi-event-patronage) {
        margin-bottom: 16px !important;
        line-height: 1.55 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > .pwi-event-patronage {
        margin: 18px 0 0 !important;
        padding: 14px 16px !important;
        border-left: 3px solid #2f6b2f !important;
        border-radius: 4px !important;
        background: #f7faf5 !important;
        color: #2f6b2f !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
}

/* =========================================================
 * 5.0.5.03 — finalne dopracowanie prawej kolumny
 * Mniejszy rytm akapitów i lżejszy box zaproszenia.
 * ========================================================= */
@media only screen and (min-width: 768px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro {
        line-height: 1.52 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > p:not(.pwi-event-patronage) {
        margin: 0 0 14px !important;
        line-height: 1.52 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > .pwi-event-patronage {
        margin-top: 18px !important;
        padding: 12px 16px 12px 18px !important;
        font-size: 16px !important;
        line-height: 1.42 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > .pwi-event-patronage strong {
        line-height: 1.42 !important;
    }
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > p:not(.pwi-event-patronage) {
        margin-bottom: 13px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro > .pwi-event-patronage {
        margin-top: 15px !important;
        padding: 11px 14px !important;
    }
}

/* =========================================================
 * 5.0.5.04 — końcowe odstępy: box → Słowo Boże na dziś
 * ========================================================= */
body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro .pwi-event-daily-verse {
    margin-top: 14px !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro .pwi-event-daily-verse .pwi-event-program-title {
    margin-top: 0 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--mass .pwi-event-intro .pwi-event-daily-verse {
        margin-top: 12px !important;
    }
}

/* =========================================================
 * 5.0.5.05 — wariant AK: ten sam zwarty standard co wpis Mszy
 * ========================================================= */

/* DESKTOP — stały format plakatu i zwarta prawa kolumna */
@media only screen and (min-width: 959px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-top {
        display: grid !important;
        grid-template-columns: 420px minmax(0, 1fr) !important;
        gap: 34px !important;
        align-items: start !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-poster {
        width: 420px !important;
        max-width: 420px !important;
        min-width: 0 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-poster > img {
        display: block !important;
        width: 420px !important;
        height: 560px !important;
        max-width: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        background: #fff !important;
        border-radius: 6px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-intro {
        min-width: 0 !important;
        line-height: 1.52 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-intro > p:not(.pwi-event-patronage) {
        margin: 0 0 14px !important;
        line-height: 1.52 !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-intro > .pwi-event-patronage {
        margin: 18px 0 0 !important;
        padding: 12px 16px 12px 18px !important;
        border-left: 3px solid #2f6b2f !important;
        background: #f7faf5 !important;
        font-size: 16px !important;
        line-height: 1.42 !important;
    }
}

/* TABLET / mniejszy desktop */
@media only screen and (min-width: 768px) and (max-width: 958px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-top {
        display: grid !important;
        grid-template-columns: 360px minmax(0, 1fr) !important;
        gap: 26px !important;
        align-items: start !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-poster {
        width: 360px !important;
        max-width: 360px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-poster > img {
        display: block !important;
        width: 360px !important;
        height: 480px !important;
        object-fit: contain !important;
        object-position: center center !important;
        background: #fff !important;
        border-radius: 6px !important;
    }
}

/* Program AK — mały nagłówek, zwarta treść, bez dolnych separatorów */
body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-title {
    margin: 0 !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #dbe5d7 !important;
    color: #2f6b2f !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-grid {
    margin-top: 0 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-item,
body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-item:nth-child(odd),
body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-item:nth-child(even) {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 0 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-content {
    min-height: 0 !important;
    height: auto !important;
    align-items: flex-start !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-text br {
    display: none !important;
}

body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-text > strong:first-child,
body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-desc {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-title {
        font-size: 18px !important;
        padding-bottom: 9px !important;
    }

    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-item,
    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-item:nth-child(odd),
    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-program-item:nth-child(even) {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    /* Na telefonie również pokazujemy cały plakat we wpisie */
    body.single-post .parish-single-content .pwi-event.pwi-event--ak .pwi-event-poster > img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center !important;
        background: #fff !important;
    }
}
