
.nr-idea-form-wrap,
.nr-ideas-list{
    width:100%;
    box-sizing:border-box;
}

.nr-idea-form-wrap{
    padding:28px;
    border:1px solid #e1e9e3;
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 36px rgba(16,45,28,.07);
}

.nr-idea-kicker{
    display:inline-block;
    margin-bottom:8px;
    color:#2b8749;
    font-size:11px;
    line-height:1;
    font-weight:900;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.nr-idea-form-head h2,
.nr-ideas-list-head h2{
    margin:0!important;
    color:#0f1f32;
    font-size:clamp(28px,4vw,38px)!important;
    line-height:1.04!important;
    letter-spacing:-1px!important;
}

.nr-idea-form-head p{
    margin:8px 0 22px!important;
    color:#6c7887;
}

.nr-idea-form{
    display:grid;
    gap:15px;
}

.nr-idea-form label{
    display:grid;
    gap:7px;
    color:#28384a;
    font-size:13px;
    font-weight:800;
}

.nr-idea-form input[type=text],
.nr-idea-form input[type=email],
.nr-idea-form textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #dfe6e1;
    border-radius:12px;
    background:#fbfcfb;
    padding:12px 13px;
    font:inherit;
    font-weight:500;
}

.nr-idea-form textarea{
    min-height:140px;
    resize:vertical;
}

.nr-idea-two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.nr-idea-check{
    display:flex!important;
    grid-template-columns:none!important;
    flex-direction:row;
    align-items:flex-start;
    gap:9px!important;
    font-size:12px!important;
    font-weight:600!important;
}

.nr-idea-check input{
    margin-top:2px;
}

.nr-idea-form button{
    border:0;
    border-radius:13px;
    padding:13px 18px;
    background:linear-gradient(135deg,#2b8749,#155d32);
    color:#fff;
    font:inherit;
    font-weight:900;
    cursor:pointer;
}

.nr-idea-success{
    margin-bottom:18px;
    padding:12px 14px;
    border-radius:12px;
    background:#eaf6ed;
    color:#155d32;
    font-weight:800;
}

.nr-ideas-list{
    margin-top:38px;
}

.nr-ideas-list-head{
    margin-bottom:18px;
}

.nr-ideas-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.nr-idea-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:18px;
    border:1px solid #e1e9e3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,45,28,.055);
}

.nr-idea-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.nr-idea-status{
    display:inline-flex;
    padding:6px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
}

