#srodek {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.blog {
    background: #faf8f5;
    border-top: 1px solid #d0c8bc;
}

.publicystyka-top {
    background: #d0c8bc;
}

.publicystyka-grid {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    max-width: 1290px;
    margin-top:20px;
}

/* DESKTOP – 4 kolumny, odstęp tylko między boxami */
.publicystyka-box-new {
    box-sizing: border-box;
    /* 4 kolumny + 3 odstępy po 20px = 100% */
    flex: 0 0 calc((100% - 60px) / 4);
    margin-bottom: 20px;
    border-radius:5px;
    box-shadow: 0 2px 8px 0 rgba(0,0,0,.1);
    overflow:hidden;
    margin-left: 12px;
    display: flex;
    flex-direction: column;   /* ustawienie elementów pionowo */
}

.publicystyka-box-new:hover {
    border-radius:5px;
    background-color:#d0c8bc;
}

.publicystyka-box-new .publicystyka-box-cover {
    aspect-ratio: 4 / 3;
    width: 100%;
    background-size: cover;
}

.publicystyka-box-meta {
    font-family: "Lora", serif;
    margin: auto 10px 20px;
    font-weight:normal;
    font-style: italic;
    color: #555;
}

figure {
    margin:10px 0;
}

figcaption {
    text-align:left;
    font-size:0.8em;
    line-height:1em;
    font-family: "Lato";
    font-style: italic;
    margin-bottom:20px;
    position: relative;
    padding-left:25px;
    color:#555;
}

figcaption::before {
    font-family: "Segoe UI Symbol", "Apple Symbols", "Georgia", serif;
    content: "↱";
    line-height: 1;
    display: inline-block;
    position: absolute;
    top: -10px;
    left: 10px;
    transform: translateX(-50%) rotate(-90deg);
    font-size: 40px;
    color:#d0c8bc;
    font-style: normal;
}


/* TABLET — 2 kolumny */
@media (max-width: 1024px) {
    .publicystyka-box-new {
        /* 2 kolumny + 1 odstęp 20px = 100% */
        flex: 0 0 calc((100% - 20px) / 2);
        margin-left: 4px;
        margin-right: 4px;
    }

    .publicystyka-box-new:not(:nth-child(2n+1)) {
        margin-left: 4px;
    }

    /* margines tylko między elementami, bez z lewej i z prawej */
    .publicystyka-box-new:not(:nth-child(4n+1)) {
        margin-left: 4px;
    }
}

/* MOBILE — 1 kolumna */
@media (max-width: 600px) {
    .publicystyka-box-new {
        flex: 0 0 calc(100% - 8px);
    }
}

.publicystyka-box-new h2 {
    padding: 10px;
    font-size:20px;
}

    /* --- GŁÓWNY WRAP --- */

.wrap {
    max-width: 740px;
    margin: 0 auto;
    padding: 32px 20px 80px;
    text-align: left;
    font-family: "Lora", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 19px;
}

/* w .wrap wszystko ma Lorę, a poza nim – wybrane elementy też */
.wrap div,
.wrap dl,
.wrap dt,
.wrap dd,
.wrap ul,
.wrap ol,
.wrap li,
pre,
fieldset,
p,
blockquote,
.wrap th,
.wrap td,
.wrap strong {
    font-family: "Lora", serif;
}

/* --- NAGŁÓWKI --- */

.wrap h1,
.wrap h2,
.wrap h3,
.wrap h4,
.wrap h5,
.wrap h6 {
    color: #333;
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: bold;
}

.wrap h1 { font-size: 3rem; line-height: 1.15; }
.wrap h2 { font-size: 2rem; line-height: 1.25; }
.wrap h3 { font-size: 1.4rem; }
.wrap h4 { font-size: 1.2rem; }
.wrap h5 { font-size: 1rem; }

/* --- RWD NAGŁÓWKÓW I LEADU --- */

.publicystyka-top-desktop {
    height:auto;
    line-height: 1px;
}
.publicystyka-top-desktop img {
    width:100%;
    height:auto;
    max-width:1270px;
    margin: 0;
}

.publicystyka-top-mobile {
    display:none;
    line-height: 1px;
}

.publicystyka-top-kwadrat {
    height: 950px;
}

