/*
Theme Name: E-Zbiórka Crowdfunding
Version: 5.0.3
Description: Roczne kampanie WooCommerce + darmowy ACF.
Text Domain: ezbiorka
*/
:root{--navy:#0b466f;--yellow:#ffc338;--text:#0b3557;--muted:#657589;--line:#e8edf1;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);line-height:1.5}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;gap:30px}.site-branding img{max-width:92px;max-height:66px}.main-nav{margin-left:auto}.main-nav ul,.footer-menu ul{list-style:none;padding:0;margin:0;display:flex;gap:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:0;border-radius:7px;background:var(--yellow);font-weight:800;text-transform:uppercase}.btn--navy{background:var(--navy);color:#fff}.menu-toggle{display:none}.hero{background:linear-gradient(135deg,#f4f7f8,#fff6df)}.hero-grid{display:grid;grid-template-columns:1.15fr .75fr .85fr;gap:40px;align-items:center;min-height:520px;padding:48px 0}.hero-copy h1{font-size:clamp(43px,5vw,68px);line-height:1.02;margin:0}.hero-lead{font-size:18px}.hero-can img{max-height:430px;margin:auto}.stats-box,.donate-inline{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.stat{padding:16px 0}.stat+.stat{border-top:1px solid var(--line)}.stat strong{display:block;font-size:32px}.amount-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.amount-choice{min-height:43px;border:1px solid #d6e0e7;background:#fff;border-radius:8px;font-weight:800}.amount-choice.is-active,.amount-choice:hover{background:var(--yellow)}.custom-amount{display:flex;border:1px solid #d6e0e7;border-radius:8px;overflow:hidden;margin:10px 0}.custom-amount input{width:100%;border:0;padding:12px}.custom-amount span{padding:12px}.section{padding:60px 0}.section-title{text-align:center;font-size:28px}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.impact-card,.story-card,.trust-card,.field-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:20px}.story-grid,.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.fields-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.field-card{text-align:center}.quote{background:#fff7df;border-radius:18px;padding:35px;text-align:center}.faq{max-width:900px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:15px 0}.final-cta{background:var(--navy);color:#fff}.final-cta-inner{min-height:120px;display:flex;align-items:center;justify-content:space-between}.site-footer{padding:32px 0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:20px}.mobile-donate{display:none}@media(max-width:800px){.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px}.main-nav.is-open{display:block}.main-nav ul{display:block}.header-cta{display:none}.hero-grid{grid-template-columns:1fr;text-align:center}.impact-grid,.story-grid,.trust-grid{grid-template-columns:1fr}.fields-grid{grid-template-columns:repeat(2,1fr)}.amount-buttons{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr;text-align:center}.mobile-donate{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:1100}.mobile-donate .btn{width:100%}}

/* === Historie stypendystów: karuzela 2.2 === */
.stories-carousel{position:relative}
.stories-viewport{overflow:hidden;border-radius:18px}
.stories-track{display:flex;gap:22px;transition:transform .45s ease;will-change:transform}
.story-card{
    flex:0 0 calc((100% - 44px)/3);
    position:relative;
    min-width:0;
    min-height:430px;
    border-radius:18px;
    overflow:hidden;
    background:#0b3557;
    box-shadow:0 14px 34px rgba(5,45,75,.12)
}
.story-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.story-card:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(4,34,57,.95) 0%,rgba(4,34,57,.58) 42%,rgba(4,34,57,.04) 74%)
}
.story-body{
    position:absolute;
    z-index:2;
    left:0;right:0;bottom:0;
    padding:26px;
    color:#fff
}
.story-body h3{margin:0 0 7px;font-size:24px;color:#fff}
.story-body p{margin:0 0 14px;color:#edf5f9;font-size:14px}
.story-link{font-weight:800;font-size:13px;color:var(--yellow)}
.story-image-placeholder{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    text-align:center;
    padding:25px;
    background:linear-gradient(135deg,#dfe8ee,#b9cad6);
    color:#506879;
    font-weight:700
}
.carousel-controls{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    margin-top:20px
}
.carousel-btn{
    width:44px;height:44px;
    border-radius:50%;
    border:1px solid var(--line);
    background:#fff;
    color:var(--navy);
    font-size:23px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 6px 18px rgba(7,55,90,.06)
}
.carousel-btn:hover{background:var(--yellow);border-color:var(--yellow)}
.carousel-dots{display:flex;align-items:center;gap:8px}
.carousel-dot{
    width:9px;height:9px;
    border:0;border-radius:50%;
    background:#c6d2da;
    padding:0;cursor:pointer;
    transition:.2s ease
}
.carousel-dot.is-active{width:25px;border-radius:20px;background:var(--yellow)}

@media(max-width:1050px) and (min-width:801px){
    .story-card{flex-basis:calc((100% - 22px)/2)}
}
@media(max-width:800px){
    .story-card{flex-basis:82%;min-height:470px}
}
@media(max-width:600px){
    .story-card{flex-basis:88%;min-height:440px}
    .story-body{padding:22px}
    .story-body h3{font-size:22px}
}


/* === Ostatnie wpłaty 2.4 === */
.recent-donations-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.recent-donations-copy h2{margin:0 0 12px;font-size:clamp(28px,3vw,40px);line-height:1.1}
.recent-donations-copy p{margin:0;color:var(--muted);max-width:520px}
.recent-donations{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(5,45,75,.06)}
.recent-donation{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--line)}
.recent-donation:last-child{border-bottom:0}
.recent-donation-person{display:block;min-width:0}

.recent-donation-name{display:block;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recent-donation-date{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.recent-donation-amount{flex:0 0 auto;font-size:20px;font-weight:900;color:var(--navy)}
.recent-donations-empty{padding:22px;border:1px dashed #ccd8df;border-radius:15px;color:var(--muted);background:#fff}
@media(max-width:800px){
    .recent-donations-wrap{grid-template-columns:1fr}
    .recent-donation{padding:15px}
    .recent-donation-amount{font-size:18px}
}


/* === Statystyki i FAQ 2.5 === */
.campaign-effects{
    background:linear-gradient(135deg,#fffaf0,#fff3d1)
}
.campaign-effects .section-intro{
    max-width:780px
}
.campaign-effects-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px
}
.campaign-effect{
    min-height:125px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:18px 14px;
    text-align:center;
    background:#fff;
    border:1px solid rgba(11,70,111,.09);
    border-radius:15px;
    box-shadow:0 7px 22px rgba(7,55,90,.04)
}
.campaign-effect strong{
    display:block;
    font-size:27px;
    line-height:1.05;
    color:var(--navy)
}
.campaign-effect span{
    display:block;
    margin-top:8px;
    font-size:13px;
    color:#4e6476
}
.stat-scholarship-unit{
    display:block;
    margin-top:5px;
    font-size:11px;
    color:var(--muted)
}

.faq-section{
    background:#f8fafb
}
.faq-list{
    width:min(900px,100%);
    margin:0 auto;
    border-top:1px solid var(--line)
}
.faq-item{
    border-bottom:1px solid var(--line)
}
.faq-item summary{
    position:relative;
    list-style:none;
    cursor:pointer;
    padding:20px 48px 20px 0;
    font-weight:800;
    font-size:17px
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{
    content:"+";
    position:absolute;
    right:6px;
    top:14px;
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    border:1px solid var(--line);
    color:var(--navy);
    font-size:22px;
    font-weight:500
}
.faq-item[open] summary:after{
    content:"−";
    background:var(--yellow);
    border-color:var(--yellow)
}
.faq-answer{
    padding:0 48px 20px 0;
    color:#52677a
}
.faq-answer p:first-child{margin-top:0}
.faq-answer p:last-child{margin-bottom:0}

@media(max-width:1050px){
    .campaign-effects-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
    .campaign-effects-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
    .campaign-effects-grid{grid-template-columns:1fr}
    .faq-item summary{font-size:16px}
}


/* === Sekcja "O zbiórce" 2.6 === */
.about-campaign{
    background:#fff
}
.about-campaign-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
    gap:44px;
    align-items:center
}
.about-campaign-copy h2{
    margin:0 0 18px;
    font-size:clamp(30px,3.3vw,46px);
    line-height:1.08
}
.about-campaign-copy .entry-content{
    color:#455d70;
    font-size:17px
}
.about-campaign-copy .entry-content > :first-child{margin-top:0}
.about-campaign-copy .entry-content > :last-child{margin-bottom:0}
.about-campaign-media img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:20px;
    box-shadow:0 18px 40px rgba(5,45,75,.12)
}
.about-campaign--text-only .about-campaign-grid{
    grid-template-columns:1fr
}
.about-campaign--text-only .about-campaign-copy{
    max-width:900px;
    margin:0 auto
}

/* === Podgląd podziękowania w FAQ === */
.thank-you-preview{
    margin-top:20px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff
}
.thank-you-preview strong{
    display:block;
    margin-bottom:10px
}
.thank-you-preview img{
    width:min(100%,520px);
    border-radius:10px;
    border:1px solid var(--line);
    box-shadow:0 8px 24px rgba(5,45,75,.08)
}
.thank-you-preview-link{
    display:inline-flex;
    margin-top:12px;
    font-weight:800;
    color:var(--navy)
}

@media(max-width:800px){
    .about-campaign-grid{grid-template-columns:1fr;gap:26px}
}


/* ==========================================================
   2.7 — "Co daje Twoja wpłata" + "Komu pomagamy"
   ========================================================== */

/* Wspólna oprawa sekcji */
.impact-section,
.campaign-effects{
    position:relative;
    overflow:hidden
}
.impact-section:before,
.campaign-effects:before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    border-radius:50%;
    pointer-events:none;
    opacity:.55
}
.impact-section:before{
    right:-180px;
    top:-210px;
    background:radial-gradient(circle,rgba(255,195,56,.24) 0%,rgba(255,195,56,0) 72%)
}
.campaign-effects:before{
    left:-190px;
    bottom:-220px;
    background:radial-gradient(circle,rgba(11,70,111,.11) 0%,rgba(11,70,111,0) 72%)
}
.impact-section .container,
.campaign-effects .container{
    position:relative;
    z-index:1
}

/* --- Co daje Twoja wpłata --- */
.impact-section{
    background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)
}
.impact-section .section-heading{
    max-width:760px;
    margin:0 auto 34px;
    text-align:center
}
.impact-section .section-heading .eyebrow{
    margin-bottom:8px
}
.impact-section .section-heading h2{
    margin:0 0 12px;
    font-size:clamp(30px,3.4vw,44px);
    line-height:1.08
}
.impact-section .section-heading p{
    margin:0 auto;
    max-width:680px;
    color:var(--muted);
    font-size:16px
}
.impact-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px
}
.impact-card{
    position:relative;
    min-height:240px;
    padding:26px 24px 24px;
    border:1px solid rgba(11,70,111,.09);
    border-radius:20px;
    background:rgba(255,255,255,.95);
    box-shadow:0 12px 32px rgba(5,45,75,.07);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.impact-card:hover{
    transform:translateY(-4px);
    border-color:rgba(255,195,56,.7);
    box-shadow:0 18px 38px rgba(5,45,75,.11)
}
.impact-card:after{
    content:"";
    position:absolute;
    left:24px;
    right:24px;
    bottom:0;
    height:4px;
    border-radius:10px 10px 0 0;
    background:linear-gradient(90deg,var(--yellow),#ffd970)
}
.impact-card-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    margin-bottom:22px;
    border-radius:16px;
    background:var(--navy);
    color:var(--yellow);
    font-size:23px;
    font-weight:900;
    box-shadow:0 9px 20px rgba(11,70,111,.17)
}
.impact-card-kicker{
    display:block;
    margin-bottom:5px;
    color:#8d6b08;
    font-size:11px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase
}
.impact-card h3{
    margin:0 0 9px;
    color:var(--navy);
    font-size:27px;
    line-height:1.05
}
.impact-card p{
    margin:0;
    color:#53697a;
    font-size:14px;
    line-height:1.55
}

/* --- Komu pomagamy --- */
.campaign-effects{
    background:
        linear-gradient(135deg,rgba(255,249,233,.98),rgba(255,244,207,.92))
}
.campaign-effects .section-heading{
    max-width:800px;
    margin:0 auto 34px;
    text-align:center
}
.campaign-effects .section-heading h2{
    margin:0 0 12px;
    font-size:clamp(30px,3.4vw,44px);
    line-height:1.08
}
.campaign-effects .section-heading p{
    margin:0 auto;
    max-width:700px;
    color:#5d6d79;
    font-size:16px
}
.campaign-effects-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px
}
.campaign-effect{
    position:relative;
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    padding:22px 20px;
    overflow:hidden;
    text-align:left;
    border:1px solid rgba(11,70,111,.08);
    border-radius:18px;
    background:#fff;
    box-shadow:0 9px 26px rgba(5,45,75,.06);
    transition:transform .2s ease,box-shadow .2s ease
}
.campaign-effect:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 34px rgba(5,45,75,.1)
}
.campaign-effect:before{
    content:attr(data-index);
    position:absolute;
    right:15px;
    top:6px;
    color:rgba(11,70,111,.055);
    font-size:72px;
    line-height:1;
    font-weight:900
}
.campaign-effect-icon{
    position:absolute;
    left:20px;
    top:20px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:var(--yellow);
    color:var(--navy);
    font-weight:900
}
.campaign-effect strong{
    position:relative;
    z-index:1;
    display:block;
    margin-bottom:8px;
    color:var(--navy);
    font-size:21px;
    line-height:1.12
}
.campaign-effect span{
    position:relative;
    z-index:1;
    display:block;
    margin:0;
    color:#526879;
    font-size:13px;
    line-height:1.5
}

