/* ==== nf-hide-theme-chrome ==== */
/* Theme chrome: hide by WP theme-specific selectors ONLY */
/* Do NOT use body.page > header (it hits our custom <header id="nf-site-header">) */
body.page .site-header, body.page #site-header,
body.page header.site-header, body.page header#masthead,
body.page .page-header, body.page .entry-title,
body.page .site-footer, body.page #site-footer,
body.page footer.site-footer, body.page footer#colophon {
    display:none !important;
}
body.page .site-main, body.page .page-content {
    padding:0 !important; margin:0 !important;
    max-width:100% !important; background:none !important;
}
body.page .entry-content, body.page .wp-block-html {
    padding:0 !important; margin:0 !important; max-width:100% !important;
}

/* Theme chrome: single blog posts — same theme-specific selectors */
body.single .site-header, body.single #site-header,
body.single header.site-header, body.single header#masthead,
body.single .page-header, body.single .entry-header, body.single .entry-title,
body.single .post-title, body.single h1.entry-title,
body.single .site-footer, body.single #site-footer,
body.single footer.site-footer, body.single footer#colophon {
    display:none !important;
}
body.single .site-main, body.single .page-content, body.single .post-content {
    padding:0 !important; margin:0 !important;
    max-width:100% !important; background:none !important;
}
body.single .entry-content, body.single .wp-block-html {
    padding:0 !important; margin:0 !important; max-width:100% !important;
}

/* (safeguard removed — snippet hide-rules are theme-specific only) */

/* Brand orange fix — override hardcoded #c27a0e in post_content .announcement-bar */
body.page .announcement-bar,
body.single .announcement-bar {
    background-color: #f29e23 !important;
    background: #f29e23 !important;
}

/* Kill Jetpack + WP.com junk appearing AFTER our custom footer on posts */
body.single .jetpack-subscription-modal,
body.single .jp-relatedposts,
body.single #jp-relatedposts,
body.single .sharedaddy,
body.single .sd-sharing-enabled,
body.single .post-likes-widget,
body.single .comment-likes-widget,
body.single .comments-area,
body.single #comments,
body.single #respond,
body.single .nav-links,
body.single .post-navigation,
body.single .author-bio,
body.single .entry-footer,
body.single .entry-meta,
body.single .wpcom-like,
body.single #wpcom-actionbar-root,
body.single #likes-other-gravatars,
body.single .post-likes-widget-placeholder,
body.single .likes-widget-placeholder {
    display:none !important;
}
/* Same on pages just in case */
body.page .jetpack-subscription-modal,
body.page .sharedaddy,
body.page .sd-sharing-enabled,
body.page #comments,
body.page #respond { display:none !important; }

/* ==== nf-back-link-styles ==== */
a.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link,
a.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link:link,
a.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link:visited {
    color: #f29e23 !important;
    text-decoration: none !important;
}
a.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link:hover,
a.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link:focus {
    color: #ffb84d !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.55) !important;
}
.nf-back-link:hover span[aria-hidden="true"] {
    transform: translate(-3px, -1px);
    transition: transform .2s ease;
}
@media (max-width: 600px) {
    a.nf-back-link { font-size: 12px !important; margin-bottom: 12px !important; }
}
a.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link,
a.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link:link,
a.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link:visited {
    color: #f29e23 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
a.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link:hover,
a.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link.nf-hub-link:focus {
    color: #ffb84d !important;
}
.nf-blog-back-wrap a.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link.nf-back-link {
    text-shadow: none !important;
    margin-bottom: 12px !important;
}

/* ==== nf-skip-link-css ==== */
.nf-skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: #f29e23;
    color: #fff !important;
    padding: 12px 18px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    z-index: 99999;
    border-radius: 0 0 4px 0;
    transition: top 0.2s ease;
}
.nf-skip-link:focus {
    top: 0;
    outline: 3px solid #fff;
    outline-offset: -3px;
}

/* ==== nf-hero-buttons-spacing ==== */
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:28px}
.hero-buttons > a{display:inline-block}
@media (max-width:560px){
  .hero-buttons{flex-direction:column;gap:12px;align-items:stretch}
  .hero-buttons > a{text-align:center}
}