@media (max-width: 600px) {
    .wrap h1 { font-size: 2.4rem; line-height: 1.15; }
    .wrap h2 { font-size: 1.8rem; line-height: 1.25; }
    .wrap h3 { font-size: 1.3rem; }
    .wrap h4 { font-size: 1.15rem; }
    .wrap h5 { font-size: 1rem; }
    #srodek {
        margin-top:110px;
    }
    .publicystyka-top-desktop {
        display:none;
    }
    .publicystyka-top-mobile {
        display:block;
        height:auto;
    }
    .publicystyka-top-mobile img {
        width:100%;
        height:auto;
        margin: 0;
    }

    .publicystyka-lead,
    .publicystyka-lead,
    .publicystyka-tresc {
        padding: 0;
    }
}

/* --- TYPOGRAFIA --- */

.wrap p {
    font-size: 1.15rem;
    margin-bottom: 24px;
}

p.lead {
    color: var(--muted);
    margin: 0 0 24px;
    /* font-family dziedziczy już Lorę */
}

.wrap img {
    max-width: 100%;
    height: auto !important;
    margin: 10px 0;
}

.wrap h1.h1-main {
    text-align: center;
    margin-top: 40px;
}

/* --- PANEL / BOX: wspólne tło dla list, cytatów i opisu autora --- */

blockquote,
.publicystyka-autor-opis,
.wrap ul,
.wrap ol {
    background: #f4f0ea;
    border-radius: 8px;
    color: #555;
    box-shadow: 0 2px 4px rgba(0,0,0,.05);
    border-left: 5px solid #d0c8bc;
}

/* LISTY W RAMCE */

.wrap ul,
.wrap ol {
    position: relative;
    margin: 1rem 0 2rem 0;
    padding: 1.5rem 2.5rem;
}

.wrap ul {
    list-style: disc;
}

.wrap ol {
    list-style: decimal;
}

/* CYTAT */

blockquote {
    position: relative;
    margin: 4rem 0 2rem 0;
    padding: 3.5rem 3rem 2.5rem 3rem;
    font-style: italic;
    line-height: 1.7;
}

blockquote p {
    font-style: italic;
}

/* duży cudzysłów */

blockquote::before {
    content: "\2018\2018";
    font-variant-ligatures: none;
    letter-spacing: -0.1em;
    position: absolute;
    left: 1.4rem;
    top: -3rem;
    font-size: 14rem;
    line-height: 1;
    color: #d0c8bc;
    font-style: normal;
    font-family: "Lora", serif;
    pointer-events: none;
}

/* (Uwaga: .wrap quote – HTML nie ma <quote>, jak chcesz to pewnie powinno być .wrap blockquote.quote) */

/* --- META AUTORA / DATA --- */

.post-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: "Lato";
    font-size: 14px;
    color: #777;
}

/* dziedziczą font-family z .post-meta, więc nie trzeba drugi raz */
.post-meta__avatar {
    width: 40px;
    height: 40px;
    background: #c4c4c4;
    border-radius: 50%;
    flex-shrink: 0;
}

.wrap .post-meta__text {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-family: "Lato";
}

.wrap .post-meta__author {
    font-weight: bold;
    font-family: "Lato";
}

.post-meta__dot {
    margin: 0 0.25rem;
}

/* --- UKŁAD DWUKOLUMNOWY --- */

.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

@media (max-width: 800px) {
    .two-col {
        grid-template-columns: 1fr;
    }
}

/* --- PUBLICYSTYKA --- */

.publicystyka-lead,
.publicystyka-tresc,
.publicystyka-autor,
.publicystyka-autor-opis,
.publicystyka-powrot {
    max-width: 940px;
    font-size: 19px;
    line-height: 30px;
}

.publicystyka-autor-opis {
    position: relative;
    margin: 4rem 0 2rem 0;
    padding: 2.5rem 3rem;
    font-style: italic;
    line-height: 1.7;
    text-align: left;
}

.publicystyka-box-h1 {
    margin: 0 auto;
    border-radius: 0;
    background: transparent;
}

.wrap .publicystyka-lead {
    padding-top: 20px;
}

.wrap .publicystyka-powrot {
    font-family: "Lato";
}

/* --- DROBNE ELEMENTY --- */

.label {
    display: inline-block;
    font-size: 12px;
    color: #555;
    background: #f0eef8;
    border: 1px solid #e8e5f7;
    border-radius: 999px;
    padding: 2px 10px;
    margin-bottom: 10px;
}

code {
    background: #f3f3f7;
    border: 1px solid #ececf4;
    padding: 2px 6px;
    border-radius: 6px;
}