@media(max-width:1050px){
    .impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .campaign-effects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
    .impact-grid{grid-template-columns:1fr}
    .campaign-effects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .impact-card{min-height:210px}
}
@media(max-width:520px){
    .campaign-effects-grid{grid-template-columns:1fr}
    .campaign-effect{min-height:170px}
}


/* ==========================================================
   2.8 — dopracowane treści i ikonografia sekcji impact/who
   ========================================================== */

.impact-card--scholarship{
    background:linear-gradient(155deg,#0b466f 0%,#073556 100%);
    border-color:transparent
}
.impact-card--scholarship .impact-card-icon{
    background:var(--yellow);
    color:var(--navy);
    box-shadow:none
}
.impact-card--scholarship .impact-card-kicker{
    color:#ffe69a
}
.impact-card--scholarship h3,
.impact-card--scholarship p{
    color:#fff
}
.impact-card--scholarship p{
    color:#e7f0f5
}
.impact-card--scholarship:after{
    background:var(--yellow)
}

.campaign-effect-icon{
    font-size:19px
}
.campaign-effect:before{
    display:none
}

@media(max-width:800px){
    .impact-card--scholarship{
        order:-1
    }
}


/* ==========================================================
   2.9 — bardziej naturalne "Komu pomagamy?" + sekcja zaufania
   ========================================================== */

/* Komu pomagamy — karty zgodne z nową koncepcją */
.campaign-effects{
    background:
        radial-gradient(circle at 0 0,rgba(255,195,56,.16),transparent 220px),
        linear-gradient(180deg,#fffdf8 0%,#fff9e9 100%)
}
.campaign-effects .section-heading{
    margin-bottom:42px
}
.campaign-effects .section-heading .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#b48100;
    letter-spacing:.11em
}
.campaign-effects .section-heading .eyebrow:before,
.campaign-effects .section-heading .eyebrow:after{
    content:"";
    width:40px;
    height:2px;
    background:var(--yellow)
}
.campaign-effects-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:20px
}
.campaign-effect{
    min-height:390px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    padding:28px 22px 30px;
    border-radius:22px;
    border:1px solid rgba(11,70,111,.07);
    background:#fff;
    box-shadow:0 14px 34px rgba(5,45,75,.08)
}
.campaign-effect:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 42px rgba(5,45,75,.12)
}
.campaign-effect-icon{
    position:static;
    width:102px;
    height:102px;
    flex:0 0 102px;
    margin:0 auto 22px;
    border-radius:50%;
    background:linear-gradient(145deg,#fff6d7,#ffefb5);
    color:var(--navy);
    box-shadow:none
}
.campaign-effect-icon svg{
    width:52px;
    height:52px;
    stroke:currentColor;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
.campaign-effect strong{
    margin:0;
    font-size:21px
}
.campaign-effect-title-line{
    width:30px;
    height:3px;
    margin:13px auto 17px;
    border-radius:20px;
    background:var(--yellow)
}
.campaign-effect span{
    font-size:14px;
    line-height:1.62;
    color:#526879
}
.campaign-effects-summary{
    margin:34px auto 0;
    max-width:940px;
    display:grid;
    grid-template-columns:64px 1fr;
    gap:18px;
    align-items:center;
    padding:20px 24px;
    border:1px solid rgba(255,195,56,.45);
    border-radius:18px;
    background:rgba(255,255,255,.78)
}
.campaign-effects-summary-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--navy);
    color:var(--yellow);
    font-size:25px
}
.campaign-effects-summary strong{
    display:block;
    margin-bottom:4px;
    color:var(--navy);
    font-size:16px
}
.campaign-effects-summary p{
    margin:0;
    color:#5a6e7c;
    font-size:14px
}

/* Zaufanie */
.trust-section{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#073556 0%,#0b466f 100%);
    color:#fff
}
.trust-section:before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-170px;
    top:-220px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,195,56,.18),transparent 68%)
}
.trust-section .container{position:relative;z-index:1}
.trust-section .section-heading{
    max-width:780px;
    margin:0 auto 36px;
    text-align:center
}
.trust-section .section-heading .eyebrow{
    color:#ffd564
}
.trust-section .section-heading h2{
    margin:0 0 12px;
    color:#fff;
    font-size:clamp(30px,3.4vw,44px);
    line-height:1.08
}
.trust-section .section-heading p{
    margin:0 auto;
    max-width:680px;
    color:#dce8ef
}
.trust-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}
.trust-card{
    position:relative;
    min-height:245px;
    padding:28px 24px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:20px;
    background:rgba(255,255,255,.07);
    box-shadow:none;
    backdrop-filter:blur(5px)
}
.trust-card-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    margin-bottom:22px;
    border-radius:15px;
    background:var(--yellow);
    color:var(--navy);
    font-size:23px;
    font-weight:900
}
.trust-card h3{
    margin:0 0 10px;
    color:#fff;
    font-size:21px
}
.trust-card p{
    margin:0;
    color:#dce8ef;
    font-size:14px;
    line-height:1.6
}
.trust-quote{
    max-width:900px;
    margin:30px auto 0;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.16);
    text-align:center
}
.trust-quote blockquote{
    margin:0;
    color:#fff;
    font:italic 20px/1.55 Georgia,serif
}
.trust-quote cite{
    display:block;
    margin-top:10px;
    color:#ffd564;
    font:700 13px/1.4 Inter,system-ui,sans-serif;
    font-style:normal
}

@media(max-width:1050px){
    .campaign-effects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .campaign-effect:last-child{grid-column:1/-1;max-width:calc(50% - 10px);width:100%;justify-self:center}
}
@media(max-width:800px){
    .campaign-effects-grid,.trust-grid{grid-template-columns:1fr}
    .campaign-effect{min-height:auto}
    .campaign-effect:last-child{grid-column:auto;max-width:none}
    .campaign-effects-summary{grid-template-columns:1fr;text-align:center}
    .campaign-effects-summary-icon{margin:auto}
}


/* ==========================================================
   3.0 — Poprzednie edycje e-Zbiórki
   ========================================================== */
.history-section{
    background:#fff
}
.history-section .section-heading{
    max-width:760px;
    margin:0 auto 34px;
    text-align:center
}
.history-section .section-heading h2{
    margin:0 0 12px;
    font-size:clamp(30px,3.4vw,44px);
    line-height:1.08
}
.history-section .section-heading p{
    margin:0 auto;
    max-width:680px;
    color:var(--muted)
}
.history-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px
}
.history-card{
    position:relative;
    min-height:185px;
    padding:24px 20px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
    box-shadow:0 9px 26px rgba(5,45,75,.055)
}
.history-card:before{
    content:"";
    position:absolute;
    width:115px;
    height:115px;
    right:-45px;
    top:-45px;
    border-radius:50%;
    background:rgba(255,195,56,.18)
}
.history-card-edition{
    position:relative;
    z-index:1;
    color:#8e6900;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase
}
.history-card-year{
    position:relative;
    z-index:1;
    margin-top:5px;
    color:var(--navy);
    font-size:25px;
    font-weight:900
}
.history-card-amount{
    position:relative;
    z-index:1;
    margin-top:28px
}
.history-card-amount strong{
    display:block;
    color:var(--navy);
    font-size:25px;
    line-height:1.05
}
.history-card-amount span{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:12px
}
.history-total{
    margin-top:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 18px;
    border-radius:14px;
    background:var(--navy);
    color:#fff;
    text-align:center
}
.history-total strong{
    color:var(--yellow);
    font-size:20px
}
.history-card--missing{
    opacity:.72
}
.history-card--missing .history-card-amount strong{
    font-size:15px;
    color:var(--muted)
}

@media(max-width:1050px){
    .history-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:470px){
    .history-grid{grid-template-columns:1fr}
}