/* ==== nf-material-card-polish ==== */
.material-card.no-photo{background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s}
.material-card.no-photo:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.icon-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:rgba(242,158,35,.1);border-radius:8px;margin:0 auto 16px}
.icon-card-icon svg{width:28px;height:28px;color:#f29e23;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.material-card-body h4{font-size:18px;font-weight:700;color:#252525;margin:0 0 10px;line-height:1.3}
.material-card-body p{font-size:14px;color:#555;line-height:1.6;margin:0 0 12px}
.material-brands{display:inline-block;font-size:12px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:6px}

/* ==== wp-img-auto-sizes-contain-inline-css ==== */
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */

/* ==== wp-block-library-inline-css ==== */
.has-text-align-justify{text-align:justify;}
/*# sourceURL=wp-block-library-inline-css */

/* ==== jetpack-global-styles-frontend-style-inline-css ==== */
:root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;}
/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */

/* ==== nf-faq-base-styles ==== */
.faq-section{padding:90px 24px;background:var(--light-gray)}
.faq-container{max-width:800px;margin:40px auto 0}
.faq-item{border-bottom:1px solid #ddd}
.faq-question{
    background:none;border:none;width:100%;padding:22px 0;text-align:left;
    font-size:15px;font-weight:600;cursor:pointer;color:var(--dark);
    display:flex;justify-content:space-between;align-items:center;
    font-family:"Poppins",sans-serif;transition:color .3s;
}
.faq-question:hover{color:var(--orange)}
.faq-toggle{font-size:20px;color:var(--orange);transition:transform .3s;flex-shrink:0}
.faq-answer p{font-size:14px;line-height:1.75;color:var(--text-light)}

/* ==== nf-mobile-grid-collapse ==== */
/* Phones (<=640px): force single-column on grids that crush at mobile */
@media (max-width: 640px) {
  .process-grid,
  .why-grid,
  .emergency-inner,
  .emergency-cards,
  .feature-list,
  .materials-grid,
  .service-cards,
  .phone-estimate-bar,
  .contact-grid,
  .form-row,
  .expect-grid,
  .options-grid,
  .content-grid,
  .story-grid,
  .nearby-grid,
  .reviews-grid,
  .about-grid,
  .hero-inner,
  .why-oc-grid {
    grid-template-columns: 1fr !important;
  }
  /* OC Town Badge — stack image above text on phones */
  .oc-town-badge {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .oc-town-badge img {
    width: 50px !important;
  }
  /* FIX 15/16 — About + Doors + Trim new grids */
  .credentials-grid,
  .related-articles-grid,
  .door-materials-grid,
  .door-install-grid,
  .trim-materials-grid,
  .trim-water-grid {
    grid-template-columns: 1fr !important;
  }
  /* Stats grid on phones: 2 cols is OK but stack to 1 if narrow */
  .stats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Towns grid: collapse from 5/3-col to 2-col on phones */
  .towns-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* County panel grid: ensure 2 col max on phones (already has 500px rule but belt-and-braces) */
  .county-panel-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
/* Tablets (641-900px): soften 4+ column grids to 2 columns */
@media (min-width: 641px) and (max-width: 900px) {
  .process-grid,
  .materials-grid,
  .why-grid,
  .service-cards,
  .reviews-grid,
  .stats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .county-panel-grid,
  .towns-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  /* Two-col grids on tablets: stay at 2 (no change) */
}
/* Very small phones (<=400px): absolute single column for everything grid-based */
@media (max-width: 400px) {
  .stats-grid,
  .county-panel-grid,
  .towns-grid,
  .process-grid,
  .why-grid,
  .reviews-grid,
  .service-cards,
  .materials-grid,
  .feature-list,
  .emergency-cards,
  .emergency-inner,
  .phone-estimate-bar,
  .contact-grid,
  .form-row,
  .expect-grid {
    grid-template-columns: 1fr !important;
  }
}
/* Ensure no horizontal overflow on narrow phones */
@media (max-width: 640px) {
  body {
    overflow-x: hidden;
  }
  /* Any img/iframe inside body that sets explicit width > viewport: shrink */
  img, iframe, video {
    max-width: 100%;
    height: auto;
  }
}

/* ==== nf-perf-css ==== */
iframe[src*="google.com/maps"] { width: 100%; max-width: 100%; height: 380px; border: 0; }
    @media print {
        nav, header, footer, .nav, .mega-menu, .faq-toggle, video, iframe { display: none !important; }
        body { font-family: Georgia, serif; color: #000; }
        a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; }
    }

/* ==== nf-reveal-css ==== */
html.nf-js .reveal { opacity: 0; transform: translateY(36px); transition: opacity .65s ease, transform .65s ease; }
    html.nf-js .reveal.from-left { transform: translateX(-40px); }
    html.nf-js .reveal.from-right { transform: translateX(40px); }
    html.nf-js .reveal.visible { opacity: 1; transform: translate(0); }
    @media (prefers-reduced-motion: reduce) {
        html.nf-js .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    }

/* ==== nf-logo-size-2026-05 ==== */
/* Nail Force - Logo Sizing Override (2026-05-02 v5)
   Desktop footer logo bigger. Header at original sizes.
   Mobile untouched.
   Adds a dark separator under the announcement bar so it does not
   blend with the new logo's orange roof icon. */
@media (min-width: 769px) {
    .footer-logo img { height: 130px !important; width: auto !important; object-fit: contain !important; }
}
.announcement-bar {
    border-bottom: 3px solid #252525 !important;
}

/* ==== nf-mobile-100 ==== */
@media (max-width: 768px) {
  /* Prevent horizontal scroll — last line of defense */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* Enforce 44x44 minimum tap target on interactive elements */
  .btn-primary, .btn-secondary, .btn,
  button, .button, [role="button"],
  #nav-menu a, .footer a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* Footer links specifically — they tend to be too close together */
  .footer-column li {
    padding: 8px 0 !important;
  }
  .footer-column a {
    display: inline-block !important;
    padding: 6px 0 !important;
    min-height: 44px !important;
    line-height: 1.5 !important;
  }

  /* Force all images to fit container */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Form inputs — 16px minimum font prevents iOS zoom on focus */
  input[type="text"], input[type="email"], input[type="tel"],
  input[type="number"], textarea, select {
    font-size: 16px !important;
    min-height: 44px !important;
  }
  textarea {
    min-height: 88px !important;
  }

  /* Headers can wrap awkwardly on narrow screens — soften */
  h1, h2, h3 {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }

  /* Container padding on tiny screens */
  .section-container, .header-container, .footer-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Very narrow phones (<=375px iPhone SE) */
@media (max-width: 375px) {
  h1 { font-size: 28px !important; line-height: 1.2 !important; }
  h2 { font-size: 22px !important; line-height: 1.3 !important; }
  .section-container { padding-left: 12px !important; padding-right: 12px !important; }
}

/* ==== nf-faq-bulletproof ==== */
/* Default collapsed state */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.22s ease-out, padding-bottom 0.22s ease-out;
  padding-bottom: 0;
}
/* Open state - max-height set inline by JS to actual content height */
.faq-item.active .faq-answer,
.faq-item.open .faq-answer {
  /* No max-height here — JS sets it inline to scrollHeight + padding */
  padding-bottom: 24px !important;
  transition: max-height 0.3s ease-out, padding-bottom 0.3s ease-out;
}
/* Make question clickable + tap-friendly */
.faq-question {
  cursor: pointer !important;
  -webkit-tap-highlight-color: rgba(242, 158, 35, 0.1);
}
/* Toggle arrow */
.faq-toggle {
  transition: transform 0.22s ease-out;
  display: inline-block;
}
.faq-item.active .faq-toggle,
.faq-item.open .faq-toggle {
  transform: rotate(180deg) !important;
}

/* ==== nf-mobile-menu-fix ==== */
@media (max-width: 768px) {
  /* Mobile mega-menu — make .dropdown-menu render inline within the full-screen nav overlay */
  nav#nav-menu .services-dropdown { width: 100%; }
  nav#nav-menu .services-dropdown > a { display: block; padding: 12px 0; font-size: 16px; }
  nav#nav-menu .dropdown-menu {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    margin-top: 8px !important;
    border-radius: 0 !important;
  }
  nav#nav-menu .category-link {
    padding: 10px 0 !important;
    font-size: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  nav#nav-menu .category-link .arrow {
    transition: transform .2s;
  }
  nav#nav-menu .category-item.active > .category-link .arrow {
    transform: rotate(45deg);
  }
  /* Ensure submenu is visually distinct when expanded */
  nav#nav-menu .submenu {
    padding: 6px 12px !important;
  }
  nav#nav-menu .submenu a {
    padding: 8px 0 !important;
    font-size: 13px !important;
    color: rgba(255,255,255,.85) !important;
  }
}

