/* NayaZoo – newsletter i stopka. Wszystko w klasach .nzf-*, żeby nie mieszać się z motywem. */
.nzf {
    /* Kolory z projektu */
    --nzf-cream: #f8f3ea;
    --nzf-cream-2: #efe8d8;
    --nzf-green: #24382a;
    --nzf-green-2: #2c4433;
    --nzf-leaf: #a9b874;
    --nzf-orange: #d18641;
    --nzf-ink: #091a11;
    --nzf-muted: #55605a;
    font-family: "Outfit", "Manrope", system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    color: var(--nzf-ink);
}
.nzf *, .nzf *::before, .nzf *::after { box-sizing: border-box; }
.nzf h2, .nzf h3, .nzf a, .nzf p, .nzf li, .nzf button, .nzf input { font-family: inherit; letter-spacing: normal; text-transform: none; }
.nzf a { text-decoration: none; }
.nzf ul { list-style: none; margin: 0; padding: 0; }
.nzf h2, .nzf h3, .nzf p { margin: 0; }
.nzf-i { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.nzf-sr, .nzf-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Stopka Woodmart z tym blokiem: na całą szerokość, bez tła i odstępów motywu (kontener .container, akapit z edytora). */
.wd-footer:has(.nzf) { background: none !important; padding: 0 !important; border: 0 !important; }
.wd-footer:has(.nzf) > .main-footer { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.wd-footer .main-footer > p:has(> .nzf) { margin: 0 !important; }
.wd-footer .nzf ul li { margin: 0; padding: 0; }
.wd-footer .nzf ul li::before { content: none; }
.wd-footer .nzf a:not(.nzf-btn) { text-decoration: none; }

/* ---- Newsletter ---- */
.nzf-news {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(ellipse 60% 120% at 35% 120%, var(--nzf-cream-2) 0 55%, transparent 56%),
        radial-gradient(ellipse 45% 90% at 85% -20%, var(--nzf-cream-2) 0 50%, transparent 51%),
        var(--nzf-cream);
    border-bottom: 3px solid #fff;
    padding: 46px 24px 34px;
}
.nzf-news { min-height: 300px; }
/* Grafiki z projektu – krawędzie wygaszone w tło. */
.nzf-news__pets {
    position: absolute; left: 0; bottom: 0; height: 100%; width: auto; max-width: 34vw; object-fit: cover; object-position: left bottom;
    -webkit-mask-image: linear-gradient(to right, #000 82%, transparent); mask-image: linear-gradient(to right, #000 82%, transparent);
}
.nzf-news__hamster {
    position: absolute; right: 0; bottom: 0; height: 60%; width: auto;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 25%); mask-image: linear-gradient(to right, transparent, #000 25%);
}
.nzf-news__leaves {
    position: absolute; right: 0; top: 0; height: 42%; width: auto;
    -webkit-mask-image: linear-gradient(to bottom left, #000 55%, transparent 92%); mask-image: linear-gradient(to bottom left, #000 55%, transparent 92%);
}
.nzf-news__inner {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    max-width: none;
    padding-left: 30.5vw;
    padding-right: 4.8vw;
    display: grid;
    grid-template-columns: auto minmax(320px, 520px);
    grid-template-areas: "title title" "text form";
    gap: 0 36px;
    align-items: end;
}
.nzf-news__text { display: contents; }
.nzf-news__title { grid-area: title; }
.nzf-news__text > :not(.nzf-news__title) { grid-column: 1; }
.nzf-news__sub { grid-row: 2; align-self: start; }
.nzf-news__perks { grid-row: 3; }
.nzf-news__form { grid-area: 2 / 2 / 4 / 3; align-self: center; margin-top: 18px; }
.nzf-news__title {
    font-size: clamp(30px, 3.7vw, 74px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.05;
    white-space: nowrap;
    color: var(--nzf-ink);
    display: flex;
    align-items: flex-start;
    gap: 6px;
}
.nzf-news__title .nzf-i { width: 0.75em; height: 0.75em; color: #4c6b3b; transform: rotate(-20deg); }
.nzf .nzf-news__sub { margin-top: 6px; font-size: clamp(17px, 1.55vw, 31px); font-weight: 300; color: #4a524c; }
.nzf-news__perks { display: flex; flex-wrap: nowrap; gap: 18px 3vw; margin-top: 26px; padding-left: 4vw; }
.nzf-news__perks li { display: flex; align-items: center; gap: 14px; font-size: clamp(14px, 0.95vw, 19px); line-height: 1.3; color: var(--nzf-ink); white-space: nowrap; }
.nzf-news__perks .nzf-i { width: 34px; height: 34px; color: var(--nzf-orange); stroke-width: 1.5; }
.nzf-news__field {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 999px;
    padding: 6px 6px 6px 22px;
    box-shadow: 0 6px 20px rgba(60, 50, 30, 0.08);
    gap: 10px;
}
.nzf-news__field > .nzf-i { width: 22px; height: 22px; color: var(--nzf-muted); }
.nzf-news__field input[type="email"] {
    flex: 1;
    min-width: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 12px 6px !important;
    font-size: 16px;
    height: auto !important;
    color: var(--nzf-ink);
}
.nzf-news__field input[type="email"]:focus { outline: none; }
.nzf-news__field:focus-within { box-shadow: 0 0 0 3px rgba(217, 137, 63, 0.35); }
.nzf-news__field button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 999px;
    background: var(--nzf-orange);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    padding: 14px 28px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}
.nzf-news__field button:hover { background: #c4762f; }
.nzf-news__field button[disabled] { opacity: 0.7; cursor: wait; }
.nzf .nzf-news__note { margin-top: 12px; font-size: 13px; color: var(--nzf-muted); text-align: center; white-space: nowrap; }
.nzf .nzf-news__note a { color: var(--nzf-ink); text-decoration: underline; }
.nzf .nzf-news__msg { margin-top: 6px; min-height: 1.2em; font-size: 14px; font-weight: 600; text-align: center; }
.nzf-news__msg.is-ok { color: #2f6b3a; }
.nzf-news__msg.is-error { color: #b3261e; }

.nzf-deco { position: absolute; color: rgba(90, 80, 60, 0.25); pointer-events: none; }
.nzf-deco .nzf-i { width: 100%; height: 100%; fill: currentColor; stroke: none; }
.nzf-deco--paw1 { width: 42px; height: 42px; top: 46px; right: 15%; transform: rotate(-15deg); }
.nzf-deco--paw2 { width: 32px; height: 32px; top: 16px; right: 11%; transform: rotate(10deg); }

/* ---- Stopka ---- */
.nzf-foot {
    position: relative;
    overflow: hidden;
    background: radial-gradient(ellipse 50% 70% at 10% 90%, rgba(255, 255, 255, 0.04), transparent 70%), var(--nzf-green);
    color: #f4f1ea;
    padding: 48px 24px 0;
}
.nzf-foot a { color: inherit; }
.nzf-foot__cat {
    position: absolute; right: 0; bottom: 104px; height: 220px; width: auto; pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 22%); mask-image: linear-gradient(to right, transparent, #000 22%);
}
.nzf-deco--leaf { width: 260px; height: 260px; left: -60px; bottom: -40px; color: rgba(156, 184, 107, 0.12); transform: rotate(-30deg); }
.nzf-foot__grid {
    position: relative;
    max-width: 1800px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.35fr 0.95fr 1.15fr 1.3fr;
    gap: 40px 4vw;
    padding: 0 2vw 44px;
}
.nzf-foot__brand { text-align: center; }
.nzf-logo { display: inline-flex; align-items: baseline; font-size: clamp(54px, 5vw, 86px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.nzf-logo img { width: 100%; max-width: 400px; height: auto; }
.nzf-logo__naya { color: #f7f3ea; }
.nzf-logo__zoo { color: var(--nzf-leaf); position: relative; }
.nzf-logo__zoo .nzf-i { position: absolute; left: 0.05em; top: -0.55em; width: 0.6em; height: 0.6em; color: var(--nzf-leaf); fill: var(--nzf-leaf); stroke: var(--nzf-green); }
.nzf-foot__tag { margin-top: 10px; font-size: 26px; font-weight: 500; color: #f7f3ea; }
.nzf .nzf-foot__tag2 { margin-top: 14px; font-size: 22px; font-weight: 400; color: #e2dfd5; max-width: 24ch; margin-inline: auto; }
.nzf-social { display: flex; justify-content: center; gap: 14px; margin-top: 22px; }
.nzf-social a {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    transition: background 0.15s;
}
.nzf-social a:hover { background: rgba(255, 255, 255, 0.18); }
.nzf-social svg { width: 24px; height: 24px; fill: none; stroke: #f4f1ea; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.nzf .nzf-col h3 { display: flex; align-items: center; gap: 16px; font-size: 25px; font-weight: 500; color: #fff; margin-bottom: 20px; white-space: nowrap; }
.nzf-col h3 .nzf-i { width: 32px; height: 32px; color: var(--nzf-leaf); }
.nzf-col ul a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 20px;
    font-weight: 400;
    color: #f4f1ea;
    transition: color 0.15s, padding 0.15s;
}
.nzf-col ul a:hover { color: var(--nzf-leaf); padding-left: 14px; }
.nzf-col ul .nzf-i { width: 18px; height: 18px; }
.nzf .nzf-visit__row { display: flex; gap: 18px; align-items: flex-start; font-size: 20px; margin-bottom: 26px; }
.nzf-visit__row .nzf-i { width: 30px; height: 30px; margin-top: 2px; color: #f4f1ea; }
.nzf-visit__row strong { font-weight: 500; color: #fff; white-space: nowrap; }
.nzf-visit__row span { color: #d9d6cc; font-size: 17px; font-weight: 300; }
.nzf-visit__row span strong { font-size: 20px; }
.nzf-btn {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    border: 1.5px solid #f4f1ea;
    border-radius: 999px;
    padding: 16px 30px;
    font-size: 19px;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
}
.nzf-btn .nzf-i { width: 24px; height: 24px; color: var(--nzf-leaf); }
.nzf-btn .nzf-i--chevron { width: 18px; height: 18px; color: inherit; }
.nzf-btn:hover { background: #f4f1ea; color: var(--nzf-green) !important; }

.nzf-foot__bar {
    position: relative;
    max-width: 1800px;
    margin: 0 auto;
    border-top: 1px solid rgba(164, 169, 156, 0.45);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px 32px;
    padding: 24px 0 28px;
}
/* Znak VET z adresami inspektoratów */
.nzf-vet { grid-column: 1; display: flex; align-items: center; gap: 14px; }
.nzf-vet__badge img { display: block; width: 92px; height: auto; border-radius: 8px; background: #fff; }
.nzf-vet__text { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; line-height: 1.35; color: #c9cbbf; }
.nzf-vet__text a { color: #c9cbbf; }
.nzf-vet__text a:hover { color: #fff; }
.nzf-brands { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 26px; font-size: 24px; font-weight: 600; color: #fff; }
.nzf-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; }
.nzf-brand img { max-height: 40px; width: auto; }
.nzf-brand .nzf-i { width: 30px; height: 30px; color: var(--nzf-leaf); }
.nzf-brands__dot { opacity: 0.8; }
.nzf-copy { grid-column: 3; grid-row: 1; justify-self: end; font-size: 16px; font-weight: 300; color: #d9d6cc; }
.nzf .nzf-copy a, .nzf-u { text-decoration: underline; color: #fff; }

/* ---- Tablet / telefon ---- */
@media (max-width: 1200px) {
    .nzf-news__inner { padding: 0; grid-template-columns: 1fr; grid-template-areas: none; text-align: center; }
    .nzf-news__text { display: block; }
    .nzf-news__title { white-space: normal; }
    .nzf-news__perks { flex-wrap: wrap; padding-left: 0; }
    .nzf-news__form { grid-area: auto; margin-top: 24px; }
    .nzf-news__note { white-space: normal; }
    .nzf-news__title { justify-content: center; }
    .nzf-news__perks { justify-content: center; }
    .nzf-news__form { max-width: 560px; margin: 0 auto; width: 100%; }
    .nzf-news__pets, .nzf-news__hamster { opacity: 0.18; }
    .nzf-foot__grid { grid-template-columns: 1fr 1fr; }
    .nzf-foot__bar { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .nzf-brands, .nzf-copy, .nzf-vet { grid-column: 1; grid-row: auto; justify-self: center; }
    .nzf-vet { text-align: left; }
    .nzf-news__leaves { opacity: 0.5; }
}
@media (max-width: 640px) {
    .nzf { overflow-x: hidden; }
    .nzf-news { padding: 32px 16px 28px; }
    .nzf-news__title { font-size: 30px; }
    .nzf-news__sub { font-size: 17px; }
    .nzf-news__perks li { white-space: normal; text-align: left; }
    .nzf-news__field input[type="email"] { font-size: 15px; }
    .nzf-brands { flex-wrap: wrap; justify-content: center; gap: 10px 18px; font-size: 19px; }
    .nzf-brand .nzf-i { width: 24px; height: 24px; }
    .nzf-vet { flex-direction: column; text-align: center; }
    .nzf-vet__text { align-items: center; }
    .nzf-copy { text-align: center; }
    .nzf-logo img { max-width: 300px; }
    .nzf-news__perks { gap: 14px 22px; }
    .nzf-news__perks li { font-size: 14px; }
    .nzf-news__field { padding-left: 16px; }
    .nzf-news__field button { padding: 12px 18px; }
    .nzf-foot { padding: 36px 16px 0; }
    .nzf-foot__grid { grid-template-columns: 1fr; gap: 32px; }
    .nzf-foot__tag { font-size: 22px; }
    .nzf-foot__tag2 { font-size: 18px; }
    .nzf-col ul a { font-size: 17px; }
    .nzf-foot__cat { display: none; }
}