/* === 3.1 Hero 2026 + historia wyników === */
.hero{
    position:relative;overflow:hidden;
    background:radial-gradient(circle at 55% 48%,rgba(255,195,56,.14),transparent 220px),
               linear-gradient(135deg,#fffdf6,#fff8e7)
}
.hero-grid{
    min-height:650px;padding:54px 0;display:grid;
    grid-template-columns:1.05fr .72fr .78fr;gap:42px;align-items:center
}
.hero-copy .eyebrow{color:#a97800;margin-bottom:12px}
.hero-copy h1{margin:0;max-width:620px;font-size:clamp(48px,5vw,72px);line-height:.98;letter-spacing:-.045em}
.hero-copy h1:after{content:"";display:block;width:74px;height:5px;margin:20px 0;background:var(--yellow);border-radius:20px}
.hero-lead{max-width:580px;margin:0 0 24px;color:#40596d;font-size:17px;line-height:1.65}
.donate-inline{max-width:520px;padding:22px;border:1px solid rgba(11,70,111,.1);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(5,45,75,.07)}
.donate-inline h3{margin:0 0 14px;font-size:20px}
.amount-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.amount-choice{min-height:44px;border:1px solid #d9e2e8;border-radius:8px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}
.amount-choice.is-active,.amount-choice:hover{background:var(--yellow);border-color:var(--yellow)}
.custom-amount{display:flex;align-items:center;margin:10px 0;border:1px solid #d9e2e8;border-radius:8px;background:#fff;overflow:hidden}
.custom-amount input{width:100%;min-height:48px;border:0;outline:0;padding:0 13px}
.custom-amount span{padding:0 14px;color:var(--muted);font-weight:700}
.donate-inline .btn{width:100%}
.hero-record-note{margin-top:10px;padding:9px 12px;border-radius:9px;background:#fff4c8;color:#735700;font-size:12px;font-weight:700}
.hero-can{display:flex;justify-content:center;align-items:center}
.hero-can img{max-height:455px;width:auto;filter:drop-shadow(0 24px 22px rgba(5,45,75,.18))}
.stats-box{padding:16px 22px;border:1px solid rgba(11,70,111,.09);border-radius:20px;background:#fff;box-shadow:0 16px 38px rgba(5,45,75,.09)}
.stat{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.stat:last-child{border-bottom:0}
.stat-ico{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fff4ce;color:var(--navy)}
.stat-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stat strong{display:block;color:var(--navy);font-size:30px;line-height:1}
.stat small{display:block;margin-top:6px;color:#53697a;line-height:1.35}

/* Historia jako trend */
.history-section{background:linear-gradient(180deg,#fff,#fffdf8)}
.history-trend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:end;min-height:410px;padding-top:26px}
.history-year{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}
.history-year-head{text-align:center;min-height:66px}
.history-year-head .edition{display:block;color:#b17e00;font-size:11px;font-weight:900;text-transform:uppercase}
.history-year-head .year{display:block;margin-top:4px;color:var(--navy);font-size:25px;font-weight:900}
.history-bar-wrap{width:100%;height:235px;display:flex;align-items:flex-end;justify-content:center}
.history-bar{position:relative;width:min(100%,170px);min-height:62px;border:1px solid rgba(255,195,56,.4);border-radius:14px 14px 5px 5px;background:linear-gradient(180deg,#ffd970,#ffc338);box-shadow:0 9px 22px rgba(255,195,56,.16)}
.history-bar-amount{position:absolute;left:7px;right:7px;top:12px;text-align:center;color:var(--navy)}
.history-bar-amount strong{display:block;font-size:19px;line-height:1.05}
.history-delta{display:block;margin-top:7px;font-size:12px;font-weight:900}
.history-delta--up{color:#18864b}.history-delta--down{color:#c83333}
.history-delta-icon{display:inline-grid;width:23px;height:23px;place-items:center;margin-right:3px;border:1px solid currentColor;border-radius:50%}
.history-caption{min-height:38px;margin-top:10px;text-align:center;color:#5b6f7f;font-size:12px}
.record-challenge{margin-top:20px;display:grid;grid-template-columns:70px 1fr 230px;gap:20px;align-items:center;padding:22px 26px;border:1px solid rgba(255,195,56,.55);border-radius:18px;background:linear-gradient(90deg,#fffaf0,#fff7dc)}
.record-challenge-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:var(--yellow);font-size:30px}
.record-challenge h3{margin:0 0 5px;color:var(--navy);font-size:24px}
.record-challenge p{margin:0;color:#53697a}
.record-progress{text-align:right}
.record-progress strong{display:block;color:var(--navy);font-size:24px}
.record-mini-bar{height:8px;margin-top:7px;overflow:hidden;border-radius:20px;background:#e8edf0}
.record-mini-bar span{display:block;height:100%;background:var(--yellow);border-radius:20px}

@media(max-width:1050px){
    .hero-grid{grid-template-columns:1fr 1fr}
    .stats-box{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}
    .stat{border-bottom:0;border-right:1px solid var(--line);padding:16px}
    .history-trend{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}
}
@media(max-width:800px){
    .hero-grid{grid-template-columns:1fr;text-align:center}
    .hero-copy h1:after{margin-left:auto;margin-right:auto}
    .hero-lead{margin-left:auto;margin-right:auto}
    .donate-inline{margin-left:auto;margin-right:auto;text-align:left}
    .stats-box{display:block}
    .stat{border-right:0;border-bottom:1px solid var(--line);text-align:left}
    .record-challenge{grid-template-columns:1fr;text-align:center}
    .record-challenge-icon{margin:auto}
    .record-progress{text-align:center}
}


/* === 3.2 Tożsamość FDNT: edukacja + formacja + wspólnota + dziedzictwo JP2 === */
.hero-copy h1{max-width:680px}
.hero-copy .eyebrow:before{content:"XXVI DZIEŃ PAPIESKI • ";font-weight:900}
.impact-section .section-heading{max-width:850px}
.impact-card p{line-height:1.55}
.campaign-effects .section-heading{max-width:820px;margin-left:auto;margin-right:auto}
.campaign-effect strong{min-height:52px;display:flex;align-items:center;justify-content:center}
.living-monument{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#073556 0%,#0b466f 62%,#0e527f 100%);
    color:#fff
}
.living-monument:after{
    content:"";position:absolute;right:-120px;top:-150px;width:420px;height:420px;
    border-radius:50%;background:radial-gradient(circle,rgba(255,195,56,.20),transparent 68%)
}
.living-monument-grid{
    position:relative;z-index:1;display:grid;grid-template-columns:.85fr 1.15fr;
    gap:64px;align-items:center
}
.living-monument-media{min-height:430px;display:flex;align-items:center;justify-content:center}
.living-monument-media img{
    width:100%;max-width:460px;max-height:500px;object-fit:cover;border-radius:28px;
    box-shadow:0 24px 60px rgba(0,0,0,.24)
}
.living-monument-symbol{
    width:300px;height:300px;display:flex;align-items:center;justify-content:center;
    border:2px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);
    box-shadow:inset 0 0 0 20px rgba(255,195,56,.08)
}
.living-monument-symbol span{font-size:72px;font-weight:300;color:#fff}
.living-monument-symbol strong{font-size:72px;color:var(--yellow)}
.living-monument-copy .eyebrow{color:#ffd564}
.living-monument-copy h2{margin:8px 0 20px;color:#fff;font-size:clamp(36px,4vw,54px);line-height:1.04}
.living-monument-text{max-width:690px;color:#e1ebf1;font-size:17px;line-height:1.75}
.living-monument-text p{margin:0 0 16px}
.living-monument .btn--light{margin-top:12px;background:var(--yellow);color:var(--navy)}
.trust-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.trust-card{min-height:275px}
.trust-card-icon{font-size:17px}
.final-cta h2{max-width:800px;margin-left:auto;margin-right:auto}
.final-cta p{max-width:800px;margin-left:auto;margin-right:auto;line-height:1.65}
@media(max-width:1050px){
    .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
    .living-monument-grid{grid-template-columns:1fr;gap:24px;text-align:center}
    .living-monument-media{min-height:auto}
    .living-monument-media img{max-height:380px}
    .living-monument-symbol{width:220px;height:220px}
    .living-monument-symbol span,.living-monument-symbol strong{font-size:52px}
    .trust-grid{grid-template-columns:1fr}
}


/* ==========================================================
   3.2.1 — porządkowanie UI / ACF i finalny polishing
   ========================================================== */

/* Hero: edycja jest już pełnym tekstem, bez sztucznego prefiksu CSS */
.hero-copy .eyebrow:before{content:none!important}

/* Ostatnie wpłaty — mniej "tabelowo", więcej social proof */
.recent-donations-copy .eyebrow{color:#a97800}
.recent-donations{
    border:0;
    box-shadow:none;
    background:transparent
}
.recent-donation{
    position:relative;
    margin-bottom:9px;
    padding:14px 18px 14px 58px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    box-shadow:0 6px 18px rgba(5,45,75,.045)
}
.recent-donation:last-child{border-bottom:1px solid var(--line);margin-bottom:0}
.recent-donation:before{
    content:"♥";
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff4ce;
    color:#a97800;
    font-size:14px
}
.recent-donation-name{font-size:14px}
.recent-donation-amount{font-size:19px}

/* Final CTA ma być finałem strony, nie paskiem stopki */
.final-cta{padding:0;background:linear-gradient(135deg,#073556,#0b466f)}
.final-cta-inner{
    min-height:240px;
    padding:48px 0;
    flex-direction:column;
    justify-content:center;
    text-align:center
}
.final-cta h2{
    max-width:900px;
    margin:0 auto;
    color:#fff;
    font-size:clamp(32px,4vw,48px);
    line-height:1.08
}
.final-cta h2:after{
    content:"";
    display:block;
    width:58px;
    height:4px;
    margin:18px auto;
    border-radius:10px;
    background:var(--yellow)
}
.final-cta p{
    max-width:780px;
    margin:0 auto 22px;
    color:#dce8ef;
    font-size:16px;
    line-height:1.7
}

/* Stories trochę mocniej oddzielone od kolejnej sekcji */
#historie{background:#fff}
#historie .section-title{margin-bottom:34px}

@media(max-width:800px){
    .recent-donation{padding-left:54px}
    .final-cta-inner{padding:38px 0 105px}
}


/* ==========================================================
   3.2.3 — poprawione proporcje hero desktop
   ========================================================== */

.hero .container{
    width:min(1220px,calc(100% - 48px))
}

.hero-grid{
    min-height:600px;
    padding:42px 0 46px;
    grid-template-columns:minmax(0,1.34fr) minmax(300px,.98fr) minmax(300px,.88fr);
    gap:30px;
    align-items:center
}

.hero-copy{
    align-self:center
}

.hero-copy .eyebrow{
    margin-bottom:10px;
    font-size:12px;
    letter-spacing:.08em
}

.hero-copy h1{
    max-width:620px;
    font-size:clamp(46px,4.15vw,64px);
    line-height:.99;
    letter-spacing:-.04em
}

.hero-copy h1:after{
    width:56px;
    height:4px;
    margin:16px 0 16px
}

.hero-lead{
    max-width:590px;
    margin-bottom:18px;
    font-size:16px;
    line-height:1.58
}

.donate-inline{
    width:100%;
    max-width:540px;
    padding:18px;
    border-radius:16px
}

.donate-inline h3{
    margin-bottom:12px;
    font-size:18px
}

.hero-can{
    min-height:470px;
    align-self:center
}

.hero-can img{
    max-height:510px;
    max-width:100%;
    transform:scale(1.08);
    transform-origin:center center
}

.stats-box{
    width:100%;
    max-width:340px;
    justify-self:end;
    padding:14px 20px;
    border-radius:18px
}

.stat{
    grid-template-columns:48px 1fr;
    gap:12px;
    padding:16px 0
}

.stat-ico{
    width:44px;
    height:44px
}

.stat strong{
    font-size:28px
}

.stat small{
    margin-top:5px;
    font-size:12px
}

.stat-scholarship-unit{
    margin-top:4px;
    font-size:10px
}

.hero-record-note{
    margin-top:8px;
    padding:8px 10px
}

/* Dla szerokości laptopowych utrzymujemy balans zamiast ściskać tytuł */
@media(max-width:1180px) and (min-width:901px){
    .hero .container{
        width:min(1120px,calc(100% - 36px))
    }
    .hero-grid{
        grid-template-columns:minmax(0,1.18fr) minmax(260px,.86fr) minmax(285px,.82fr);
        gap:24px
    }
    .hero-copy h1{
        font-size:clamp(42px,4.2vw,58px)
    }
    .hero-can img{
        transform:scale(1.04)
    }
}

/* Tablet: 2 kolumny, statystyki pod nimi */
@media(max-width:900px) and (min-width:701px){
    .hero-grid{
        grid-template-columns:1.08fr .92fr;
        gap:26px
    }
    .hero-copy h1{
        font-size:clamp(40px,6vw,54px)
    }
    .hero-can{
        min-height:390px
    }
    .hero-can img{
        max-height:420px;
        transform:none
    }
    .stats-box{
        grid-column:1/-1;
        max-width:none;
        display:grid;
        grid-template-columns:repeat(4,1fr)
    }
}

/* Mobile bez regresji */
@media(max-width:700px){
    .hero .container{
        width:min(100% - 28px,620px)
    }
    .hero-grid{
        min-height:auto;
        padding:28px 0 34px;
        grid-template-columns:1fr;
        gap:22px;
        text-align:center
    }
    .hero-copy h1{
        max-width:560px;
        margin-left:auto;
        margin-right:auto;
        font-size:clamp(40px,12vw,56px)
    }
    .hero-copy h1:after{
        margin-left:auto;
        margin-right:auto
    }
    .hero-lead{
        margin-left:auto;
        margin-right:auto
    }
    .donate-inline{
        margin-left:auto;
        margin-right:auto;
        text-align:left
    }
    .hero-can{
        min-height:auto
    }
    .hero-can img{
        max-height:360px;
        transform:none
    }
    .stats-box{
        max-width:none;
        justify-self:stretch
    }
}


/* ==========================================================
   3.2.4 — nawigacja kotwicowa strony głównej
   ========================================================== */

html{
    scroll-behavior:smooth;
    scroll-padding-top:92px
}

#formularz-wplaty,
#co-daje-wplata,
#komu-pomagamy,
#historie,
#dzien-papieski,
#poprzednie-edycje,
#zaufanie,
#ostatnie-wplaty,
#faq{
    scroll-margin-top:92px
}

.site-header{
    box-shadow:0 3px 18px rgba(5,45,75,.035)
}

.header-inner{
    min-height:76px;
    gap:20px
}

.site-branding{
    flex:0 0 auto
}

.site-branding img{
    max-width:82px;
    max-height:58px
}

.main-nav{
    margin-left:auto
}

.main-nav ul{
    align-items:center;
    gap:6px
}

.anchor-menu a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0 10px;
    border-radius:8px;
    color:#35536a;
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
    transition:background .18s ease,color .18s ease
}

.anchor-menu a:hover,
.anchor-menu a.is-active{
    background:#fff5d5;
    color:var(--navy)
}

.anchor-menu a.is-active:after{
    content:"";
    position:absolute;
    left:10px;
    right:10px;
    bottom:4px;
    height:2px;
    border-radius:5px;
    background:var(--yellow)
}

.header-cta{
    flex:0 0 auto;
    min-height:44px;
    padding:0 18px;
    font-size:11px
}

.menu-toggle{
    width:42px;
    height:42px;
    padding:9px;
    border:0;
    border-radius:8px;
    background:transparent;
    cursor:pointer
}

.menu-toggle span{
    display:block;
    width:22px;
    height:2px;
    margin:4px auto;
    border-radius:5px;
    background:var(--navy);
    transition:.2s ease
}

.menu-toggle.is-open span:nth-child(1){
    transform:translateY(6px) rotate(45deg)
}
.menu-toggle.is-open span:nth-child(2){
    opacity:0
}
.menu-toggle.is-open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg)
}

@media(max-width:1180px) and (min-width:901px){
    .header-inner{
        gap:12px
    }
    .anchor-menu a{
        padding:0 7px;
        font-size:11px
    }
    .header-cta{
        padding:0 14px;
        font-size:10px
    }
}

@media(max-width:900px){
    .header-inner{
        position:relative
    }

    .menu-toggle{
        display:block;
        margin-left:auto
    }

    .main-nav{
        position:absolute;
        left:0;
        right:0;
        top:100%;
        display:none;
        margin:0;
        padding:10px 20px 18px;
        border-top:1px solid var(--line);
        background:#fff;
        box-shadow:0 14px 28px rgba(5,45,75,.09)
    }

    .main-nav.is-open{
        display:block
    }

    .main-nav ul,
    .anchor-menu{
        display:grid;
        gap:4px
    }

    .anchor-menu a,
    .main-nav ul a{
        min-height:44px;
        padding:0 12px;
        font-size:14px
    }

    .anchor-menu a.is-active:after{
        left:12px;
        right:auto;
        bottom:6px;
        width:34px
    }

    .header-cta{
        min-height:42px
    }
}

@media(max-width:560px){
    .header-inner{
        min-height:68px
    }

    .site-branding img{
        max-width:68px;
        max-height:50px
    }

    .header-cta{
        display:none
    }

    html{
        scroll-padding-top:76px
    }

    #formularz-wplaty,
    #co-daje-wplata,
    #komu-pomagamy,
    #historie,
    #dzien-papieski,
    #poprzednie-edycje,
    #zaufanie,
    #ostatnie-wplaty,
    #faq{
        scroll-margin-top:76px
    }
}


/* ==========================================================
   3.2.5 — mobile bottom navigation + WCAG hardening
   ========================================================== */

.skip-link{
    position:fixed;
    left:12px;
    top:10px;
    z-index:99999;
    padding:10px 14px;
    border-radius:7px;
    background:#fff;
    color:var(--navy);
    font-weight:800;
    transform:translateY(-160%);
    box-shadow:0 4px 18px rgba(0,0,0,.2)
}
.skip-link:focus{
    transform:translateY(0)
}

:where(a,button,input,summary,[tabindex]):focus-visible{
    outline:3px solid #7a5800;
    outline-offset:3px
}

.custom-amount-label{
    display:block;
    margin:10px 0 5px;
    color:var(--navy);
    font-size:13px;
    font-weight:750
}

.eyebrow,
.hero-copy .eyebrow,
.recent-donations-copy .eyebrow{
    color:#805d00
}

.carousel-pause{
    font-size:14px
}

.mobile-bottom-nav{
    display:none
}

.footer-legal{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px
}
.footer-legal a{
    text-decoration:underline;
    text-underline-offset:3px
}

/* Nie polegamy wyłącznie na kolorze dla aktywnej pozycji */
.anchor-menu a.is-active{
    font-weight:900
}

@media(max-width:820px){
    body{
        padding-bottom:76px
    }

    .desktop-anchor-nav,
    .header-cta{
        display:none
    }

    .header-inner{
        min-height:64px;
        justify-content:center
    }

    .site-branding{
        margin:auto
    }

    .site-branding img{
        max-width:66px;
        max-height:50px
    }

    .mobile-bottom-nav{
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:2000;
        display:grid;
        grid-template-columns:repeat(6,minmax(0,1fr));
        min-height:68px;
        padding-bottom:env(safe-area-inset-bottom);
        border-top:1px solid #d9e2e8;
        background:rgba(255,255,255,.97);
        box-shadow:0 -8px 24px rgba(5,45,75,.09);
        backdrop-filter:blur(8px)
    }

    .mobile-bottom-nav a{
        position:relative;
        min-width:0;
        min-height:68px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:3px;
        padding:7px 2px 6px;
        color:#35536a;
        text-align:center;
        font-size:10px;
        font-weight:800;
        line-height:1.1
    }

    .mobile-bottom-nav svg{
        width:23px;
        height:23px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.7;
        stroke-linecap:round;
        stroke-linejoin:round
    }

    .mobile-bottom-nav a.is-active,
    .mobile-bottom-nav a[aria-current="location"]{
        color:var(--navy);
        background:#fff7dc
    }

    .mobile-bottom-nav a.is-active:before,
    .mobile-bottom-nav a[aria-current="location"]:before{
        content:"";
        position:absolute;
        left:24%;
        right:24%;
        top:0;
        height:3px;
        border-radius:0 0 3px 3px;
        background:#b17e00
    }

    html{
        scroll-padding-top:74px
    }

    #main-content,
    #formularz-wplaty,
    #co-daje-wplata,
    #komu-pomagamy,
    #historie,
    #dzien-papieski,
    #poprzednie-edycje,
    #zaufanie,
    #ostatnie-wplaty,
    #faq{
        scroll-margin-top:74px;
        scroll-margin-bottom:84px
    }

    .final-cta-inner{
        padding-bottom:42px
    }

    .footer-grid{
        grid-template-columns:1fr;
        text-align:center
    }

    .footer-legal{
        align-items:center
    }
}

@media(max-width:360px){
    .mobile-bottom-nav a{
        font-size:9px
    }
    .mobile-bottom-nav svg{
        width:21px;
        height:21px
    }
}

@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }

    *,
    *::before,
    *::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important
    }
}

@media(forced-colors:active){
    :where(a,button,input,summary,[tabindex]):focus-visible{
        outline:3px solid CanvasText
    }

    .mobile-bottom-nav{
        border-top:2px solid CanvasText
    }
}


/* ==========================================================
   3.2.6 — fix poziomego overflow w "Ostatnich wpłatach"
   ========================================================== */

/* Grid/flex children muszą mieć możliwość realnego zwężenia się. */
.recent-donations-wrap,
.recent-donations-wrap > *,
.recent-donations,
.recent-donation,
.recent-donation-person,
.recent-donation-person > div{
    min-width:0;
    max-width:100%
}

.recent-donations{
    width:100%;
    overflow:hidden
}

.recent-donation{
    width:100%
}

.recent-donation-name{
    max-width:100%
}

/* WooCommerce wc_price() używa m.in. bdi/span — nie pozwalamy im
   zwiększać szerokości całej strony. */
.recent-donation-amount,
.recent-donation-amount .woocommerce-Price-amount,
.recent-donation-amount bdi{
    white-space:nowrap
}

@media(max-width:800px){
    .recent-donations-wrap{
        width:100%;
        grid-template-columns:minmax(0,1fr)
    }

    .recent-donations-wrap > div{
        width:100%;
        min-width:0
    }

    .recent-donation{
        display:grid;
        grid-template-columns:minmax(0,1fr) max-content;
        align-items:center;
        column-gap:10px;
        padding:13px 14px 13px 50px
    }

    .recent-donation-person{
        overflow:hidden
    }

    .recent-donation-name{
        white-space:normal;
        overflow:visible;
        text-overflow:clip;
        overflow-wrap:anywhere;
        word-break:normal;
        line-height:1.3
    }

    .recent-donation-date{
        overflow-wrap:anywhere
    }

    .recent-donation-amount{
        justify-self:end;
        max-width:100%;
        font-size:17px;
        text-align:right
    }

    .recent-donation:before{
        left:12px;
        width:28px;
        height:28px
    }
}

/* Bardzo wąskie telefony: kwota schodzi pod nazwę zamiast poszerzać viewport. */
@media(max-width:360px){
    .recent-donation{
        grid-template-columns:minmax(0,1fr);
        row-gap:5px
    }

    .recent-donation-amount{
        justify-self:start;
        text-align:left
    }
}

/* Ochrona przed pojedynczym wadliwym elementem zewnętrznym.
   Nie zastępuje powyższej naprawy komponentu. */
html,
body{
    max-width:100%;
    overflow-x:clip
}


/* ==========================================================
   3.2.7 — mobile spacing / anchor accuracy / non-sticky header
   ========================================================== */

@media(max-width:820px){

    /* Górny pasek z logo na mobile nie jest sticky. */
    .site-header{
        position:relative;
        top:auto;
    }

    /* Sekcja ostatnich wpłat dostaje taki sam wewnętrzny oddech jak reszta strony. */
    #ostatnie-wplaty .container{
        width:min(100% - 32px,1180px);
        margin-left:auto;
        margin-right:auto;
    }

    #ostatnie-wplaty .recent-donations-copy{
        padding-left:2px;
        padding-right:2px;
    }

    #ostatnie-wplaty .recent-donations-copy .eyebrow,
    #ostatnie-wplaty .recent-donations-copy h2,
    #ostatnie-wplaty .recent-donations-copy p{
        margin-left:0;
        margin-right:0;
    }

    /*
     * Dolna nawigacja jest fixed, ale górny header już nie.
     * Nie potrzebujemy więc dużego scroll-margin-top.
     * Dajemy tylko niewielki oddech wizualny.
     */
    #formularz-wplaty,
    #co-daje-wplata,
    #komu-pomagamy,
    #historie,
    #dzien-papieski,
    #poprzednie-edycje,
    #zaufanie,
    #ostatnie-wplaty,
    #faq{
        scroll-margin-top:16px;
    }
}

/* Na małych telefonach trochę więcej oddechu od krawędzi. */
@media(max-width:480px){
    #ostatnie-wplaty .container{
        width:calc(100% - 28px);
    }
}


/* ==========================================================
   3.2.8 — powiadomienie o nowej zakończonej wpłacie
   ========================================================== */

.live-donation-toast{
    position:fixed;
    left:24px;
    bottom:24px;
    z-index:3500;
    width:min(420px,calc(100vw - 48px));
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 34px;
    gap:12px;
    align-items:center;
    padding:15px 14px;
    border:1px solid rgba(11,70,111,.12);
    border-radius:16px;
    background:#fff;
    color:var(--text);
    box-shadow:0 18px 50px rgba(5,45,75,.20);
    opacity:0;
    transform:translateY(18px);
    transition:opacity .22s ease,transform .22s ease;
    pointer-events:none
}

.live-donation-toast[hidden]{
    display:none
}

.live-donation-toast.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto
}

.live-donation-toast-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff4ce;
    color:#966f00;
    font-size:20px
}

.live-donation-toast-title{
    display:block;
    margin-bottom:2px;
    color:var(--navy);
    font-size:14px
}

.live-donation-toast-message{
    color:#455e71;
    font-size:13px;
    line-height:1.4
}

.live-donation-toast-message [data-live-donor]{
    color:var(--navy);
    font-weight:850
}

.live-donation-toast-message [data-live-amount]{
    margin-left:3px;
    color:#775700;
    font-weight:900;
    white-space:nowrap
}

.live-donation-toast-close{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#53697a;
    font-size:24px;
    line-height:1;
    cursor:pointer
}

.live-donation-toast-close:hover{
    background:#f1f5f7;
    color:var(--navy)
}

@media(max-width:820px){
    .live-donation-toast{
        left:12px;
        right:12px;
        bottom:82px;
        width:auto;
        grid-template-columns:42px minmax(0,1fr) 34px;
        padding:13px 12px
    }

    .live-donation-toast-icon{
        width:40px;
        height:40px
    }
}

@media(prefers-reduced-motion:reduce){
    .live-donation-toast{
        transition:none;
        transform:none
    }
}


/* ==========================================================
   3.2.9 — checkout jako wpłata, nie sklep
   ========================================================== */

body.ezb-donation-checkout{
    background:#fffdf8
}

.ezb-donation-checkout .site-header{
    background:#fff
}

.ezb-donation-checkout .woocommerce{
    width:min(900px,calc(100% - 40px));
    margin:42px auto 70px
}

.ezb-donation-checkout .woocommerce h1,
.ezb-donation-checkout .entry-title{
    color:var(--navy);
    font-size:clamp(30px,4vw,44px);
    line-height:1.1
}

.ezb-donation-checkout form.checkout{
    display:block
}

/* Pola wpłaty / Flexible Checkout Fields */
.ezb-donation-checkout .woocommerce-billing-fields,
.ezb-donation-checkout .woocommerce-additional-fields,
.ezb-donation-checkout .col2-set{
    width:100%
}

.ezb-donation-checkout .woocommerce-billing-fields,
.ezb-donation-checkout .woocommerce-additional-fields{
    margin-bottom:26px
}

.ezb-donation-checkout .woocommerce-billing-fields > h3,
.ezb-donation-checkout .woocommerce-additional-fields > h3{
    margin:0 0 18px;
    color:var(--navy);
    font-size:22px
}

.ezb-donation-checkout .form-row{
    margin-bottom:16px
}

.ezb-donation-checkout .form-row label{
    margin-bottom:6px;
    color:#274960;
    font-size:13px;
    font-weight:750
}

.ezb-donation-checkout .input-text,
.ezb-donation-checkout input[type="email"],
.ezb-donation-checkout input[type="text"],
.ezb-donation-checkout textarea,
.ezb-donation-checkout select{
    min-height:46px;
    width:100%;
    padding:10px 12px;
    border:1px solid #cfd9e0;
    border-radius:8px;
    background:#fff;
    color:var(--text)
}

.ezb-donation-checkout textarea{
    min-height:100px
}

/* Podsumowanie */
.ezb-donation-checkout #order_review_heading{
    margin:34px 0 14px;
    color:var(--navy);
    font-size:24px
}

.ezb-donation-checkout #order_review{
    width:100%
}

.ezb-donation-checkout .woocommerce-checkout-review-order-table{
    overflow:hidden;
    margin:0 0 18px;
    border:1px solid #d8e1e7;
    border-radius:14px;
    border-collapse:separate;
    border-spacing:0;
    background:#fff
}

.ezb-donation-checkout .woocommerce-checkout-review-order-table th,
.ezb-donation-checkout .woocommerce-checkout-review-order-table td{
    padding:14px 16px;
    border:0;
    border-bottom:1px solid #e5ebef
}

.ezb-donation-checkout .woocommerce-checkout-review-order-table tr:last-child th,
.ezb-donation-checkout .woocommerce-checkout-review-order-table tr:last-child td{
    border-bottom:0
}

.ezb-donation-checkout .woocommerce-checkout-review-order-table thead th{
    background:#f7fafb;
    color:var(--navy);
    font-size:13px
}

.ezb-donation-checkout .woocommerce-checkout-review-order-table .product-total,
.ezb-donation-checkout .woocommerce-checkout-review-order-table td:last-child{
    text-align:right
}

.ezb-donation-checkout .woocommerce-checkout-review-order-table .order-total th,
.ezb-donation-checkout .woocommerce-checkout-review-order-table .order-total td{
    padding-top:17px;
    padding-bottom:17px;
    background:#fff8df;
    color:var(--navy);
    font-size:17px;
    font-weight:900
}

/* Ochrona: gdyby obca wtyczka mimo filtrów wyrenderowała shipping row. */
.ezb-donation-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals,
.ezb-donation-checkout .woocommerce-checkout-review-order-table tr.shipping{
    display:none!important
}

/* Płatność */
.ezb-donation-checkout #payment{
    margin-top:18px;
    overflow:hidden;
    border:1px solid #d8e1e7;
    border-radius:16px;
    background:#fff
}

.ezb-donation-checkout .ezb-payment-heading{
    padding:20px 22px 15px;
    border-bottom:1px solid #e6ecef;
    background:#fffaf0
}

.ezb-donation-checkout .ezb-payment-heading-kicker{
    display:block;
    margin-bottom:5px;
    color:#805d00;
    font-size:10px;
    font-weight:900;
    letter-spacing:.09em
}

.ezb-donation-checkout .ezb-payment-heading h3{
    margin:0 0 5px;
    color:var(--navy);
    font-size:20px
}

.ezb-donation-checkout .ezb-payment-heading p{
    margin:0;
    color:#53697a;
    font-size:12px
}

.ezb-donation-checkout #payment ul.payment_methods{
    margin:0;
    padding:18px 22px;
    border-bottom:1px solid #e6ecef;
    background:#fff
}

.ezb-donation-checkout #payment .payment_box{
    margin:10px 0 0;
    padding:14px 16px;
    border-radius:10px;
    background:#f6f8fa
}

.ezb-donation-checkout #payment .place-order{
    margin:0;
    padding:20px 22px;
    background:#fff
}

.ezb-donation-checkout #payment .woocommerce-privacy-policy-text{
    margin-bottom:14px;
    color:#506777;
    font-size:12px;
    line-height:1.55
}

.ezb-donation-checkout #payment .woocommerce-privacy-policy-text a,
.ezb-donation-checkout .woocommerce-terms-and-conditions-checkbox-text a{
    color:var(--navy);
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:2px
}

.ezb-donation-checkout .woocommerce-terms-and-conditions-wrapper{
    margin-bottom:16px
}

.ezb-donation-checkout .woocommerce-terms-and-conditions-checkbox-text{
    font-size:12px;
    line-height:1.45
}

.ezb-donation-checkout #place_order{
    width:100%;
    min-height:52px;
    float:none;
    border:0;
    border-radius:8px;
    background:var(--yellow);
    color:var(--navy);
    font-weight:900;
    text-transform:uppercase
}