/* ==== nf-mobile-surgical ==== */
.announcement-bar { display: flex !important; }

/* ==== wp-custom-css ==== */
/* V4 Homepage Fix — hide theme chrome, full-width layout */

/* Hide theme header and footer completely on homepage */
body.page-id-3 .site-header,
body.page-id-3 .site-footer {
  display: none !important;
}

/* Remove white background */
body.page-id-3 {
  background: #252525 !important;
}

/* Kill all theme wrapper padding/margins/max-width */
body.page-id-3 .site-main,
body.page-id-3 .page-content,
body.page-id-3 .entry-content,
body.page-id-3 .site-content,
body.page-id-3 .wp-block-group,
body.page-id-3 .wp-block-post-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Hide page title if theme adds one */
body.page-id-3 .entry-header,
body.page-id-3 .page-title {
  display: none !important;
}

/* Make sure wp:html block goes full width */
body.page-id-3 .wp-block-html {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide WP admin bar gap on frontend (optional) */
body.page-id-3.admin-bar {
  margin-top: -32px !important;
}
body.page-id-3.admin-bar #wpadminbar {
  position: fixed !important;
}

/* ==== nf-mobile-polish ==== */
/* === FIX 1: Footer plus sign positioning === */
@media (max-width: 720px) {
  .v4-footer .footer-column h4 {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .v4-footer .footer-column h4::after {
    position: static !important;
    transform: none !important;
    margin-left: 12px !important;
    flex-shrink: 0 !important;
  }
}

/* === FIX 2: Footer social icons - consistent size + spacing === */
.social-icons,
.footer-socials,
.announcement-social {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
.social-icons a,
.footer-socials a,
.announcement-social a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
}
.social-icons a svg,
.footer-socials a svg,
.announcement-social a svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}
@media (max-width: 480px) {
  .social-icons,
  .footer-socials {
    justify-content: center !important;
  }
}

/* === FIX 4: Service cards (no-photo) - icon left, text right on mobile === */
@media (max-width: 768px) {
  .services-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .service-card.no-photo {
    display: grid !important;
    grid-template-columns: 52px 1fr !important;
    gap: 14px !important;
    align-items: start !important;
    padding: 16px !important;
  }
  .service-card.no-photo .icon-card-icon {
    width: 52px !important;
    height: 52px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
  }
  .service-card.no-photo .icon-card-icon svg {
    width: 28px !important;
    height: 28px !important;
  }
  .service-card.no-photo .service-card-body {
    margin: 0 !important;
  }
  .service-card.no-photo .service-card-body h3 {
    font-size: 16px !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.3 !important;
  }
  .service-card.no-photo .service-card-body p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
}

/* === FIX 5: FAQ questions - horizontal padding so text doesn't touch edges === */
@media (max-width: 768px) {
  .faq-section {
    padding: 60px 16px !important;
  }
  .faq-container {
    margin: 32px auto 0 !important;
  }
  .faq-question {
    padding: 18px 12px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    gap: 10px !important;
  }
  .faq-toggle {
    flex-shrink: 0 !important;
    margin-left: 8px !important;
  }
  .faq-answer {
    padding: 0 12px !important;
  }
  .faq-item.active .faq-answer,
  .faq-item.open .faq-answer {
    padding: 0 12px 18px !important;
  }
  .faq-answer p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    word-break: break-word !important;
  }
}

