/* Content sections added by the SEO content work (answer sections, review cards, FAQ, towns served).
   Matches the site's Elementor look: Roboto headings, Helvetica body, green accent, white cards with the soft shadow,
   orange call button. Loaded on every page by src/pages/[...slug].astro. */
.nz-sec{max-width:1210px;margin:0 auto;padding:36px 20px;box-sizing:border-box;font-family:Helvetica,sans-serif;color:#5F646B;font-size:18px;line-height:32px}
.nz-sec h2{font-family:Roboto,sans-serif;font-weight:600;font-size:32px;line-height:1.25;color:#0D0E0D;margin:0 0 16px}
.nz-sec h3{font-family:Roboto,sans-serif;font-weight:600;font-size:22px;line-height:1.3;color:#1F7700;margin:22px 0 8px}
.nz-sec p{margin:0 0 14px}
.nz-sec ul,.nz-sec ol{margin:0 0 16px;padding-left:22px}
.nz-sec li{margin:0 0 6px}
.nz-sec a{color:#1F7700;text-decoration:underline;text-underline-offset:3px}
.nz-sec a:hover{color:#EF480A}
.nz-sec strong{color:#0D0E0D;font-weight:600}
.nz-sec.nz-alt{background:#F6FAF3;max-width:none}
.nz-sec.nz-alt>.nz-in{max-width:1170px;margin:0 auto}
.nz-sec .nz-center{text-align:center}
.nz-sec h2.nz-green{color:#1F7700;text-align:center}
.nz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:18px 0}
.nz-card{background:#fff;border-radius:3px;box-shadow:0 0 30px 0 rgba(0,0,0,.08);padding:22px 24px}
.nz-card h3{margin-top:0}
.nz-card p:last-child{margin-bottom:0}
.nz-table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:16px;line-height:24px;background:#fff;box-shadow:0 0 30px 0 rgba(0,0,0,.06)}
.nz-table th{background:#1F7700;color:#fff;font-family:Roboto,sans-serif;font-weight:600;text-align:left;padding:12px 14px}
.nz-table td{padding:12px 14px;border-top:1px solid #E7ECE4;vertical-align:top}
.nz-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:18px 0 6px}
.nz-review{background:#fff;border-radius:3px;box-shadow:0 0 30px 0 rgba(0,0,0,.08);padding:22px 24px;display:flex;flex-direction:column;margin:0}
.nz-review .nz-stars{color:#B45309;font-size:20px;letter-spacing:2px;line-height:1;margin-bottom:10px}
.nz-review blockquote{margin:0 0 14px;font-size:16px;line-height:26px;color:#4A4F55;flex:1}
.nz-review figcaption{font-family:Roboto,sans-serif;font-size:15px;color:#0D0E0D;font-weight:600}
.nz-review figcaption a{color:#5F646B;font-weight:400;text-decoration:none}
.nz-faq details{background:#fff;border-radius:3px;box-shadow:0 0 30px 0 rgba(0,0,0,.06);margin:0 0 12px;padding:0 20px}
.nz-faq summary{cursor:pointer;font-family:Roboto,sans-serif;font-weight:600;font-size:19px;color:#0D0E0D;padding:16px 0;list-style:none}
.nz-faq summary::-webkit-details-marker{display:none}
.nz-faq summary::after{content:"+";float:right;color:#1F7700;font-size:24px;line-height:1}
.nz-faq details[open] summary::after{content:"\2212"}
.nz-faq details>div{padding:0 0 14px}
.nz-towns{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:10px 0 0}
.nz-towns li{margin:0}
.nz-towns a{display:inline-block;padding:8px 14px;border:1px solid #CFE3C6;border-radius:3px;background:#fff;color:#1F7700;text-decoration:none;font-size:16px;line-height:22px}
.nz-towns a:hover{background:#1F7700;color:#fff;border-color:#1F7700}
.nz-cta{display:inline-block;background:#EF480A;color:#fff!important;text-decoration:none!important;font-family:Roboto,sans-serif;font-weight:600;font-size:15px;padding:12px 24px;border-radius:3px}
.nz-cta:hover{background:#c93a06}
.nz-byline{font-size:15px;color:#5F646B;margin:0 0 8px}
@media (max-width:767px){.nz-sec{padding:26px 16px;font-size:17px;line-height:28px}.nz-sec h2{font-size:26px}.nz-sec h3{font-size:20px}.nz-table{font-size:15px}}
.nz-card h2{font-size:24px;line-height:1.3;margin:0 0 10px}
.nz-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;align-items:center}
.nz-split figure{margin:0}
.nz-split img{width:100%;height:auto;border-radius:3px;box-shadow:0 0 30px 0 rgba(0,0,0,.08);display:block}
@media (max-width:767px){.nz-split{grid-template-columns:1fr;gap:20px}}
.nz-card .nz-thumb{display:block;width:calc(100% + 48px);margin:-22px -24px 16px;height:180px;object-fit:cover;border-radius:3px 3px 0 0}
.nz-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.nz-gallery figure{margin:0}
.nz-gallery img{width:100%;height:auto;display:block;border-radius:3px;box-shadow:0 0 30px 0 rgba(0,0,0,.08)}
@media (max-width:767px){.nz-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* Forms: the spam-trap field stays hidden from people (lead-forms.js drops a send that fills it). */
.gform_validation_container{display:none!important}

/* Legal parts (site-wide): footer line with the contractor license, lead-form notice. */
.nz-legal{background:#1d2a12;color:#fff;font-family:Helvetica,sans-serif;font-size:14px;line-height:22px;text-align:center;padding:14px 16px}
.nz-legal p{margin:0;max-width:1170px;margin:0 auto}
.nz-legal a{color:#fff;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.nz-legal p.agency-credit{display:flex;justify-content:center;margin:4px auto 0;font-size:12px;line-height:1.5}
.nz-legal p.agency-credit a{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 4px;color:#fff;font-size:12px;text-decoration:none}
.nz-legal p.agency-credit a:hover,.nz-legal p.agency-credit a:focus-visible{text-decoration:underline}
.nz-legal p.agency-credit img{display:block;height:16px;width:auto}
/* phones: the floating Call now button sits over the bottom of the screen; room below the legal line keeps its links and the credit clear of it at the end of the page */
@media (max-width:767px){.nz-legal{padding-bottom:92px}}
.nz-consent{width:100%;flex:0 0 100%;margin:4px 0 12px;font-size:13px;line-height:19px;color:#4A4F55;text-align:left}
.nz-consent a{color:#1F7700;text-decoration:underline}
.nz-policy h1{font-family:Roboto,sans-serif;font-weight:700;font-size:40px;line-height:1.2;color:#0D0E0D;margin:0 0 8px}
@media (max-width:767px){.nz-policy h1{font-size:30px}}

/* Accessibility (WCAG 2.1 AA contrast and motion) over the ported theme styles. */
.elementor-kit-13{--e-global-color-text:#666666}
.elementor-809 .elementor-element.elementor-element-709842c:not(.elementor-motion-effects-element-type-background){background-color:#1F5FCF}
.elementor-809 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#3B6610!important}
.elementor-1501 .elementor-element.elementor-element-1e3bc1b::before{background-color:#3B6610!important;opacity:.94!important}
.elementor-1501 .elementor-element.elementor-element-1e3bc1b a[href^="tel:"]{color:#fff}
a.elementor-button,.elementor-button{background-color:#C2410C!important}
a.elementor-button:hover,.elementor-button:hover{background-color:#9A3412!important}
a[style*="6ec1e4" i]{color:#1B6FA8!important}
.e-contact-buttons__chat-button-text{color:#1A7F37!important}
.business-hours-box .clock-icon{animation-iteration-count:2!important}
@media (prefers-reduced-motion:reduce){.business-hours-box .clock-icon,.business-hours-box{animation:none!important}}
.elementor-809 .elementor-nav-menu--main .elementor-item.elementor-item-active,.elementor-809 .elementor-nav-menu--main .elementor-item:hover,.elementor-809 .elementor-nav-menu--main .elementor-item:focus{color:#fff!important}
.elementor-494 .elementor-element.elementor-element-549426e::before{opacity:.86!important}
.elementor-2058 .elementor-element.elementor-element-f4e0d64,.elementor-2058 .elementor-element.elementor-element-b43ce01,.elementor-2058 .elementor-element.elementor-element-de4596b{background-color:rgba(0,0,0,.62)!important}
.ti-widget .ti-date,.ti-widget .ti-with-tooltip,.ti-widget .ti-read-more,.ti-widget .ti-read-more-active{color:#595959!important}
@media (max-width:480px){.nz-table{display:block;max-width:100%;overflow-x:auto;font-size:14px;line-height:20px}.nz-table th,.nz-table td{padding:8px;overflow-wrap:anywhere}}
.elementor-1501 .elementor-nav-menu--main .elementor-item.elementor-item-active,.elementor-1501 .elementor-nav-menu--main .elementor-item:hover,.elementor-1501 .elementor-nav-menu--main .elementor-item:focus{color:#fff!important}
.ti-read-more-active,.ti-read-more span,.ti-read-more a{color:#595959!important;opacity:1!important}
.elementor-809 .elementor-element.elementor-element-44aa136 a{display:block}.elementor-809 .elementor-element.elementor-element-44aa136 img{aspect-ratio:453/135;height:auto}
@media (min-width:768px){.elementor-809 .elementor-element.elementor-element-44aa136{width:453px;max-width:100%}}
.elementor-post__meta-data,.elementor-post__meta-data *,.elementor-post__excerpt p{color:#595959!important}
.elementor-post__read-more{color:#1F7700!important}
.nz-policy table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:15px;line-height:1.5}.nz-policy th,.nz-policy td{border:1px solid #d8d8d8;padding:8px 10px;text-align:left;vertical-align:top}.nz-policy th{background:#f3f5ef}.nz-policy td:first-child{overflow-wrap:anywhere}
@media (max-width:640px){.nz-policy thead{display:none}.nz-policy tr{display:block;border:1px solid #d8d8d8;margin-bottom:10px}.nz-policy td{display:block;border:0;padding:4px 10px}.nz-policy td::before{content:attr(data-th) ": ";font-weight:600}}