.ezb-donation-checkout #place_order:hover{
    filter:brightness(.97)
}

.ezb-donation-checkout #place_order:focus-visible{
    outline:3px solid #7a5800;
    outline-offset:3px
}

/* WooCommerce notices */
.ezb-donation-checkout .woocommerce-error,
.ezb-donation-checkout .woocommerce-message,
.ezb-donation-checkout .woocommerce-info{
    border-radius:10px
}

/* Nie pokazujemy elementów typowych dla sklepu, jeśli wtyczka je doda. */
.ezb-donation-checkout .woocommerce-form-coupon-toggle,
.ezb-donation-checkout .woocommerce-shipping-fields,
.ezb-donation-checkout .shipping_address{
    display:none
}

@media(max-width:700px){
    .ezb-donation-checkout .woocommerce{
        width:calc(100% - 28px);
        margin-top:26px;
        margin-bottom:100px
    }

    .ezb-donation-checkout .woocommerce-checkout-review-order-table th,
    .ezb-donation-checkout .woocommerce-checkout-review-order-table td{
        padding:12px 10px
    }

    .ezb-donation-checkout .ezb-payment-heading,
    .ezb-donation-checkout #payment ul.payment_methods,
    .ezb-donation-checkout #payment .place-order{
        padding-left:14px;
        padding-right:14px
    }
}