/* === FIX 6: Announcement bar visible everywhere === */
.announcement-bar {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 768px) {
  .announcement-bar {
    flex-direction: column !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    text-align: center !important;
  }
  .announcement-bar > span {
    line-height: 1.3 !important;
  }
}
@media (max-width: 480px) {
  .announcement-social {
    display: none !important;
  }
  .announcement-bar {
    font-size: 11px !important;
  }
}



/* === FIX 7: OC Preferred section (3 cards) — fix "Preferred Contractor" cutoff === */
/* The header div above the 3 cards uses inline-flex which doesn't shrink.
   The Owens Corning logo (~140px) + "Preferred Contractor" text together overflow on mobile. */
.oc-preferred-section > div > div:first-child > div:first-child {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: 100% !important;
}

@media (max-width: 768px) {
  /* The 3-card grid stacks to 1 column on mobile (already does) */
  .why-oc-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  
  /* Section padding tighter on mobile */
  .oc-preferred-section {
    padding: 40px 16px !important;
  }
  
  /* Allow wrap on the header strip */
  .oc-preferred-section [style*="display:inline-flex"] {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    text-align: center !important;
    max-width: 100% !important;
  }
  
  /* Make the OC logo a hair smaller on mobile */
  .oc-preferred-section img[alt="Owens Corning"] {
    height: 32px !important;
    max-width: 140px !important;
  }
  
  /* Heading + body text scale down */
  .oc-preferred-section h2 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }
  .oc-preferred-section p {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  
  /* Card padding tighter */
  .why-oc-grid > div {
    padding: 20px !important;
  }
  .why-oc-grid h3 {
    font-size: 1.1rem !important;
  }
  .why-oc-grid p {
    font-size: 0.9rem !important;
  }
}

/* ==== nf-hero-trust-svg-fix ==== */
/* Restore stroked checkmark on hero trust bullets across all pages.
   Some pages have inline <svg> without fill="none" stroke=... attrs,
   which renders as a solid orange blob. This forces the canonical look. */
