
.nr-form-wrap,.nr-feed,.nr-type-grid,.nr-more-wrap{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.nr-form-wrap{max-width:760px;margin:0 auto;padding:30px;border:1px solid #e2e8e3;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(16,45,28,.08)}
.nr-form-kicker{font-size:11px;font-weight:900;letter-spacing:.8px;color:#2b8749}
.nr-form-head h2{margin:7px 0 4px;font-size:34px;line-height:1.05;color:#0f1f32}
.nr-form-head p{margin:0 0 24px;color:#6c7887}
.nr-form{display:flex;flex-direction:column;gap:16px}
.nr-form-row{display:flex;flex-direction:column;gap:7px}
.nr-form-row label{font-weight:800;font-size:13px;color:#0f1f32}
.nr-form-row label span{font-weight:500;color:#8a95a0}
.nr-form input[type=text],.nr-form select,.nr-form textarea,.nr-form input[type=file]{width:100%;box-sizing:border-box;border:1px solid #dce4df;border-radius:13px;background:#fbfcfb;padding:13px 14px;font:inherit;color:#0f1f32;outline:none}
.nr-form input:focus,.nr-form select:focus,.nr-form textarea:focus{border-color:#2b8749;box-shadow:0 0 0 3px rgba(43,135,73,.09)}
.nr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nr-form small{color:#8b96a2}
.nr-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#65717d}
.nr-consent input{margin-top:3px}
.nr-submit{border:0;border-radius:14px;padding:14px 20px;background:linear-gradient(135deg,#2b8749,#155d32);color:white;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 9px 22px rgba(43,135,73,.22)}
.nr-submit:hover{transform:translateY(-1px)}
.nr-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.nr-message{max-width:760px;margin:0 auto 18px;padding:13px 16px;border-radius:13px;font-weight:700}
.nr-success{background:#e6f6e9;color:#226b38}
.nr-error{background:#ffe5e5;color:#9a3535}

.nr-feed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.nr-feed-card{border:1px solid #e3e9e5;border-radius:20px;overflow:hidden;background:white;box-shadow:0 10px 28px rgba(16,32,51,.05);transition:.2s}
.nr-feed-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(16,45,28,.11)}
.nr-feed-image,.nr-feed-placeholder{display:block;height:155px;overflow:hidden;text-decoration:none}
.nr-feed-image img{width:100%;height:100%;object-fit:cover}
.nr-feed-placeholder{display:flex;align-items:center;justify-content:center;font-size:52px}
.nr-feed-placeholder.nr-red{background:linear-gradient(135deg,#ffeded,#ffc4c4)}
.nr-feed-placeholder.nr-green{background:linear-gradient(135deg,#e7f8ea,#acdcae)}
.nr-feed-placeholder.nr-yellow{background:linear-gradient(135deg,#fff5df,#ffdba0)}
.nr-feed-placeholder.nr-blue{background:linear-gradient(135deg,#edf2ff,#bfd0fb)}
.nr-feed-body{padding:16px 17px 18px}
.nr-feed-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}
.nr-feed-badge.nr-red{background:#ffe2e2;color:#a53d3d}
.nr-feed-badge.nr-green{background:#ddf4df;color:#267338}
.nr-feed-badge.nr-yellow{background:#fff0d2;color:#9a5c00}
.nr-feed-badge.nr-blue{background:#e5edff;color:#2556ba}
.nr-feed-body h3{font-size:18px;line-height:1.15;margin:10px 0 6px}
.nr-feed-body h3 a{color:#0f1f32;text-decoration:none}
.nr-feed-body p{font-size:13px;line-height:1.45;color:#6c7887;margin:0}
.nr-feed-footer{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:14px;color:#8b96a2;font-size:11px}
.nr-empty{grid-column:1/-1;padding:24px;border-radius:18px;background:#f4f8f5;text-align:center;color:#687485}
.nr-more-wrap{text-align:center;margin-top:24px}
.nr-more-btn{display:inline-block;border:1px solid #2b8749;color:#155d32!important;border-radius:999px;padding:10px 17px;text-decoration:none;font-weight:800;font-size:13px}

.nr-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nr-type-card{min-height:150px;border-radius:22px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none!important;transition:.2s;color:#0f1f32!important}
.nr-type-card:hover{transform:translateY(-4px)}
.nr-type-card.nr-red{background:#fff0f0}
.nr-type-card.nr-green{background:#edf8ef}
.nr-type-card.nr-yellow{background:#fff7e5}
.nr-type-card.nr-blue{background:#eef3ff}
.nr-type-icon{font-size:31px}
.nr-type-card strong{font-size:18px}
.nr-type-arrow{font-size:20px;color:#2b8749;font-weight:900}

@media(max-width:1000px){.nr-feed,.nr-type-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
 .nr-form-wrap{padding:22px 18px;border-radius:20px}.nr-form-head h2{font-size:29px}.nr-form-grid{grid-template-columns:1fr}
 .nr-feed,.nr-type-grid{grid-template-columns:1fr}.nr-feed-image,.nr-feed-placeholder{height:135px}
}


.nr-public-contact{display:flex!important;align-items:center!important;gap:8px!important;margin-top:8px!important;font-size:12px!important;font-weight:600!important;color:#687485!important}
.nr-public-contact input{width:auto!important}

.nr-single-details{margin-top:28px;padding:22px;border:1px solid #e2e8e3;border-radius:18px;background:#f8fbf9}
.nr-single-details-title{font-size:18px;font-weight:900;color:#0f1f32;margin-bottom:14px}
.nr-single-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nr-detail-item{padding:14px 15px;background:#fff;border:1px solid #e5ebe7;border-radius:14px}
.nr-detail-label{display:block;margin-bottom:5px;font-size:10px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:#2b8749}
.nr-detail-item strong{font-size:14px;color:#0f1f32;word-break:break-word}

@media(max-width:700px){
 .nr-single-details-grid{grid-template-columns:1fr}
}


.nr-single-details-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.nr-single-details-top .nr-single-details-title{margin-bottom:0}
.nr-status-badge{display:inline-block;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}
.nr-status-active{background:#ddf4df;color:#267338}
.nr-status-resolved{background:#e5edff;color:#2556ba}
.nr-status-outdated{background:#eceff2;color:#65717d}
.nr-status-review{background:#fff0d2;color:#9a5c00}

.nr-public-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-top:16px}
.nr-inline-form{margin:0}
.nr-action-btn{display:inline-block;border:1px solid #dce4df;background:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;color:#4d5965}
.nr-action-btn:hover{border-color:#bfcac3;background:#fafcfb}
.nr-action-report{list-style:none}
.nr-action-report::-webkit-details-marker{display:none}
.nr-report-box{position:relative}
.nr-report-form{position:absolute;z-index:30;top:44px;right:0;width:310px;padding:16px;border:1px solid #dce4df;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(16,45,28,.13)}
.nr-report-form label{display:block;font-size:12px;font-weight:800;color:#0f1f32;margin-bottom:11px}
.nr-report-form label span{font-weight:500;color:#8a95a0}
.nr-report-form select,.nr-report-form textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #dce4df;border-radius:10px;padding:9px;font:inherit}
.nr-submit-report{width:100%;border:0;border-radius:10px;padding:10px 12px;background:#0f1f32;color:#fff;font-weight:800;cursor:pointer}
.nr-front-message{margin-top:18px;padding:12px 14px;border-radius:12px;background:#eef8f0;color:#246c39;font-weight:700;font-size:13px}

@media(max-width:640px){
 .nr-report-form{position:static;width:min(310px,88vw);margin-top:8px}
 .nr-single-details-top{align-items:flex-start;flex-direction:column}
}


.nr-turnstile{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:4px 0;
}

.nr-feed-placeholder.nr-purple{background:linear-gradient(135deg,#f2edff,#d6c6ff)}
.nr-feed-badge.nr-purple{background:#eee7ff;color:#6d4ab2}
.nr-type-card.nr-purple{background:#f3efff}


/* v1.7 — równe karty na shortcode i archiwach */
.nr-feed{
    align-items:stretch;
}
.nr-feed-card{
    height:100%;
    display:flex;
    flex-direction:column;
}
.nr-feed-card > a:first-child{
    display:block;
}
.nr-feed-image,
.nr-feed-placeholder{
    width:100%;
    aspect-ratio:16/10;
    height:auto !important;
    min-height:0;
    object-fit:cover;
}
.nr-feed-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.nr-feed-body{
    display:flex;
    flex-direction:column;
    flex:1;
}
.nr-feed-body h3{
    min-height:2.36em;
}
.nr-feed-body p{
    flex:1;
}
.nr-feed-meta{
    margin-top:auto;
}


/* v1.9 — dynamiczny formularz */
.nr-dynamic-group[hidden],
.nr-contact-help[hidden]{
    display:none!important;
}
.nr-contact-help{
    display:block;
    margin:0 0 8px;
    padding:8px 10px;
    border-radius:9px;
    background:#f4f8f5;
    color:#647168;
    font-size:12px;
    line-height:1.4;
}
.nr-detail-item small{
    display:block;
    margin-top:3px;
    color:#748078;
    font-size:12px;
    font-weight:500;
}
.nr-form input[type="date"],
.nr-form input[type="time"]{
    width:100%;
    box-sizing:border-box;
}


/* v1.10 — twarde ukrywanie dynamicznych pól */
.nr-dynamic-group[hidden],
.nr-contact-help[hidden]{
    display:none!important;
}


/* =========================================================
   v1.12 — wyrównany formularz
   ========================================================= */

.nr-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
}

.nr-form-grid > .nr-form-row{
    min-width:0;
    margin:0;
}

.nr-form-row{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.nr-form-row label{
    display:flex;
    align-items:flex-end;
    min-height:22px;
    margin-bottom:7px;
    line-height:1.25;
}

.nr-form-row label span{
    margin-left:4px;
}

.nr-form-row input,
.nr-form-row select,
.nr-form-row textarea{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}

.nr-contact-help{
    min-height:0;
    margin:-1px 0 8px;
}

/* jeżeli kontakt jest w siatce obok innego pola, wysokości są równe */
.nr-form-grid .nr-contact-help{
    min-height:34px;
}

/* email i telefon - jeśli są osobnymi polami w przyszłości / istniejącym formularzu */
.nr-form-row input[type="email"],
.nr-form-row input[type="tel"]{
    min-height:48px;
}

/* pełna szerokość dla elementów, które nie powinny być w dwóch kolumnach */
.nr-form-row.nr-full,
.nr-dynamic-group.nr-full{
    grid-column:1 / -1;
}

@media(max-width:680px){
    .nr-form-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .nr-form-row label{
        min-height:0;
    }

    .nr-form-grid .nr-contact-help{
        min-height:0;
    }
}


/* v1.13 — naprawa checkboxa kontaktu i wyrównanie pól */
.nr-form-row input:not([type="checkbox"]):not([type="radio"]),
.nr-form-row select,
.nr-form-row textarea{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}

.nr-public-contact{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    margin-top:10px!important;
    margin-bottom:0!important;
    min-height:0!important;
    font-size:12px!important;
    font-weight:600!important;
    color:#687485!important;
}

.nr-public-contact input[type="checkbox"]{
    width:16px!important;
    min-width:16px!important;
    max-width:16px!important;
    height:16px!important;
    margin:2px 0 0!important;
    padding:0!important;
    flex:0 0 16px!important;
}

.nr-public-contact span{
    display:block;
    flex:1 1 auto;
    line-height:1.35;
}


/* =========================================================
   v1.14 — kontakt i lokalizacja idealnie równo
   ========================================================= */

.nr-contact-grid{
    align-items:start!important;
}

.nr-contact-grid .nr-form-row{
    display:grid!important;
    grid-template-rows:22px 48px!important;
    gap:7px!important;
}

.nr-contact-grid .nr-form-row > label{
    min-height:22px!important;
    height:22px!important;
    margin:0!important;
    align-items:flex-end!important;
}

.nr-contact-grid .nr-form-row > input{
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
}

.nr-contact-options{
    margin-top:-4px;
    padding:0 2px;
}

.nr-contact-options .nr-contact-help{
    margin:0 0 8px!important;
    min-height:0!important;
}

.nr-contact-options .nr-public-contact{
    margin:0!important;
    min-height:0!important;
}

@media(max-width:680px){
    .nr-contact-grid .nr-form-row{
        grid-template-rows:auto 48px!important;
    }
    .nr-contact-grid .nr-form-row > label{
        min-height:0!important;
        height:auto!important;
    }
}


/* =========================================================
   v1.15 — checkbox pod polem Kontakt
   ========================================================= */

.nr-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start!important;
}

.nr-contact-grid .nr-form-row{
    display:grid!important;
    grid-template-rows:22px 48px!important;
    gap:7px!important;
}

.nr-contact-grid .nr-form-row > label{
    min-height:22px!important;
    height:22px!important;
    margin:0!important;
    align-items:flex-end!important;
}

.nr-contact-grid .nr-form-row > input{
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
}

.nr-contact-spacer{
    min-height:1px;
}

.nr-contact-options{
    grid-column:2;
    margin-top:-6px!important;
    padding:0!important;
}

.nr-contact-options .nr-contact-help{
    margin:0 0 8px!important;
}

.nr-contact-options .nr-public-contact{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    margin:0!important;
}

.nr-contact-options .nr-public-contact input[type="checkbox"]{
    width:16px!important;
    min-width:16px!important;
    max-width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
    margin:2px 0 0!important;
    padding:0!important;
}

.nr-contact-options .nr-public-contact span{
    display:block;
    line-height:1.35;
}

@media(max-width:680px){
    .nr-contact-grid{
        grid-template-columns:1fr!important;
    }

    .nr-contact-grid .nr-form-row{
        grid-template-rows:auto 48px!important;
    }

    .nr-contact-grid .nr-form-row > label{
        min-height:0!important;
        height:auto!important;
    }

    .nr-contact-spacer{
        display:none!important;
    }

    .nr-contact-options{
        grid-column:auto;
        margin-top:-4px!important;
    }
}


/* v1.17 — odporne ukrywanie pól dynamicznych */
.nr-is-hidden{display:none!important;}
.nr-dynamic-group.nr-is-hidden{display:none!important;}
.nr-contact-help.nr-is-hidden{display:none!important;}

/* =========================================================
   v1.18 — czas publikacji + obowiązkowy Regulamin
   ========================================================= */

.nr-expire-info{
    display:block!important;
    margin-top:7px!important;
    font-size:12px!important;
    line-height:1.45!important;
    color:#6c7887!important;
}

.nr-consent a{
    color:#155d32!important;
    font-weight:700!important;
    text-decoration:underline!important;
    text-underline-offset:2px;
}

.nr-consent a:hover,
.nr-consent a:focus{
    color:#2b8749!important;
}

.nr-consent input[type="checkbox"]:required{
    accent-color:#2b8749;
}

/* =========================================================
   v1.19 — dynamiczny czas publikacji + kontakt po kliknięciu
   ========================================================= */

.nr-show-contact-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    margin-top:3px;
    padding:9px 15px;
    border:1px solid #2b8749;
    border-radius:999px;
    background:#fff;
    color:#155d32;
    font:inherit;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
    transition:.18s ease;
}

.nr-show-contact-btn:hover,
.nr-show-contact-btn:focus{
    background:#2b8749;
    color:#fff;
}

.nr-show-contact-btn:disabled{
    opacity:.65;
    cursor:wait;
}

.nr-contact-value{
    margin-top:9px;
    font-weight:800;
    overflow-wrap:anywhere;
}

.nr-contact-value[hidden]{
    display:none!important;
}

.nr-contact-link{
    color:#155d32;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:2px;
}

.nr-contact-link:hover,
.nr-contact-link:focus{
    color:#2b8749;
}



/* v1.20 — liczniki znaków w formularzu */
.nr-form-row-counted{
    position:relative;
}

.nr-char-counter{
    display:block;
    margin-top:6px;
    text-align:right;
    font-size:11.5px;
    line-height:1.35;
    color:#7a8793;
    transition:color .18s ease;
}

.nr-char-counter-warning{
    color:#a96a00;
    font-weight:700;
}

.nr-char-counter-limit{
    color:#b42318;
    font-weight:800;
}

/* v1.21 - Zwierzęta */
.nr-feed-placeholder.nr-pets,
.nr-feed-placeholder.nr-pet-adoption{
    background:linear-gradient(135deg,#eef8f0,#cfead6);
}
.nr-feed-placeholder.nr-pet-lost{
    background:linear-gradient(135deg,#fff0f0,#ffcaca);
}
.nr-feed-placeholder.nr-pet-found{
    background:linear-gradient(135deg,#eef5ff,#cadcff);
}
.nr-feed-badge.nr-pets,
.nr-feed-badge.nr-pet-adoption{
    background:#e4f5e8;
    color:#236b3a;
}
.nr-feed-badge.nr-pet-lost{
    background:#ffe2e2;
    color:#a53d3d;
}
.nr-feed-badge.nr-pet-found{
    background:#e5edff;
    color:#2556ba;
}
.nr-type-card.nr-pets{
    background:#edf8ef;
}


/* v1.22 - ważne numery */
.nr-important-numbers{
    margin:32px 0;
    padding:26px;
    border:1px solid #dfe9e2;
    border-radius:24px;
    background:linear-gradient(135deg,#f8fbf9,#edf7f0);
    box-shadow:0 12px 32px rgba(16,45,28,.06);
}
.nr-important-numbers-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}
.nr-important-numbers-kicker{
    display:block;
    margin-bottom:5px;
    color:#2b8749;
    font-size:10.5px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.8px;
}
.nr-important-numbers h2{
    margin:0;
    color:#0f1f32;
    font-size:clamp(26px,3vw,34px);
    line-height:1.05;
    letter-spacing:-.8px;
}
.nr-important-numbers-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.nr-important-number-card{
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
    padding:15px;
    border:1px solid #e2e9e4;
    border-radius:16px;
    background:#fff;
}
.nr-important-number-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#eaf6ed;
    font-size:21px;
}
.nr-important-number-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.nr-important-number-name{
    color:#5f6d77;
    font-size:11.5px;
    line-height:1.3;
    font-weight:700;
}
.nr-important-number-phone{
    width:max-content;
    max-width:100%;
    color:#155d32!important;
    font-size:18px;
    line-height:1.15;
    font-weight:900;
    text-decoration:none!important;
    overflow-wrap:anywhere;
}
.nr-important-number-phone:hover,
.nr-important-number-phone:focus{
    color:#2b8749!important;
    text-decoration:underline!important;
    text-underline-offset:3px;
}
.nr-important-numbers-more{
    margin-top:18px;
}
.nr-important-numbers-more a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border:1.5px solid #2b8749;
    border-radius:999px;
    background:#fff;
    color:#155d32!important;
    font-size:13px;
    font-weight:850;
    text-decoration:none!important;
}
.nr-important-numbers-more a:hover,
.nr-important-numbers-more a:focus{
    background:#2b8749;
    color:#fff!important;
}
@media(max-width:900px){
    .nr-important-numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
    .nr-important-numbers{padding:19px 15px;border-radius:19px;}
    .nr-important-numbers-grid{grid-template-columns:1fr;gap:10px;}
    .nr-important-number-card{padding:13px;}
    .nr-important-number-phone{font-size:17px;}
    .nr-important-numbers-more a{width:100%;box-sizing:border-box;}
}
