/*
Theme Name: E-Zbiórka Crowdfunding
Version: 3.2.1
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}
}