.nr-idea-status-new{background:#fff2c9;color:#8b6500}
.nr-idea-status-considering{background:#e8edf2;color:#53616f}
.nr-idea-status-progress{background:#e4edff;color:#2c5cb5}
.nr-idea-status-done{background:#ddf4df;color:#267338}

.nr-idea-vote{
    border:1px solid #dfe6e1;
    border-radius:10px;
    background:#fff;
    padding:6px 9px;
    color:#155d32;
    font-weight:900;
    cursor:pointer;
}

.nr-idea-vote.is-voted{
    background:#eaf6ed;
}

.nr-idea-card h3{
    margin:14px 0 7px!important;
    font-size:19px!important;
    line-height:1.18!important;
    color:#0f1f32;
}

.nr-idea-card p{
    margin:0!important;
    color:#6c7887;
    font-size:13px;
    line-height:1.5;
}

.nr-idea-author{
    margin-top:auto;
    padding-top:14px;
    color:#8a958d;
    font-size:11px;
    font-weight:700;
}

@media(max-width:900px){
    .nr-ideas-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .nr-idea-form-wrap{
        padding:20px 15px;
        border-radius:18px;
    }

    .nr-idea-two,
    .nr-ideas-grid{
        grid-template-columns:1fr;
    }

    .nr-idea-form button{
        width:100%;
    }
}


.nr-idea-counter{
    display:block;
    margin-top:-2px;
    color:#8a958d;
    font-size:11px;
    font-weight:700;
    text-align:right;
    transition:.2s ease;
}

.nr-idea-counter.is-near{
    color:#a56a00;
}

.nr-idea-counter.is-max{
    color:#b63b3b;
    font-weight:900;
}


/* Pełny układ strony Pomysły mieszkańców */
.nr-ideas-page{
    width:min(1180px,92%);
    max-width:1180px;
    margin:0 auto;
    padding:44px 0 70px;
}

.nr-ideas-hero{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:22px;
    align-items:stretch;
    margin-bottom:24px;
}

.nr-ideas-hero-copy,
.nr-ideas-hero-side{
    border:1px solid #dfe9e1;
    border-radius:26px;
    box-shadow:0 14px 38px rgba(16,45,28,.07);
}

.nr-ideas-hero-copy{
    padding:38px 40px;
    background:
        radial-gradient(circle at 88% 16%,rgba(43,135,73,.13),transparent 28%),
        linear-gradient(135deg,#f7fbf8,#eef8f1);
}

.nr-ideas-hero-copy h1{
    margin:0!important;
    color:#0f1f32;
    font-size:clamp(40px,5vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-2px!important;
}

.nr-ideas-hero-copy p{
    max-width:700px;
    margin:14px 0 0!important;
    color:#5f6f64;
    font-size:15px;
    line-height:1.65;
}

.nr-ideas-hero-btn{
    display:inline-flex;
    margin-top:22px;
    padding:12px 18px;
    border-radius:12px;
    background:linear-gradient(135deg,#2b8749,#155d32);
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
}

.nr-ideas-hero-side{
    padding:22px;
    background:#fff;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.nr-ideas-stat{
    padding:18px;
    border-radius:18px;
    background:#f5faf6;
    border:1px solid #e3ece5;
}

.nr-ideas-stat strong{
    display:block;
    color:#155d32;
    font-size:32px;
    line-height:1;
}

.nr-ideas-stat span{
    display:block;
    margin-top:7px;
    color:#6c7887;
    font-size:11.5px;
    line-height:1.35;
    font-weight:700;
}

.nr-ideas-mini-note{
    grid-column:1/-1;
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:16px;
    border-radius:16px;
    background:#eef8f0;
    color:#31543b;
}

.nr-ideas-mini-note span{
    font-size:22px;
}

.nr-ideas-mini-note p{
    margin:0!important;
    font-size:12.5px;
    line-height:1.5;
    font-weight:700;
}

.nr-ideas-how{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:24px;
}

.nr-ideas-how-card{
    padding:18px;
    border:1px solid #e3eae5;
    border-radius:18px;
    background:#fff;
}

.nr-ideas-step{
    display:inline-flex;
    width:28px;
    height:28px;
    align-items:center;
    justify-content:center;
    margin-bottom:11px;
    border-radius:50%;
    background:#eaf6ed;
    color:#155d32;
    font-size:12px;
    font-weight:900;
}

.nr-ideas-how-card strong{
    display:block;
    color:#0f1f32;
    font-size:15px;
}

.nr-ideas-how-card p{
    margin:5px 0 0!important;
    color:#6c7887;
    font-size:12.5px;
    line-height:1.45;
}

.nr-ideas-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    gap:22px;
    align-items:start;
    margin-top:10px;
}

.nr-ideas-main-grid .nr-idea-form-wrap{
    margin:0!important;
}

.nr-ideas-main-aside{
    padding:26px;
    border:1px solid #e1e9e3;
    border-radius:24px;
    background:linear-gradient(180deg,#fbfdfb,#f3f9f5);
}

.nr-ideas-main-aside h2{
    margin:0 0 18px!important;
    color:#0f1f32;
    font-size:26px!important;
    line-height:1.08!important;
    letter-spacing:-.8px!important;
}

.nr-ideas-suggestions{
    display:grid;
    gap:10px;
}

.nr-ideas-suggestions > div{
    display:flex;
    gap:11px;
    padding:12px;
    border-radius:14px;
    background:#fff;
    border:1px solid #e5ebe7;
}

.nr-ideas-suggestions span{
    font-size:20px;
    line-height:1;
}

.nr-ideas-suggestions p{
    margin:0!important;
    color:#637069;
    font-size:12px;
    line-height:1.45;
}

.nr-ideas-suggestions strong{
    color:#24332a;
    font-size:13px;
}

.nr-ideas-aside-note{
    margin-top:14px;
    padding:15px;
    border-radius:15px;
    background:#eaf6ed;
    color:#31543b;
}

.nr-ideas-aside-note p{
    margin:5px 0 0!important;
    font-size:12.5px;
    line-height:1.5;
}

.nr-ideas-community{
    margin-top:46px;
}

.nr-ideas-bottom-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:38px;
    padding:28px 30px;
    border-radius:24px;
    background:linear-gradient(135deg,#0e3b24,#176238);
    color:#fff;
}

.nr-ideas-bottom-cta h2{
    margin:0!important;
    color:#fff!important;
    font-size:clamp(24px,3vw,34px)!important;
    line-height:1.05!important;
}

.nr-ideas-bottom-cta .nr-idea-kicker{
    color:#b9e7c4!important;
}

.nr-ideas-bottom-cta a{
    white-space:nowrap;
    padding:12px 17px;
    border-radius:12px;
    background:#fff;
    color:#155d32!important;
    font-weight:900;
    text-decoration:none!important;
}

@media(max-width:900px){
    .nr-ideas-hero,
    .nr-ideas-main-grid{
        grid-template-columns:1fr;
    }

    .nr-ideas-how{
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    .nr-ideas-page{
        width:auto;
        margin:0 16px;
        padding:28px 0 50px;
    }

    .nr-ideas-hero-copy{
        padding:26px 20px;
    }

    .nr-ideas-hero-side{
        grid-template-columns:1fr 1fr;
        padding:16px;
    }

    .nr-ideas-main-aside{
        padding:20px 16px;
        border-radius:18px;
    }

    .nr-ideas-bottom-cta{
        align-items:flex-start;
        flex-direction:column;
        padding:22px 18px;
        border-radius:19px;
    }

    .nr-ideas-bottom-cta a{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }
}


/* v1.3 - bardziej otwarty, niezagnieżdżony układ strony */
.nr-ideas-page{
    padding-top:56px!important;
    padding-bottom:84px!important;
}

.nr-ideas-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:42px!important;
    align-items:end!important;
    margin-bottom:56px!important;
    padding:0!important;
}

.nr-ideas-hero-copy,
.nr-ideas-hero-stats{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
}

.nr-ideas-hero-copy{
    max-width:760px;
}

.nr-ideas-hero-copy p{
    max-width:690px;
}

.nr-ideas-hero-stats{
    display:flex!important;
    gap:28px!important;
    align-items:flex-end!important;
}

.nr-ideas-hero-stats > div{
    min-width:130px;
    padding:0 0 2px!important;
}

.nr-ideas-hero-stats strong{
    display:block;
    color:#155d32;
    font-size:34px;
    line-height:1;
}

.nr-ideas-hero-stats span{
    display:block;
    margin-top:7px;
    max-width:130px;
    color:#6c7887;
    font-size:11.5px;
    line-height:1.35;
    font-weight:700;
}

.nr-ideas-how{
    gap:24px!important;
    margin-bottom:64px!important;
}

.nr-ideas-how-card{
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.nr-ideas-how-card + .nr-ideas-how-card{
    border-left:1px solid #e3e9e5!important;
    padding-left:24px!important;
}

.nr-ideas-form-section{
    max-width:820px;
    margin:0 auto!important;
}

.nr-ideas-form-section .nr-idea-form-wrap{
    padding:34px 36px!important;
    border-radius:22px!important;
    box-shadow:0 12px 34px rgba(16,45,28,.06)!important;
}

.nr-ideas-community{
    margin-top:74px!important;
}

.nr-ideas-community .nr-ideas-list{
    margin-top:0!important;
}

.nr-ideas-bottom-cta{
    margin-top:70px!important;
}

@media(max-width:900px){
    .nr-ideas-hero{
        grid-template-columns:1fr!important;
        gap:26px!important;
        align-items:start!important;
    }

    .nr-ideas-hero-stats{
        justify-content:flex-start!important;
    }

    .nr-ideas-how{
        gap:22px!important;
    }

    .nr-ideas-how-card + .nr-ideas-how-card{
        border-left:0!important;
        border-top:1px solid #e3e9e5!important;
        padding-left:0!important;
        padding-top:22px!important;
    }
}

@media(max-width:640px){
    .nr-ideas-page{
        padding-top:34px!important;
        padding-bottom:58px!important;
    }

    .nr-ideas-hero{
        margin-bottom:42px!important;
    }

    .nr-ideas-hero-stats{
        gap:22px!important;
    }

    .nr-ideas-hero-stats strong{
        font-size:28px;
    }

    .nr-ideas-how{
        margin-bottom:46px!important;
    }

    .nr-ideas-form-section .nr-idea-form-wrap{
        padding:22px 16px!important;
        border-radius:18px!important;
    }

    .nr-ideas-community{
        margin-top:52px!important;
    }

    .nr-ideas-bottom-cta{
        margin-top:50px!important;
    }
}


/* v1.4 - więcej głębi wizualnej, bez efektu zagnieżdżenia */
.nr-ideas-page{
    position:relative;
    isolation:isolate;
}

.nr-ideas-page:before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    left:50%;
    width:100vw;
    height:390px;
    transform:translateX(-50%);
    background:
        radial-gradient(circle at 82% 14%,rgba(43,135,73,.12),transparent 24%),
        linear-gradient(180deg,#f6fbf7 0%,#eef7f0 68%,rgba(255,255,255,0) 100%);
}

.nr-ideas-hero{
    padding:24px 0 10px!important;
}

.nr-ideas-hero-copy h1{
    text-wrap:balance;
}

.nr-ideas-hero-copy p{
    color:#5b6a61!important;
}

.nr-ideas-hero-stats{
    gap:16px!important;
}

.nr-ideas-hero-stats > div{
    min-width:150px!important;
    padding:14px 16px!important;
    border:1px solid #dfe9e1!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.82)!important;
    box-shadow:0 8px 24px rgba(16,45,28,.045)!important;
    backdrop-filter:blur(6px);
}

.nr-ideas-hero-stats strong{
    font-size:36px!important;
    letter-spacing:-1px;
}

.nr-ideas-hero-stats span{
    max-width:none!important;
    margin-top:6px!important;
    font-size:11px!important;
}

.nr-ideas-how{
    position:relative;
    padding:26px 0 30px;
    margin-bottom:54px!important;
}

.nr-ideas-how:before{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    width:100vw;
    height:1px;
    transform:translateX(-50%);
    background:#e8eee9;
}

.nr-ideas-step{
    width:32px!important;
    height:32px!important;
    background:#e5f3e8!important;
}

.nr-ideas-how-card strong{
    font-size:16px!important;
}

.nr-ideas-how-card p{
    max-width:310px;
}

.nr-ideas-form-section{
    position:relative;
    max-width:none!important;
    margin:0!important;
    padding:54px 0 58px;
}

.nr-ideas-form-section:before{
    content:"";
    position:absolute;
    z-index:-1;
    left:50%;
    top:0;
    bottom:0;
    width:100vw;
    transform:translateX(-50%);
    background:#f7faf8;
    border-top:1px solid #edf1ee;
    border-bottom:1px solid #edf1ee;
}

.nr-ideas-form-section .nr-idea-form-wrap{
    width:min(820px,100%);
    margin:0 auto!important;
    background:#fff!important;
    border:1px solid #dfe8e2!important;
    box-shadow:0 18px 44px rgba(16,45,28,.075)!important;
}

.nr-ideas-form-head{
    margin-bottom:4px;
}

.nr-ideas-community{
    padding-top:12px;
}

.nr-ideas-list-head{
    margin-bottom:22px!important;
}

.nr-ideas-grid{
    gap:18px!important;
}

.nr-idea-card{
    border-color:#dfe8e2!important;
    box-shadow:0 10px 26px rgba(16,45,28,.055)!important;
    transition:transform .2s ease, box-shadow .2s ease;
}

.nr-idea-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(16,45,28,.085)!important;
}

.nr-ideas-bottom-cta{
    position:relative;
    overflow:hidden;
    box-shadow:0 16px 36px rgba(14,59,36,.16);
}

.nr-ideas-bottom-cta:after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-80px;
    top:-110px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    pointer-events:none;
}

@media(max-width:900px){
    .nr-ideas-hero-stats{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        width:100%;
        max-width:420px;
    }

    .nr-ideas-hero-stats > div{
        min-width:0!important;
    }
}

@media(max-width:640px){
    .nr-ideas-page:before{
        height:330px;
    }

    .nr-ideas-hero{
        padding-top:8px!important;
    }

    .nr-ideas-hero-stats{
        grid-template-columns:1fr 1fr!important;
        gap:10px!important;
    }

    .nr-ideas-hero-stats > div{
        padding:12px 13px!important;
        border-radius:14px!important;
    }

    .nr-ideas-hero-stats strong{
        font-size:30px!important;
    }

    .nr-ideas-hero-stats span{
        font-size:10.5px!important;
        line-height:1.25!important;
    }

    .nr-ideas-how{
        padding-top:18px;
        padding-bottom:22px;
    }

    .nr-ideas-form-section{
        padding:38px 0 42px;
    }

    .nr-ideas-community{
        padding-top:4px;
    }
}


/* v1.5 - fiszka na stronę główną */
.nr-ideas-teaser{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    width:100%;
    box-sizing:border-box;
    padding:20px 22px;
    border:1px solid #dce8df;
    border-radius:20px;
    background:
        radial-gradient(circle at 88% 10%,rgba(43,135,73,.13),transparent 30%),
        linear-gradient(135deg,#f8fbf8,#eef7f1);
    box-shadow:0 10px 28px rgba(16,45,28,.055);
}

.nr-ideas-teaser-icon{
    display:flex;
    width:52px;
    height:52px;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:16px;
    background:#fff;
    border:1px solid #e1e9e3;
    font-size:25px;
    box-shadow:0 5px 16px rgba(16,45,28,.04);
}

.nr-ideas-teaser-copy{
    min-width:0;
}

.nr-ideas-teaser-kicker{
    display:block;
    margin-bottom:4px;
    color:#2b8749;
    font-size:10px;
    line-height:1;
    font-weight:900;
    letter-spacing:.65px;
    text-transform:uppercase;
}

.nr-ideas-teaser h2{
    margin:0!important;
    color:#0f1f32;
    font-size:22px!important;
    line-height:1.08!important;
    letter-spacing:-.45px!important;
}

.nr-ideas-teaser p{
    margin:6px 0 0!important;
    max-width:720px;
    color:#65736a;
    font-size:13px;
    line-height:1.45;
}

.nr-ideas-teaser-action a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border-radius:12px;
    background:linear-gradient(135deg,#2b8749,#155d32);
    color:#fff!important;
    font-size:13px;
    font-weight:900;
    text-decoration:none!important;
    white-space:nowrap;
    box-shadow:0 7px 18px rgba(21,93,50,.16);
}

.nr-ideas-teaser-action a:hover{
    transform:translateY(-1px);
}

@media(max-width:700px){
    .nr-ideas-teaser{
        grid-template-columns:auto 1fr;
        gap:14px;
        padding:17px;
        border-radius:17px;
    }

    .nr-ideas-teaser-icon{
        width:46px;
        height:46px;
        border-radius:14px;
        font-size:22px;
    }

    .nr-ideas-teaser-action{
        grid-column:1/-1;
    }

    .nr-ideas-teaser-action a{
        width:100%;
        box-sizing:border-box;
    }

    .nr-ideas-teaser h2{
        font-size:19px!important;
    }

    .nr-ideas-teaser p{
        font-size:12px;
    }
}


/* v1.6 - pełna treść pomysłu zamiast skrótu */
.nr-idea-full-content{
    margin:0!important;
    color:#6c7887;
    font-size:13px;
    line-height:1.55;
}

.nr-idea-full-content p{
    margin:0 0 10px!important;
    color:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
}

.nr-idea-full-content p:last-child{
    margin-bottom:0!important;
}


/* v1.7 - skrócona treść pomysłu z rozwijaniem */
.nr-idea-content-wrap{
    margin:0!important;
}

.nr-idea-content-short,
.nr-idea-content-full{
    color:#6c7887;
    font-size:13px;
    line-height:1.55;
}

.nr-idea-content-full p{
    margin:0 0 10px!important;
    color:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
}

.nr-idea-content-full p:last-child{
    margin-bottom:0!important;
}

.nr-idea-readmore{
    display:inline-flex;
    margin-top:10px;
    padding:0;
    border:0;
    background:transparent;
    color:#2b8749;
    font:inherit;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    text-decoration:none;
}

.nr-idea-readmore:hover{
    color:#155d32;
    text-decoration:underline;
}