.hero-trust-item svg{
    width:14px;
    height:14px;
    color:var(--orange);
    fill:none !important;
    stroke:var(--orange) !important;
    stroke-width:2 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0;
}
.hero-trust-item svg path,
.hero-trust-item svg polyline,
.hero-trust-item svg polygon,
.hero-trust-item svg circle,
.hero-trust-item svg line{
    fill:none !important;
    stroke:var(--orange) !important;
    stroke-width:2 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* ==== nf-cert-mobile-fix ==== */
/* Mobile responsive overrides for CertainTeed/SidingMaster components.
   Mirrors the exact mobile pattern used for .oc-preferred-section on
   the roofing hub so the SidingMaster section reads identically on phones. */

/* === SIDINGMASTER SECTION — mirrors .oc-preferred-section mobile === */
@media (max-width: 768px){
  .sidingmaster-section{
    padding: 40px 16px !important;
  }
  .sidingmaster-section [style*="display:inline-flex"]{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    text-align: center !important;
    max-width: 100% !important;
  }
  .sidingmaster-section img[alt="CertainTeed"]{
    height: 32px !important;
    max-width: 140px !important;
  }
  .sidingmaster-section h2{
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }
  .sidingmaster-section p{
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  .sm-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .sm-grid > div{
    padding: 20px !important;
  }
  .sm-grid h3{
    font-size: 1.1rem !important;
  }
  .sm-grid p{
    font-size: 0.9rem !important;
  }
}

@media (max-width: 640px){
  /* Catch-all stack — same pattern as roofing hub */
  .sm-grid{
    grid-template-columns: 1fr !important;
  }
  .sidingmaster-section > div > div:first-child > div:first-child{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    max-width: 100% !important;
  }
}

@media (max-width: 480px){
  .sidingmaster-section a[href*="certainteed.com"],
  .oc-preferred-section a[href*="owenscorning.com"]{
    width: 100% !important;
    max-width: 280px !important;
    box-sizing: border-box !important;
  }
}

/* === INLINE PRODUCT CALLOUT (.ct-product-callout) — vinyl-page only === */
@media (max-width: 640px){
  .ct-product-callout{
    padding: 20px 18px !important;
    margin: 22px 0 !important;
  }
  .ct-product-callout p{
    font-size: 14.5px !important;
  }
  /* Header row: allow logo+label to wrap so the label never clips */
  .ct-product-callout > div:first-child{
    flex-wrap: wrap !important;
    gap: 10px !important;
    row-gap: 6px !important;
  }
  .ct-product-callout > div:first-child img{
    max-height: 28px !important;
    height: 28px !important;
    width: auto !important;
    max-width: 130px !important;
  }
  .ct-product-callout > div:first-child span{
    font-size: 10.5px !important;
    letter-spacing: 1.1px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}
@media (max-width: 380px){
  .ct-product-callout{
    padding: 18px 14px !important;
  }
  .ct-product-callout > div:first-child img{
    height: 24px !important;
    max-width: 110px !important;
  }
  .ct-product-callout > div:first-child span{
    font-size: 10px !important;
    letter-spacing: 1px !important;
    width: 100% !important;
    flex-basis: 100% !important;
  }
}

/* === HERO CertainTeed BADGE — keep readable on phones === */
@media (max-width: 480px){
  .hero-ct-badge{
    padding: 7px 12px !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .hero-ct-badge img{
    width: 75px !important;
  }
  .hero-ct-badge strong{
    font-size: 13px !important;
  }
  .hero-ct-badge span{
    font-size: 11px !important;
  }
}
@media (max-width: 380px){
  .hero-ct-badge img{
    width: 65px !important;
  }
  .hero-ct-badge strong{
    font-size: 12.5px !important;
  }
}

/* ==== nf-faq-mobile-fix ==== */
/* FAQ mobile consistency — ensures both <div class="faq-question"> and 
   <button class="faq-question"> behave the same on phones with proper tap targets. */

.faq-question{
    cursor: pointer !important;
    -webkit-tap-highlight-color: rgba(232,119,34,0.15);
    user-select: none;
    -webkit-user-select: none;
    min-height: 48px; /* iOS recommended tap target */
    box-sizing: border-box;
}
/* When faq-question is a div, give it button semantics */
div.faq-question{
    appearance: none;
    -webkit-appearance: none;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    font-family: inherit;
}

/* Mobile-specific tightening */
@media (max-width: 640px){
    .faq-question{
        font-size: 14.5px !important;
        line-height: 1.45 !important;
        padding: 16px 8px !important;
        gap: 8px !important;
    }
    .faq-question .faq-toggle{
        flex-shrink: 0 !important;
        font-size: 18px !important;
        padding: 0 4px !important;
    }
    .faq-answer{
        padding: 0 8px !important;
    }
    .faq-item.active .faq-answer,
    .faq-item.open .faq-answer{
        padding: 0 8px 16px !important;
    }
    .faq-answer p{
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    .faq-section{
        padding: 50px 12px !important;
    }
}

@media (max-width: 380px){
    .faq-question{
        font-size: 14px !important;
        padding: 14px 4px !important;
    }
    .faq-section{
        padding: 40px 8px !important;
    }
}

/* ==== nfc-trust-bar-css ==== */
.nfc-trust-bar-section{padding:0;background:#1a1a1a;margin:0}
.nfc-trust-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:transparent;border:0;border-radius:0;padding:18px 20px;margin:0 auto;max-width:1200px;box-sizing:border-box}
.nfc-trust-badges{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nfc-trust-pill{display:flex;align-items:center;gap:10px;padding:6px 12px;background:transparent;border:0;border-radius:0;text-decoration:none;color:inherit;transition:opacity .15s}
.nfc-trust-pill:hover{opacity:.85}
.nfc-trust-pill img{width:48px;height:48px;object-fit:contain;flex-shrink:0;background:transparent;border-radius:0;padding:0}
.nfc-trust-pill--oc img{background:#fff;border-radius:6px;padding:4px;box-sizing:border-box}
.nfc-trust-pill-text{display:flex;flex-direction:column;line-height:1.15}
.nfc-trust-pill-eyebrow{font-size:10px;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.nfc-trust-pill-label{font-size:13px;color:#fff;font-weight:600}
.nfc-trust-coverage{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:4px 18px;border-left:1px solid rgba(255,255,255,0.12);border-right:1px solid rgba(255,255,255,0.12)}
.nfc-trust-coverage-num{font-size:34px;font-weight:700;color:#f5a623;line-height:1;font-family:Georgia,Cambria,'Times New Roman',serif}
.nfc-trust-coverage-text{display:flex;flex-direction:column;line-height:1.15}
.nfc-trust-coverage-eyebrow{font-size:10px;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.nfc-trust-coverage-label{font-size:13px;color:#fff;font-weight:600}
.nfc-trust-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.nfc-trust-stars{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.nfc-trust-stars-glyph{color:#f5a623;font-size:16px;letter-spacing:1.5px;line-height:1}
.nfc-trust-stars-label{font-size:13px;color:#fff;font-weight:500}
.nfc-trust-hic{display:flex;flex-direction:column;line-height:1.2;border-left:1px solid rgba(255,255,255,0.12);padding-left:18px}
.nfc-trust-hic-eyebrow{font-size:10px;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.nfc-trust-hic-num{font-family:Menlo,Consolas,'Courier New',monospace;font-size:13px;color:#fff;font-weight:600}
@media (max-width:900px){
  .nfc-trust-coverage{border-left:0;border-right:0;padding:10px 0}
}
@media (max-width:768px){
  .nfc-trust-bar-section{padding:0}
  .nfc-trust-bar{flex-direction:column;align-items:stretch;padding:18px 16px;gap:0;margin:0;border-radius:0}
  .nfc-trust-badges{flex-direction:column;align-items:stretch;gap:10px;width:100%;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.12)}
  .nfc-trust-pill{padding:6px 0;justify-content:center;background:transparent;border:0;border-radius:0}
  .nfc-trust-pill img{width:44px;height:44px}
  .nfc-trust-pill-eyebrow{font-size:10px}
  .nfc-trust-pill-label{font-size:13px}
  .nfc-trust-coverage{display:flex;justify-content:center;align-items:center;gap:14px;padding:4px 0 14px;margin-bottom:14px;border:0;border-bottom:1px solid rgba(255,255,255,0.12);text-align:left}
  .nfc-trust-coverage-num{font-size:36px}
  .nfc-trust-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:0;flex-wrap:nowrap}
  .nfc-trust-stars{flex-direction:column;align-items:flex-start;gap:4px;flex:1 1 auto;min-width:0}
  .nfc-trust-stars-glyph{font-size:14px;letter-spacing:1px}
  .nfc-trust-stars-label{font-size:11px;font-weight:600;line-height:1.2}
  .nfc-trust-hic{border-left:1px solid rgba(255,255,255,0.12);padding-left:14px;text-align:left;flex-shrink:0}
  .nfc-trust-hic-num{font-size:12px}
}
@media (max-width:380px){
  .nfc-trust-bar{padding:14px 12px}
  .nfc-trust-pill img{width:40px;height:40px}
  .nfc-trust-coverage-num{font-size:32px}
  .nfc-trust-stars-glyph{font-size:12px}
  .nfc-trust-stars-label{font-size:10px}
  .nfc-trust-hic-num{font-size:11px}
}

/* ==== nf-footer-bottom-pin ==== */
.v4-footer .footer-bottom,.v4-footer .footer-bottom p,footer.v4-footer .footer-bottom,footer.v4-footer .footer-bottom p{color:#aaa !important;}.v4-footer .footer-bottom a,.v4-footer .footer-bottom p a,footer.v4-footer .footer-bottom a{color:#ccc !important;}.v4-footer .footer-bottom a:hover,footer.v4-footer .footer-bottom a:hover{color:var(--orange) !important;}

/* ==== nf-chrome-canonical-pin ==== */
header .header-container,.header-container{padding:0 24px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;}header .logo,.header-container .logo{display:flex !important;align-items:center !important;}header .logo img,.header-container .logo img{display:block !important;}#nav-menu > a,#nav-menu .services-dropdown > a,#nav-menu .resources-dropdown > a{color:#fff !important;font-size:14px !important;font-weight:500 !important;text-decoration:none !important;font-family:Poppins,sans-serif !important;}#nav-menu .services-dropdown > a::after,#nav-menu .resources-dropdown > a::after,#nav-menu .services-dropdown:not(.resources-dropdown) > a::after{content:"" !important;display:inline-block !important;width:6px !important;height:6px !important;border-right:2px solid #fff !important;border-bottom:2px solid #fff !important;border-top:0 !important;border-left:0 !important;margin-left:8px !important;transform:rotate(45deg) !important;transition:transform .3s !important;vertical-align:middle !important;position:relative !important;top:-2px !important;}#nav-menu .services-dropdown.active > a::after,#nav-menu .resources-dropdown.active > a::after,#nav-menu .services-dropdown:hover > a::after,#nav-menu .resources-dropdown:hover > a::after{transform:rotate(225deg) !important;top:0 !important;}#nav-menu .cta-button-header,.header-container .cta-button-header{color:#fff !important;background:#f29e23 !important;font-size:14px !important;font-weight:600 !important;text-decoration:none !important;padding:10px 24px !important;display:inline-block !important;}#nav-menu .category-link{color:#fff !important;background:transparent !important;font-size:13px !important;font-weight:500 !important;text-decoration:none !important;display:flex !important;padding:12px 20px !important;border-bottom:1px solid rgba(255,255,255,.1) !important;}#nav-menu .submenu a{color:#fff !important;font-size:13px !important;font-weight:500 !important;text-decoration:none !important;display:block !important;padding:10px 20px !important;border-bottom:1px solid rgba(255,255,255,.1) !important;}#nav-menu .arrow{color:#fff !important;font-size:13px !important;font-weight:400 !important;visibility:hidden !important;display:block !important;}footer.v4-footer{background:#1a1a1a !important;background-color:#1a1a1a !important;color:#ccc !important;padding:60px 24px 24px !important;border-top:3px solid #f29e23 !important;font-family:Poppins,sans-serif !important;}footer.v4-footer .footer-columns,.v4-footer .footer-columns{display:grid !important;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1.8fr !important;gap:36px !important;max-width:1400px !important;margin:0 auto !important;}footer.v4-footer .footer-column h4,footer.v4-footer .footer-columns h4,.v4-footer .footer-column h4{color:#fff !important;font-size:13px !important;font-weight:700 !important;margin:0 0 14px 0 !important;border-color:#fff !important;font-family:Poppins,sans-serif !important;}footer.v4-footer .footer-column ul li a,footer.v4-footer .footer-column a,.v4-footer .footer-column ul li a{color:#ccc !important;font-size:12px !important;font-weight:400 !important;text-decoration:none !important;font-family:Poppins,sans-serif !important;}footer.v4-footer .footer-column ul li a:hover{color:#f29e23 !important;}footer.v4-footer .footer-logo,.v4-footer .footer-logo{text-align:center !important;margin:0 auto 48px !important;width:100% !important;}footer.v4-footer .footer-logo a,.v4-footer .footer-logo a{display:inline-block !important;}footer.v4-footer .footer-logo img,.v4-footer .footer-logo img{display:inline-block !important;margin:0 auto !important;}footer.v4-footer .footer-bottom,.v4-footer .footer-bottom{color:#aaa !important;font-size:12px !important;padding:24px 0 0 0 !important;border-top:1px solid rgba(255,255,255,.1) !important;font-family:Poppins,sans-serif !important;}footer.v4-footer .footer-bottom p,.v4-footer .footer-bottom p{color:#aaa !important;font-size:12px !important;font-family:Poppins,sans-serif !important;}footer.v4-footer .footer-bottom a,.v4-footer .footer-bottom a{color:#ccc !important;text-decoration:none !important;}footer.v4-footer .social-icons a,.v4-footer .social-icons a{color:#ccc !important;background:rgba(255,255,255,.1) !important;background-color:rgba(255,255,255,.1) !important;text-decoration:none !important;font-size:16px !important;}body .nfc-trust-bar a.nfc-trust-pill,body .nfc-trust-bar-section a.nfc-trust-pill,body .nfc-trust-bar .nfc-trust-pill,body .nfc-trust-bar-section .nfc-trust-pill,.blog-content .nfc-trust-bar a.nfc-trust-pill,.blog-content .nfc-trust-bar-section a.nfc-trust-pill{color:#333 !important;font-size:16px !important;text-decoration:none !important;font-family:Poppins,sans-serif !important;}.nfc-trust-bar-section{font-size:16px !important;font-family:Poppins,sans-serif !important;}

/* ==== nf-mobile-cta ==== */
.nf-mobile-cta { display: none; }
    @media (max-width: 768px) {
        .nf-mobile-cta {
            display: flex;
            position: fixed; bottom: 0; left: 0; right: 0;
            background: #111; color: #fff;
            z-index: 9998;
            box-shadow: 0 -2px 8px rgba(0,0,0,.25);
        }
        .nf-mobile-cta a {
            flex: 1;
            text-align: center;
            padding: 14px 8px;
            color: #fff !important;
            text-decoration: none !important;
            font-weight: 700;
            font-size: 15px;
            min-height: 44px;
        }
        .nf-mobile-cta a.nf-call { background: #B8860B; }
        .nf-mobile-cta a.nf-sms { background: #1f6feb; }
        body { padding-bottom: 60px; }
    }

/* ==== nf-lead-modal-css ==== */
.nf-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;font-family:'Poppins',sans-serif}
.nf-modal[aria-hidden="false"]{display:flex;animation:nfModalIn .2s ease-out}
.nf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(2px);cursor:pointer}
.nf-modal-card{position:relative;background:#fff;border-radius:10px;padding:32px;max-width:520px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:nfCardIn .25s cubic-bezier(.2,.9,.3,1.2)}
.nf-modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:32px;line-height:1;color:#999;cursor:pointer;padding:4px 10px;border-radius:4px;transition:color .2s,background .2s}
.nf-modal-close:hover{color:#252525;background:#f5f5f5}
.nf-modal-head{margin-bottom:20px;padding-right:30px}
.nf-modal-head h3{font-size:24px;font-weight:700;color:#252525;margin-bottom:6px;line-height:1.2}
.nf-modal-head .nf-modal-sub{font-size:13px;color:#666;line-height:1.5}
.nf-modal-head .nf-modal-sub a{color:#f29e23;font-weight:700;text-decoration:none}
.nf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nf-modal .nf-lead-form .form-group{margin-bottom:12px}
.nf-modal .nf-lead-form .form-group label{display:block;font-size:12px;font-weight:600;color:#252525;margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.nf-modal .nf-lead-form .form-group input,
.nf-modal .nf-lead-form .form-group select,
.nf-modal .nf-lead-form .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:14px;color:#252525;background:#fff;transition:border-color .15s}
.nf-modal .nf-lead-form .form-group input:focus,
.nf-modal .nf-lead-form .form-group select:focus,
.nf-modal .nf-lead-form .form-group textarea:focus{outline:none;border-color:#f29e23;box-shadow:0 0 0 3px rgba(242,158,35,.15)}
.nf-modal .nf-lead-form .form-group textarea{resize:vertical;min-height:60px;font-family:inherit}
.nf-modal .nf-lead-form .form-submit{width:100%;padding:14px;background:#f29e23;color:#fff;border:none;border-radius:5px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:background .15s;margin-top:6px;font-family:inherit}
.nf-modal .nf-lead-form .form-submit:hover{background:#e08a10}
.nf-modal .nf-lead-form .form-submit:disabled{opacity:.6;cursor:wait}
.nf-modal .nf-lead-form .form-note{font-size:11px;color:#999;margin-top:10px;text-align:center;line-height:1.5}
.nf-modal .nf-form-status{text-align:center;font-weight:600;margin-top:12px;font-size:14px}
@keyframes nfModalIn{from{opacity:0}to{opacity:1}}
@keyframes nfCardIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:560px){
  .nf-modal{padding:0;align-items:flex-end}
  .nf-modal-card{max-width:100%;border-radius:14px 14px 0 0;padding:24px;max-height:88vh}
  .nf-form-row{grid-template-columns:1fr}
  .nf-modal-head h3{font-size:20px}
}
body.nf-modal-open{overflow:hidden}

/* ==== nf-drawer-css ==== */
/* === MOBILE NAV DRAWER === */
/* Hidden on desktop entirely */
#nf-mobile-drawer { display: none; }

@media (max-width: 768px) {
  /* Drawer container */
  #nf-mobile-drawer {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 90%;
    max-width: 360px;
    height: 100vh;
    height: 100dvh;
    background: #1a1a1a;
    box-shadow: -8px 0 32px rgba(0,0,0,0.5);
    z-index: 9998;
    transition: right 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    color: #fff;
    font-family: 'Poppins', sans-serif;
  }
  #nf-mobile-drawer.nf-open {
    right: 0;
  }

  /* Backdrop overlay */
  #nf-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9997;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.28s ease, visibility 0.28s ease;
  }
  #nf-drawer-backdrop.nf-open {
    opacity: 1;
    visibility: visible;
  }

  /* Drawer header — logo, X close */
  .nf-drawer-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 18px !important;
    background: #252525 !important;
    border-bottom: 2px solid #f29e23 !important;
    flex-shrink: 0 !important;
  }
  .nf-drawer-logo img {
    height: 44px !important;
    width: auto !important;
    display: block !important;
  }
  .nf-drawer-close {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  /* Top phone CTA */
  .nf-drawer-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f29e23 !important;
    color: #fff !important;
    padding: 14px 18px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
  }
  .nf-drawer-cta:hover { background: #e08a10 !important; }

  /* Panels container — slides horizontally between level 1 and level 2 */
  .nf-drawer-panels {
    flex: 1 1 auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    position: relative !important;
  }
  .nf-drawer-panel {
    width: 100% !important;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }
  /* Level 1 panel (top-level categories) */
  .nf-drawer-panel-1 {
    transform: translateX(0) !important;
  }
  #nf-mobile-drawer.nf-show-2 .nf-drawer-panel-1 {
    transform: translateX(-100%) !important;
  }
  /* Level 2 panel (sub-pages of selected category) */
  .nf-drawer-panel-2 {
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    width: 100% !important;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }
  #nf-mobile-drawer.nf-show-2 .nf-drawer-panel-2 {
    transform: translateX(-100%) !important;
  }

  /* Drawer body uses flex column layout */
  #nf-mobile-drawer {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Menu items */
  .nf-drawer-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .nf-drawer-menu li {
    margin: 0 !important;
  }
  .nf-drawer-menu a,
  .nf-drawer-menu button {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 18px 20px !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    text-decoration: none !important;
    text-align: left !important;
    cursor: pointer !important;
    min-height: 56px !important;
    box-sizing: border-box !important;
    -webkit-tap-highlight-color: rgba(242,158,35,0.2) !important;
    transition: background 0.15s ease !important;
    font-family: 'Poppins', sans-serif !important;
    line-height: 1.3 !important;
  }
  .nf-drawer-menu a:active,
  .nf-drawer-menu button:active {
    background: rgba(242,158,35,0.15) !important;
  }
  .nf-drawer-menu .nf-arrow {
    color: #f29e23 !important;
    font-size: 20px !important;
    flex-shrink: 0 !important;
  }

  /* Section dividers between groups in level 1 */
  .nf-drawer-divider {
    height: 12px !important;
    background: rgba(0,0,0,0.3) !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }

  /* Back button at top of level 2 */
  .nf-drawer-back {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 16px 20px !important;
    background: #252525 !important;
    color: #f29e23 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-align: left !important;
    gap: 8px !important;
    font-family: 'Poppins', sans-serif !important;
  }
  .nf-drawer-back:active { background: #1f1f1f !important; }

  /* Sticky bottom CTA */
  .nf-drawer-bottom {
    flex-shrink: 0 !important;
    padding: 12px 16px !important;
    background: #252525 !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
  }
  .nf-drawer-bottom a {
    display: block !important;
    background: #f29e23 !important;
    color: #fff !important;
    text-align: center !important;
    padding: 14px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  /* Body lock when drawer open */
  body.nf-drawer-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
  }

  /* Hamburger morph to X when drawer open */
  body.nf-drawer-open #hamburger span:nth-child(1),
  body.nf-drawer-open .hamburger span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px) !important;
  }
  body.nf-drawer-open #hamburger span:nth-child(2),
  body.nf-drawer-open .hamburger span:nth-child(2) {
    opacity: 0 !important;
  }
  body.nf-drawer-open #hamburger span:nth-child(3),
  body.nf-drawer-open .hamburger span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px) !important;
  }
  #hamburger span,
  .hamburger span {
    transition: transform 0.25s ease, opacity 0.25s ease !important;
  }
}

/* ==== nf-mobile-footer-accordion ==== */
@media (max-width: 720px) {
        footer.v4-footer .footer-columns,
        .v4-footer .footer-columns {
            grid-template-columns: 1fr !important;
            gap: 0 !important;
            margin-bottom: 24px !important;
        }
        footer.v4-footer .footer-column,
        .v4-footer .footer-column {
            border-bottom: 1px solid rgba(255,255,255,.12) !important;
            padding: 0 !important;
            margin: 0 !important;
        }
        footer.v4-footer .footer-column h4,
        .v4-footer .footer-column h4 {
            position: relative;
            cursor: pointer;
            padding: 16px 36px 16px 4px !important;
            margin: 0 !important;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
            font-size: 14px !important;
            min-height: 44px;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
        }
        footer.v4-footer .footer-column h4::after,
        .v4-footer .footer-column h4::after {
            content: "+";
            position: static !important;
            transform: none !important;
            font-size: 22px;
            line-height: 1;
            font-weight: 400;
            opacity: .8;
            transition: transform .2s ease;
            margin-left: 12px;
            flex-shrink: 0;
        }
        footer.v4-footer .footer-column.nf-open h4::after,
        .v4-footer .footer-column.nf-open h4::after {
            content: "−";
        }
        /* Collapsed state — JS sets [data-nf-collapsed]; no-JS leaves lists visible */
        footer.v4-footer .footer-column[data-nf-collapsed="1"] ul,
        .v4-footer .footer-column[data-nf-collapsed="1"] ul {
            display: none !important;
        }
        footer.v4-footer .footer-column ul,
        .v4-footer .footer-column ul {
            padding: 0 4px 16px !important;
            margin: 0 !important;
        }
        footer.v4-footer .footer-column ul li,
        .v4-footer .footer-column ul li {
            margin-bottom: 0 !important;
        }
        footer.v4-footer .footer-column ul li a,
        .v4-footer .footer-column ul li a {
            display: block !important;
            padding: 10px 4px !important;
            min-height: 44px !important;
            line-height: 1.4 !important;
            font-size: 14px !important;
        }
        /* Footer-bottom: keep readable on mobile */
        footer.v4-footer .footer-bottom,
        .v4-footer .footer-bottom {
            text-align: center !important;
            padding: 24px 8px 8px !important;
            font-size: 12px !important;
        }
        footer.v4-footer .footer-logo img,
        .v4-footer .footer-logo img {
            max-width: 200px !important;
            height: auto !important;
        }
    }