/* ==========================================================
   3.3.0 — anonimowa wpłata
   ========================================================== */

.ezb-donation-checkout .ezb-anonymous-donation-field{
    margin-top:6px;
    padding:12px 14px;
    border:1px solid #d8e1e7;
    border-radius:10px;
    background:#fffaf0
}

.ezb-donation-checkout .ezb-anonymous-donation-field label{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:0;
    color:var(--navy);
    font-size:13px;
    font-weight:750;
    line-height:1.4
}

.ezb-donation-checkout .ezb-anonymous-donation-field input[type="checkbox"]{
    flex:0 0 auto;
    width:18px;
    height:18px;
    margin-top:1px
}

.ezb-donation-checkout .ezb-anonymous-donation-field:after{
    content:"Podpis pozostanie w danych wpłaty i może zostać użyty do wygenerowania spersonalizowanego podziękowania. Na publicznej liście pojawi się „Anonimowy darczyńca”.";
    display:block;
    margin-top:7px;
    padding-left:27px;
    color:#657589;
    font-size:11px;
    line-height:1.45
}


/* ==========================================================
   3.3.1/3.3.2 — pełna szerokość pól checkoutu
   ========================================================== */

.ezb-donation-checkout .col2-set,
.ezb-donation-checkout .col2-set .col-1,
.ezb-donation-checkout .col2-set .col-2,
.ezb-donation-checkout .woocommerce-billing-fields,
.ezb-donation-checkout .woocommerce-billing-fields__field-wrapper,
.ezb-donation-checkout .woocommerce-additional-fields,
.ezb-donation-checkout .woocommerce-additional-fields__field-wrapper{
    width:100%;
    max-width:none;
    float:none
}

.ezb-donation-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.ezb-donation-checkout .woocommerce-additional-fields__field-wrapper .form-row,
.ezb-donation-checkout .form-row-wide,
.ezb-donation-checkout .form-row-first,
.ezb-donation-checkout .form-row-last{
    width:100%;
    max-width:none;
    float:none;
    clear:both
}

.ezb-donation-checkout .woocommerce-billing-fields__field-wrapper input.input-text,
.ezb-donation-checkout .woocommerce-additional-fields__field-wrapper input.input-text,
.ezb-donation-checkout .woocommerce-billing-fields__field-wrapper textarea,
.ezb-donation-checkout .woocommerce-additional-fields__field-wrapper textarea,
.ezb-donation-checkout .woocommerce-billing-fields__field-wrapper select,
.ezb-donation-checkout .woocommerce-additional-fields__field-wrapper select,
.ezb-donation-checkout .ezb-anonymous-donation-field{
    width:100%;
    max-width:none
}

/* ==========================================================
   3.3.2 — komunikaty WooCommerce i strona podziękowania
   ========================================================== */

/* Notices nie wyglądają jak błędy sklepu */
.ezb-donation-checkout .woocommerce-error,
.ezb-donation-checkout .woocommerce-message,
.ezb-donation-checkout .woocommerce-info,
.ezb-donation-thankyou .woocommerce-error,
.ezb-donation-thankyou .woocommerce-message,
.ezb-donation-thankyou .woocommerce-info{
    margin:0 0 22px;
    padding:14px 16px 14px 48px;
    border:1px solid #d8e1e7;
    border-radius:12px;
    background:#fff;
    color:#284a61;
    box-shadow:0 8px 22px rgba(5,45,75,.05)
}

.ezb-donation-checkout .woocommerce-error{
    border-color:#e7c7c7;
    background:#fff8f8
}

.ezb-donation-checkout .woocommerce-error::before{
    color:#a12525
}

.ezb-donation-checkout .woocommerce-message::before,
.ezb-donation-checkout .woocommerce-info::before{
    color:#7b5b00
}

/* Thank you */
body.ezb-donation-thankyou{
    background:linear-gradient(180deg,#fffdf8,#fff)
}

.ezb-donation-thankyou .woocommerce{
    width:min(900px,calc(100% - 40px));
    margin:54px auto 80px
}

.ezb-thankyou-hero{
    position:relative;
    overflow:hidden;
    margin-bottom:26px;
    padding:38px 34px;
    border-radius:22px;
    background:linear-gradient(135deg,#073556,#0b466f);
    color:#fff;
    text-align:center
}

.ezb-thankyou-hero:after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-90px;
    top:-110px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,195,56,.24),transparent 70%)
}

.ezb-thankyou-icon{
    position:relative;
    z-index:1;
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    margin:0 auto 16px;
    border-radius:50%;
    background:var(--yellow);
    color:var(--navy);
    font-size:28px
}

.ezb-thankyou-hero h1{
    position:relative;
    z-index:1;
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(32px,4vw,48px);
    line-height:1.08
}

.ezb-thankyou-hero p{
    position:relative;
    z-index:1;
    max-width:690px;
    margin:0 auto;
    color:#e3edf3;
    font-size:16px;
    line-height:1.65
}

.ezb-thankyou-note{
    margin:18px 0 28px;
    padding:16px 18px;
    border:1px solid #f0d98c;
    border-radius:12px;
    background:#fff8df;
    color:#5c4a0d;
    font-size:13px;
    line-height:1.55
}

.ezb-donation-thankyou .woocommerce-order-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    margin:0 0 24px;
    padding:0;
    overflow:hidden;
    border:1px solid #d8e1e7;
    border-radius:14px;
    background:#fff
}

.ezb-donation-thankyou .woocommerce-order-overview li{
    min-width:0;
    margin:0!important;
    padding:16px!important;
    border-right:1px solid #e5ebef!important;
    color:#607585;
    font-size:11px;
    text-transform:none
}

.ezb-donation-thankyou .woocommerce-order-overview li:last-child{
    border-right:0!important
}

.ezb-donation-thankyou .woocommerce-order-overview strong{
    display:block;
    margin-top:5px;
    color:var(--navy);
    font-size:15px
}

.ezb-donation-thankyou .woocommerce-order-details{
    margin-top:28px
}

.ezb-donation-thankyou .woocommerce-order-details__title{
    margin:0 0 14px;
    color:var(--navy);
    font-size:24px
}

.ezb-donation-thankyou .woocommerce-table--order-details{
    overflow:hidden;
    border:1px solid #d8e1e7;
    border-radius:14px;
    border-collapse:separate;
    border-spacing:0;
    background:#fff
}

.ezb-donation-thankyou .woocommerce-table--order-details th,
.ezb-donation-thankyou .woocommerce-table--order-details td{
    padding:14px 16px;
    border:0;
    border-bottom:1px solid #e6ecef
}

.ezb-donation-thankyou .woocommerce-table--order-details tr:last-child th,
.ezb-donation-thankyou .woocommerce-table--order-details tr:last-child td{
    border-bottom:0
}

.ezb-donation-thankyou .woocommerce-table--order-details tfoot tr:last-child{
    background:#fff8df
}

.ezb-donation-thankyou .woocommerce-customer-details,
.ezb-donation-thankyou .woocommerce-column--billing-address,
.ezb-donation-thankyou .woocommerce-column--shipping-address{
    display:none
}

.ezb-thankyou-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin-top:28px
}

.ezb-thankyou-actions .btn{
    min-width:220px
}

@media(max-width:700px){
    .ezb-donation-thankyou .woocommerce{
        width:calc(100% - 28px);
        margin:28px auto 100px
    }

    .ezb-thankyou-hero{
        padding:30px 18px
    }

    .ezb-donation-thankyou .woocommerce-order-overview{
        grid-template-columns:1fr 1fr
    }

    .ezb-donation-thankyou .woocommerce-order-overview li:nth-child(2){
        border-right:0!important
    }

    .ezb-donation-thankyou .woocommerce-order-overview li:nth-child(-n+2){
        border-bottom:1px solid #e5ebef!important
    }
}


/* ==========================================================
   3.3.4 — polska typografia: sieroty i poprawne zawijanie
   ========================================================== */

/* Lepsze łamanie tekstu w nowoczesnych przeglądarkach. */
p,
li,
blockquote,
.faq-answer,
.hero-lead,
.living-monument-text,
.trust-card p,
.impact-card p,
.campaign-effect span,
.story-body p{
    text-wrap:pretty
}

h1,
h2,
h3,
.section-title,
.hero-copy h1,
.living-monument-copy h2,
.final-cta h2{
    text-wrap:balance
}

/* Frazy chronione JS nie powinny się rozdzielać. */
.ezb-nowrap{
    white-space:nowrap
}

/* Awaryjnie na bardzo wąskim ekranie pozwalamy frazie się złamać. */
@media(max-width:360px){
    .ezb-nowrap{
        white-space:normal
    }
}


/* ==========================================================
   3.3.6 — czytelne podsumowanie wpłaty na thank-you page
   ========================================================== */

/*
 * WooCommerce renderuje overview jako listę <li>.
 * Zamiast przypadkowego układu 4+1 robimy świadomy grid:
 * 3 elementy w pierwszym rzędzie, 2 elementy w drugim.
 */
.ezb-donation-thankyou .woocommerce-order-overview{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:0;
    margin:0 0 28px;
    padding:0;
    overflow:hidden;
    border:1px solid #d8e1e7;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 26px rgba(5,45,75,.045)
}

.ezb-donation-thankyou .woocommerce-order-overview li{
    position:relative;
    min-width:0;
    min-height:92px;
    margin:0!important;
    padding:18px 20px!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:0!important;
    border-right:1px solid #e5ebef!important;
    border-bottom:1px solid #e5ebef!important;
    background:#fff;
    color:#617485;
    font-size:10px;
    line-height:1.25;
    letter-spacing:.035em;
    text-transform:uppercase
}

/* Pierwsze trzy: po 1/3 szerokości */
.ezb-donation-thankyou .woocommerce-order-overview li:nth-child(-n+3){
    grid-column:span 2
}

/* Ostatnie dwa: po 1/2 szerokości */
.ezb-donation-thankyou .woocommerce-order-overview li:nth-child(n+4){
    grid-column:span 3;
    border-bottom:0!important
}

/* Koniec pierwszego rzędu */
.ezb-donation-thankyou .woocommerce-order-overview li:nth-child(3){
    border-right:0!important
}

/* Koniec drugiego rzędu */
.ezb-donation-thankyou .woocommerce-order-overview li:last-child{
    border-right:0!important
}

.ezb-donation-thankyou .woocommerce-order-overview strong{
    display:block;
    max-width:100%;
    margin-top:7px;
    overflow-wrap:anywhere;
    color:var(--navy);
    font-size:16px;
    line-height:1.35;
    letter-spacing:0;
    text-transform:none
}

/* Kwota dostaje delikatny akcent */
.ezb-donation-thankyou .woocommerce-order-overview__total{
    background:#fffaf0!important
}

.ezb-donation-thankyou .woocommerce-order-overview__total strong{
    color:#8a6500;
    font-size:18px
}

/* Sposób płatności może mieć dłuższą nazwę, więc nie ściskamy go */
.ezb-donation-thankyou .woocommerce-order-overview__payment-method strong{
    white-space:normal
}

@media(max-width:700px){
    .ezb-donation-thankyou .woocommerce-order-overview{
        grid-template-columns:1fr 1fr
    }

    .ezb-donation-thankyou .woocommerce-order-overview li,
    .ezb-donation-thankyou .woocommerce-order-overview li:nth-child(-n+3),
    .ezb-donation-thankyou .woocommerce-order-overview li:nth-child(n+4){
        grid-column:auto;
        min-height:84px;
        padding:15px 14px!important;
        border-right:1px solid #e5ebef!important;
        border-bottom:1px solid #e5ebef!important
    }

    .ezb-donation-thankyou .woocommerce-order-overview li:nth-child(even){
        border-right:0!important
    }

    .ezb-donation-thankyou .woocommerce-order-overview li:last-child{
        grid-column:1/-1;
        border-right:0!important;
        border-bottom:0!important
    }

    .ezb-donation-thankyou .woocommerce-order-overview strong{
        font-size:14px
    }
}

@media(max-width:420px){
    .ezb-donation-thankyou .woocommerce-order-overview{
        grid-template-columns:1fr
    }

    .ezb-donation-thankyou .woocommerce-order-overview li,
    .ezb-donation-thankyou .woocommerce-order-overview li:nth-child(-n+3),
    .ezb-donation-thankyou .woocommerce-order-overview li:nth-child(n+4),
    .ezb-donation-thankyou .woocommerce-order-overview li:last-child{
        grid-column:1;
        border-right:0!important;
        border-bottom:1px solid #e5ebef!important
    }

    .ezb-donation-thankyou .woocommerce-order-overview li:last-child{
        border-bottom:0!important
    }
}


/* ==========================================================
   3.3.7 — thank-you jako potwierdzenie wsparcia, nie zamówienie
   ========================================================== */

/* Ukrywamy standardowe elementy typowe dla sklepu. */
.ezb-donation-thankyou .woocommerce-order-overview,
.ezb-donation-thankyou .woocommerce-order-details{
    display:none!important
}

/* Własne podsumowanie wpłaty */
.ezb-support-receipt{
    margin:0 0 30px;
    overflow:hidden;
    border:1px solid #d8e1e7;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(5,45,75,.055)
}

.ezb-support-receipt-main{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);
    gap:0;
    align-items:stretch
}

.ezb-support-receipt-amount{
    padding:28px 30px;
    background:linear-gradient(135deg,#fffaf0,#fff6d8)
}

.ezb-support-receipt-label{
    display:block;
    margin-bottom:6px;
    color:#806000;
    font-size:10px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase
}

.ezb-support-receipt-amount strong{
    display:block;
    color:var(--navy);
    font-size:clamp(34px,5vw,48px);
    line-height:1
}

.ezb-support-receipt-amount p{
    margin:10px 0 0;
    color:#556c7c;
    font-size:13px;
    line-height:1.55
}

.ezb-support-receipt-payment{
    padding:28px 30px;
    border-left:1px solid #e5ebef;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.ezb-support-receipt-payment strong{
    display:block;
    margin-top:5px;
    color:var(--navy);
    font-size:18px;
    line-height:1.35
}

.ezb-support-receipt-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid #e5ebef;
    background:#fff
}

.ezb-support-receipt-meta-item{
    min-width:0;
    padding:16px 20px;
    border-right:1px solid #e5ebef
}

.ezb-support-receipt-meta-item:last-child{
    border-right:0
}

.ezb-support-receipt-meta-item span{
    display:block;
    margin-bottom:4px;
    color:#6a7d8b;
    font-size:10px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase
}

.ezb-support-receipt-meta-item strong{
    display:block;
    overflow-wrap:anywhere;
    color:var(--navy);
    font-size:14px;
    line-height:1.4
}

.ezb-support-receipt-purpose{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:17px 20px;
    border-top:1px solid #e5ebef;
    background:#f8fafb
}

.ezb-support-receipt-purpose-icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff4ce;
    color:#7c5b00;
    font-size:15px
}

.ezb-support-receipt-purpose strong{
    display:block;
    margin-bottom:3px;
    color:var(--navy);
    font-size:14px
}

.ezb-support-receipt-purpose p{
    margin:0;
    color:#5b7080;
    font-size:12px;
    line-height:1.5
}

@media(max-width:700px){
    .ezb-support-receipt-main{
        grid-template-columns:1fr
    }

    .ezb-support-receipt-payment{
        border-left:0;
        border-top:1px solid #e5ebef
    }

    .ezb-support-receipt-meta{
        grid-template-columns:1fr 1fr
    }

    .ezb-support-receipt-meta-item{
        border-bottom:1px solid #e5ebef
    }

    .ezb-support-receipt-meta-item:nth-child(2){
        border-right:0
    }

    .ezb-support-receipt-meta-item:last-child{
        grid-column:1/-1;
        border-bottom:0
    }
}

@media(max-width:420px){
    .ezb-support-receipt-amount,
    .ezb-support-receipt-payment{
        padding:22px 18px
    }

    .ezb-support-receipt-meta{
        grid-template-columns:1fr
    }

    .ezb-support-receipt-meta-item,
    .ezb-support-receipt-meta-item:nth-child(2),
    .ezb-support-receipt-meta-item:last-child{
        grid-column:1;
        border-right:0;
        border-bottom:1px solid #e5ebef
    }

    .ezb-support-receipt-meta-item:last-child{
        border-bottom:0
    }
}


/* ==========================================================
   3.5.5 — czytelniejsze menu + korekta kotwic mobile
   ========================================================== */

/* Desktop: pozycje menu nie mogą wyglądać jak drobne metadane. */
.anchor-menu a,
.main-nav ul a{
    font-size:15px
}

.header-cta{
    font-size:13px
}

@media(max-width:1180px) and (min-width:901px){
    .anchor-menu a,
    .main-nav ul a{
        font-size:14px
    }

    .header-cta{
        font-size:13px
    }
}

@media(max-width:820px){
    /*
     * Header na mobile nie jest sticky, więc wyłączamy stary globalny
     * scroll-padding i ustawiamy jeden przewidywalny offset na sekcjach.
     */
    html{
        scroll-padding-top:0!important;
        scroll-padding-bottom:92px
    }

    #main-content,
    #formularz-wplaty,
    #co-daje-wplata,
    #komu-pomagamy,
    #historie,
    #dzien-papieski,
    #poprzednie-edycje,
    #zaufanie,
    #ostatnie-wplaty,
    #faq{
        scroll-margin-top:40px!important;
        scroll-margin-bottom:96px
    }

    /*
     * Dolna nawigacja: 14 px jest minimalnym rozmiarem tekstu.
     * Zwiększamy też wysokość, żeby etykiety nie były ściśnięte.
     */
    body{
        padding-bottom:86px
    }

    .mobile-bottom-nav{
        min-height:78px
    }

    .mobile-bottom-nav a{
        min-height:78px;
        padding:8px 2px 7px;
        gap:3px;
        font-size:14px!important;
        line-height:1.12
    }

    .mobile-bottom-nav svg{
        width:21px;
        height:21px
    }
}

/* Nawet na bardzo wąskich telefonach nie zmniejszamy tekstu poniżej 14 px. */
@media(max-width:360px){
    .mobile-bottom-nav a{
        font-size:14px!important
    }

    .mobile-bottom-nav svg{
        width:20px;
        height:20px
    }
}


/* ==========================================================
   3.5.6 — finalne strojenie kotwic i dolnego menu mobile
   ========================================================== */

@media(max-width:820px){
    /*
     * Sekcje mają już własne 60 px padding-top.
     * 40 px scroll-margin dawało więc wizualnie ok. 100 px od góry ekranu.
     * Zostawiamy tylko 20 px oddechu nad sekcją.
     */
    #main-content,
    #formularz-wplaty,
    #co-daje-wplata,
    #komu-pomagamy,
    #historie,
    #dzien-papieski,
    #poprzednie-edycje,
    #zaufanie,
    #ostatnie-wplaty,
    #faq{
        scroll-margin-top:20px!important
    }

    .mobile-bottom-nav{
        grid-template-columns:repeat(6,minmax(0,1fr));
        overflow:hidden
    }

    .mobile-bottom-nav a{
        min-width:0;
        max-width:100%;
        overflow:hidden;
        padding-left:1px;
        padding-right:1px
    }

    .mobile-bottom-nav a span{
        display:block;
        width:100%;
        min-width:0;
        max-width:100%;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:clip;
        letter-spacing:-.02em
    }
}


/* ==========================================================
   3.5.10 — P24: bez sprzedażowego języka na potwierdzeniu
   ========================================================== */

/*
 * Aktualna wtyczka Przelewy24 renderuje te dwa elementy własnym szablonem:
 *
 * .p24-payment-status__description
 * .p24-payment-status__detail
 *
 * W e-Zbiórce nie są potrzebne — status "Płatność została potwierdzona"
 * zostaje, a sprzedażowe teksty o zamówieniu są całkowicie ukrywane.
 */
.ezb-donation-thankyou .p24-payment-status__description,
.ezb-donation-thankyou .p24-payment-status__detail,
.ezb-donation-thankyou [data-p24-status-description],
.ezb-donation-thankyou [data-p24-status-detail]{
    display:none!important;
}


/* ==========================================================
   3.5.15 — poprzednie edycje: czystszy wykres
   ========================================================== */

.history-section .section-heading{
    margin-bottom:18px;
}

.history-section .section-heading h2{
    margin-bottom:0;
}

.history-trend{
    min-height:360px;
    padding-top:14px;
}

.history-year-head{
    min-height:64px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
}

.history-year-head .edition{
    min-height:16px;
    line-height:1.25;
}

.history-year-head .year{
    margin-top:5px;
    line-height:1;
}

.history-bar-amount strong{
    font-size:21px;
    line-height:1.05;
}

.history-delta{
    margin-top:8px;
    font-size:13px;
    line-height:1.2;
}

.history-bar-wrap{
    height:228px;
}

.history-caption{
    display:none!important;
}

@media(max-width:820px){
    .history-section .section-heading{
        margin-bottom:12px;
    }

    .history-trend{
        min-height:340px;
        padding-top:8px;
        gap:14px;
    }

    .history-bar-amount strong{
        font-size:20px;
    }

    .history-delta{
        font-size:12px;
    }
}


/* ==========================================================
   3.5.17 — historia stypendysty: editorial / visual story
   ========================================================== */

body.ezb-story-single{
    background:#fff;
}

.ezb-story-single .site-header{
    box-shadow:0 1px 0 rgba(11,70,111,.08);
}

.story-v2{
    --story-deep:#073958;
    --story-navy:#0b466f;
    --story-gold:#ffc338;
    --story-soft:#f6f8f9;
    --story-cream:#fff9e9;
    --story-text:#21455d;
}

/* HERO */
.story-v2-hero{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 80% 22%,rgba(255,195,56,.18),transparent 24%),
        linear-gradient(115deg,#062f4a 0%,#073c5d 49%,#0a4c72 100%);
}

.story-v2-hero:after{
    content:"";
    position:absolute;
    inset:auto -90px -150px auto;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(255,195,56,.16);
    pointer-events:none;
}

.story-v2-hero .container{
    position:relative;
    z-index:2;
    padding-top:24px;
    padding-bottom:0;
}

.story-v2-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:0 0 24px;
    color:#d7e6ee;
    font-size:12px;
    line-height:1.4;
}

.story-v2-breadcrumbs a{
    color:#fff;
    opacity:.9;
}

.story-v2-breadcrumbs a:hover{
    text-decoration:underline;
    text-underline-offset:3px;
}

.story-v2-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
    gap:56px;
    align-items:end;
}

.story-v2-hero-copy{
    align-self:center;
    padding:22px 0 66px;
}

.story-v2-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:17px;
    color:var(--story-gold);
    font-size:11px;
    font-weight:900;
    letter-spacing:.11em;
}

.story-v2-kicker:before{
    content:"";
    width:48px;
    height:4px;
    border-radius:20px;
    background:var(--story-gold);
}

.story-v2-hero h1{
    max-width:700px;
    margin:0;
    color:#fff;
    font-size:clamp(48px,5.6vw,76px);
    line-height:.98;
    letter-spacing:-.045em;
}

.story-v2-lead{
    max-width:650px;
    margin:24px 0 0;
    color:#e7f0f4;
    font-size:19px;
    line-height:1.65;
}

.story-v2-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.story-v2-back{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:48px;
    padding:0 18px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:999px;
    color:#fff;
    font-size:13px;
    font-weight:800;
}

.story-v2-back:hover{
    border-color:var(--story-gold);
    background:rgba(255,195,56,.08);
}

.story-v2-hero .btn{
    min-height:48px;
    border-radius:999px;
    text-transform:none;
}

.story-v2-media{
    position:relative;
    min-height:470px;
    align-self:end;
}

.story-v2-image,
.story-v2-image-placeholder{
    position:absolute;
    inset:0 0 0 auto;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center top;
}

.story-v2-image{
    mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 100%);
}

.story-v2-image-placeholder{
    display:grid;
    place-items:center;
    align-content:center;
    gap:12px;
    background:
        radial-gradient(circle at 50% 30%,rgba(255,195,56,.35),transparent 30%),
        #0b466f;
    color:#fff;
}

.story-v2-image-placeholder span{
    display:grid;
    place-items:center;
    width:74px;
    height:74px;
    border-radius:50%;
    background:var(--story-gold);
    color:var(--story-navy);
    font-size:32px;
}

/* ARTICLE */
.story-v2-body{
    padding:66px 0 74px;
}

.story-v2-layout{
    display:grid;
    grid-template-columns:minmax(0,760px) minmax(290px,330px);
    gap:68px;
    align-items:start;
    justify-content:center;
}

.story-v2-article h2.story-v2-section-title{
    margin:0 0 22px;
    color:var(--story-navy);
    font-size:40px;
    line-height:1.05;
    letter-spacing:-.035em;
}

.story-v2-content{
    color:var(--story-text);
    font-size:18px;
    line-height:1.82;
}

.story-v2-content > :first-child{
    margin-top:0;
}

.story-v2-content > :last-child{
    margin-bottom:0;
}

.story-v2-content p{
    margin:0 0 1.45em;
}

.story-v2-content h2{
    margin:2em 0 .65em;
    color:var(--story-navy);
    font-size:31px;
    line-height:1.15;
    letter-spacing:-.02em;
}

.story-v2-content h3{
    margin:1.7em 0 .55em;
    color:var(--story-navy);
    font-size:24px;
    line-height:1.25;
}

.story-v2-content a{
    color:var(--story-navy);
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:var(--story-gold);
    text-decoration-thickness:3px;
    text-underline-offset:3px;
}

.story-v2-content blockquote,
.story-v2-content .wp-block-quote{
    position:relative;
    margin:38px 0;
    padding:28px 30px 28px 68px;
    border:0;
    border-radius:16px;
    background:linear-gradient(135deg,#fff8df,#fffdf7);
    color:var(--story-navy);
    font-size:21px;
    line-height:1.55;
    font-weight:800;
}

.story-v2-content blockquote:before,
.story-v2-content .wp-block-quote:before{
    content:"“";
    position:absolute;
    left:24px;
    top:12px;
    color:var(--story-gold);
    font-family:Georgia,serif;
    font-size:64px;
    line-height:1;
}

.story-v2-content blockquote p:last-child{
    margin-bottom:0;
}

.story-v2-content img{
    max-width:100%;
    height:auto;
    border-radius:16px;
}

.story-v2-content figure{
    margin:38px 0;
}

.story-v2-content figcaption{
    margin-top:9px;
    color:var(--muted);
    font-size:13px;
    text-align:center;
}

/* SIDEBAR */
.story-v2-aside{
    position:sticky;
    top:110px;
}

.story-v2-sidecard{
    overflow:hidden;
    border:1px solid #e2e9ed;
    border-radius:20px;
    background:linear-gradient(180deg,#fbfcfd,#fff9e9);
    box-shadow:0 16px 40px rgba(7,57,88,.07);
}

.story-v2-sidecard-top{
    padding:28px 28px 24px;
}

.story-v2-side-icon{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    margin-bottom:18px;
    border-radius:50%;
    background:#fff0b7;
    color:var(--story-navy);
    font-size:24px;
}

.story-v2-side-label{
    display:block;
    margin-bottom:8px;
    color:#987000;
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
}

.story-v2-sidecard h2{
    margin:0;
    color:var(--story-navy);
    font-size:25px;
    line-height:1.2;
    letter-spacing:-.02em;
}

.story-v2-sidecard p{
    margin:15px 0 0;
    color:#5c7281;
    font-size:14px;
    line-height:1.65;
}

.story-v2-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:18px;
}

.story-v2-tags a,
.story-v2-tags span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    background:#eaf3f8;
    color:var(--story-navy);
    font-size:11px;
    font-weight:800;
}

.story-v2-side-quote{
    margin:0 18px 18px;
    padding:20px;
    border-radius:14px;
    background:#eaf5fb;
    color:var(--story-navy);
    font-size:15px;
    line-height:1.55;
    font-style:italic;
}

.story-v2-side-quote strong{
    display:block;
    margin-top:10px;
    font-size:11px;
    font-style:normal;
    text-align:right;
}

.story-v2-side-cta{
    display:block;
    margin:0 18px 18px;
    padding:17px 18px;
    border-radius:12px;
    background:var(--story-gold);
    color:var(--story-navy);
    font-size:13px;
    line-height:1.35;
    font-weight:900;
    text-align:center;
}

/* RELATED */
.story-v2-related{
    padding:0 0 72px;
}

.story-v2-related-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:20px;
}

.story-v2-related h2{
    margin:0;
    color:var(--story-navy);
    font-size:33px;
    line-height:1.1;
    letter-spacing:-.03em;
}

.story-v2-related-link{
    color:var(--story-navy);
    font-size:13px;
    font-weight:800;
}

.story-v2-related-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.story-v2-related-card{
    overflow:hidden;
    border:1px solid #e4eaee;
    border-radius:15px;
    background:#fff;
    box-shadow:0 10px 26px rgba(7,57,88,.06);
    transition:transform .18s ease,box-shadow .18s ease;
}

.story-v2-related-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 36px rgba(7,57,88,.11);
}

.story-v2-related-image,
.story-v2-related-placeholder{
    width:100%;
    aspect-ratio:16/9;
    display:block;
    object-fit:cover;
}

.story-v2-related-placeholder{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#0b466f,#073958);
    color:var(--story-gold);
    font-size:34px;
}

.story-v2-related-copy{
    padding:18px 18px 19px;
}

.story-v2-related-copy strong{
    display:block;
    color:var(--story-navy);
    font-size:18px;
    line-height:1.28;
}

.story-v2-related-copy span{
    display:inline-block;
    margin-top:12px;
    color:#a87500;
    font-size:12px;
    font-weight:900;
}

/* FINAL CTA */
.story-v2-final{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 75% 50%,rgba(255,195,56,.16),transparent 30%),
        linear-gradient(110deg,#062f4a,#0a4b70);
    color:#fff;
}

.story-v2-final:after{
    content:"";
    position:absolute;
    right:-60px;
    bottom:-120px;
    width:310px;
    height:310px;
    border:2px solid rgba(255,195,56,.35);
    border-radius:50%;
}

.story-v2-final-inner{
    position:relative;
    z-index:1;
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    padding-top:48px;
    padding-bottom:48px;
}

.story-v2-final-copy span{
    display:block;
    margin-bottom:8px;
    color:var(--story-gold);
    font-size:11px;
    font-weight:900;
    letter-spacing:.1em;
}

.story-v2-final-copy h2{
    max-width:760px;
    margin:0;
    color:#fff;
    font-size:clamp(36px,4vw,52px);
    line-height:1.03;
    letter-spacing:-.035em;
}

.story-v2-final-copy p{
    max-width:720px;
    margin:14px 0 0;
    color:#dce9f0;
    font-size:16px;
    line-height:1.65;
}

.story-v2-final .btn{
    flex:0 0 auto;
    min-height:54px;
    border-radius:999px;
    text-transform:none;
}

/* fallback standard single */
.single-default{
    max-width:900px;
    padding-top:60px;
    padding-bottom:60px;
}

.single-default h1{
    color:var(--navy);
}

/* MOBILE */
@media(max-width:980px){
    .story-v2-hero-grid{
        grid-template-columns:1fr 1fr;
        gap:28px;
    }

    .story-v2-media{
        min-height:420px;
    }

    .story-v2-layout{
        grid-template-columns:minmax(0,1fr) 285px;
        gap:34px;
    }
}

@media(max-width:800px){
    .story-v2-hero .container{
        width:min(100%,calc(100% - 28px));
        padding-top:16px;
    }

    .story-v2-breadcrumbs{
        margin-bottom:10px;
        font-size:11px;
    }

    .story-v2-hero-grid{
        grid-template-columns:1fr;
        gap:0;
    }

    .story-v2-hero-copy{
        padding:20px 0 34px;
    }

    .story-v2-kicker{
        margin-bottom:13px;
    }

    .story-v2-hero h1{
        font-size:clamp(42px,13vw,58px);
    }

    .story-v2-lead{
        margin-top:18px;
        font-size:17px;
        line-height:1.6;
    }

    .story-v2-hero-actions{
        margin-top:23px;
    }

    .story-v2-hero-actions .btn,
    .story-v2-back{
        width:100%;
    }

    .story-v2-media{
        min-height:360px;
        margin:0 -14px;
    }

    .story-v2-image{
        mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 100%);
        -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 100%);
    }

    .story-v2-body{
        padding:44px 0 50px;
    }

    .story-v2-layout{
        grid-template-columns:1fr;
        gap:34px;
    }

    .story-v2-article h2.story-v2-section-title{
        font-size:34px;
    }

    .story-v2-content{
        font-size:17px;
        line-height:1.75;
    }

    .story-v2-content h2{
        font-size:27px;
    }

    .story-v2-content blockquote,
    .story-v2-content .wp-block-quote{
        margin:30px -2px;
        padding:25px 22px 25px 56px;
        font-size:19px;
    }

    .story-v2-content blockquote:before,
    .story-v2-content .wp-block-quote:before{
        left:18px;
        font-size:54px;
    }

    .story-v2-aside{
        position:static;
    }

    .story-v2-related{
        padding-bottom:50px;
    }

    .story-v2-related-head{
        display:block;
    }

    .story-v2-related-link{
        display:inline-block;
        margin-top:10px;
    }

    .story-v2-related-grid{
        grid-template-columns:1fr;
    }

    .story-v2-final-inner{
        min-height:0;
        display:block;
        padding-top:42px;
        padding-bottom:42px;
    }

    .story-v2-final .btn{
        width:100%;
        margin-top:26px;
    }
}


/* ==========================================================
   3.5.20 — historia: hero bez powielania treści
   ========================================================== */

.story-v2-hero-copy{
    padding-bottom:58px;
}

.story-v2-hero-copy h1{
    margin-bottom:0;
}

.story-v2-hero-actions{
    margin-top:28px;
}

@media(max-width:800px){
    .story-v2-hero-copy{
        padding-bottom:30px;
    }
}


/* ==========================================================
   3.5.22 — XXVI Dzień Papieski
   ========================================================== */
.papal-day-section{
    position:relative;overflow:hidden;
    background:
        radial-gradient(circle at 8% 20%,rgba(255,195,56,.16),transparent 25%),
        linear-gradient(135deg,#f7f9fa 0%,#fff 48%,#fff8e4 100%);
}
.papal-day-section:before{
    content:"";position:absolute;right:-160px;top:-180px;width:460px;height:460px;
    border:1px solid rgba(11,70,111,.08);border-radius:50%;
}
.papal-day-shell{
    position:relative;z-index:1;display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
    gap:74px;align-items:center;
}
.papal-day-copy .eyebrow{color:#9b7100}
.papal-day-copy h2{
    margin:8px 0 18px;color:var(--navy);
    font-size:clamp(40px,5vw,62px);line-height:1;letter-spacing:-.04em;
}
.papal-day-lead{
    max-width:720px;margin:0 0 20px;color:#2b5067;
    font-size:21px;line-height:1.55;font-weight:700;
}
.papal-day-text{max-width:720px;color:#5a7180;font-size:16px;line-height:1.75}
.papal-day-text p{margin:0 0 16px}
.papal-day-quote{
    position:relative;max-width:690px;margin:30px 0 0;padding:22px 26px 22px 62px;
    border:0;border-left:4px solid var(--yellow);border-radius:0 15px 15px 0;
    background:#fff8df;color:var(--navy);
}
.papal-day-quote>span{
    position:absolute;left:20px;top:10px;color:var(--yellow);
    font-family:Georgia,serif;font-size:58px;line-height:1;
}
.papal-day-quote p{margin:0;font-size:20px;line-height:1.45;font-weight:800}
.papal-day-quote cite{
    display:block;margin-top:7px;color:#6d7f89;font-size:12px;font-style:normal;
}
.papal-day-actions{
    display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px;
}
.papal-day-actions .btn{min-height:50px}
.papal-day-more{
    display:inline-flex;align-items:center;gap:8px;color:var(--navy);
    font-size:14px;font-weight:900;
}
.papal-day-more:hover{
    text-decoration:underline;text-decoration-color:var(--yellow);
    text-decoration-thickness:3px;text-underline-offset:4px;
}
.papal-day-visual{min-width:0}
.papal-day-image-card{
    position:relative;overflow:hidden;min-height:445px;border-radius:28px;
    background:linear-gradient(145deg,#073556,#0b466f);
    box-shadow:0 24px 60px rgba(7,53,86,.18);
}
.papal-day-image-card>img{display:block;width:100%;height:630px;object-fit:cover}
.papal-day-image-card:after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 50%,rgba(4,36,57,.38) 100%);
    pointer-events:none;
}
.papal-day-symbol{
    position:absolute;inset:0;display:grid;place-items:center;align-content:center;
    padding:40px;color:#fff;text-align:center;
}
.papal-day-symbol span{
    color:var(--yellow);font-size:74px;line-height:.95;font-weight:900;letter-spacing:-.06em;
}
.papal-day-symbol strong{margin-top:8px;font-size:36px;line-height:1}
.papal-day-symbol small{
    margin-top:14px;color:#dce8ee;font-size:16px;font-weight:800;letter-spacing:.12em;
}
.papal-day-badge{
    position:absolute;z-index:2;right:20px;bottom:20px;display:flex;flex-direction:column;
    min-width:155px;padding:14px 17px;border-radius:14px;background:var(--yellow);
    color:var(--navy);box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.papal-day-badge strong{font-size:19px;line-height:1}
.papal-day-badge span{margin-top:4px;font-size:11px;font-weight:800}
.papal-day-facts{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;
}
.papal-day-facts article{
    min-width:0;padding:15px 14px;border:1px solid #e3eaee;border-radius:14px;background:#fff;
}
.papal-day-facts strong{display:block;color:var(--navy);font-size:15px;line-height:1.15}
.papal-day-facts span{
    display:block;margin-top:5px;color:#657986;font-size:11px;line-height:1.35;
}
@media(max-width:980px){
    .papal-day-shell{grid-template-columns:1fr 1fr;gap:36px}
    .papal-day-image-card,.papal-day-image-card>img{min-height:390px;height:480px}
    .papal-day-facts{grid-template-columns:1fr}
}
@media(max-width:800px){
    .papal-day-shell{grid-template-columns:1fr;gap:34px}
    .papal-day-copy{text-align:left}
    .papal-day-copy h2{font-size:clamp(38px,12vw,52px)}
    .papal-day-lead{font-size:18px}
    .papal-day-quote{margin-top:24px;padding:20px 18px 20px 52px}
    .papal-day-quote>span{left:15px;font-size:48px}
    .papal-day-quote p{font-size:18px}
    .papal-day-actions{display:grid;grid-template-columns:1fr;gap:15px}
    .papal-day-actions .btn{width:100%}
    .papal-day-image-card,.papal-day-image-card>img{min-height:360px;height:480px}
    .papal-day-image-card{border-radius:20px}
    .papal-day-badge{right:14px;bottom:14px}
    .papal-day-facts{grid-template-columns:1fr}
}


/* ==========================================================
   3.5.23 — XXVI Dzień Papieski bez podstrony + 2 zdjęcia
   ========================================================== */

.papal-day-text--full p{
    margin:0 0 17px;
}

.papal-day-text--full p:last-child{
    margin-bottom:0;
}

.papal-day-visual--two{
    display:grid;
    grid-template-columns:minmax(0,1.28fr) minmax(145px,.72fr);
    gap:14px;
    align-items:stretch;
}

.papal-day-visual--two .papal-day-image-card--main{
    min-height:470px;
}

.papal-day-visual--two .papal-day-image-card--main > img{
    height:470px;
}

.papal-day-image-card--secondary{
    min-height:470px;
    border-radius:22px;
}

.papal-day-image-card--secondary > img{
    width:100%;
    height:470px;
    object-fit:cover;
    object-position:center;
}

.papal-day-visual--two .papal-day-facts{
    grid-column:1 / -1;
}

@media(max-width:1100px){
    .papal-day-visual--two{
        grid-template-columns:1fr;
    }

    .papal-day-visual--two .papal-day-image-card--main,
    .papal-day-visual--two .papal-day-image-card--main > img{
        min-height:390px;
        height:390px;
    }

    .papal-day-image-card--secondary,
    .papal-day-image-card--secondary > img{
        min-height:250px;
        height:250px;
    }
}

@media(max-width:800px){
    .papal-day-text--full{
        font-size:16px;
        line-height:1.72;
    }

    .papal-day-visual--two .papal-day-image-card--main,
    .papal-day-visual--two .papal-day-image-card--main > img{
        min-height:350px;
        height:350px;
    }

    .papal-day-image-card--secondary,
    .papal-day-image-card--secondary > img{
        min-height:220px;
        height:220px;
    }
}


/* 5.0.3 — komunikaty formularza wpłaty */
.ezb-donation-error,
.ezb-donation-admin-warning{
    margin:0 0 16px;
    padding:12px 14px;
    border-radius:10px;
    font-size:14px;
    line-height:1.45;
    font-weight:700;
}
.ezb-donation-error{
    border:1px solid #d9a6a6;
    background:#fff5f5;
    color:#7b2020;
}
.ezb-donation-admin-warning{
    border:1px solid #dfbd61;
    background:#fff9e8;
    color:#624b0f;
}
