/* NFPK Core 6.0.10 — variable-driven theme engine
   State is stored by JS, visuals consume root variables through selectors that
   stay valid in both modes. No MutationObserver and no template repaint loop. */

html,body{
  min-height:100%;
  background-color:var(--nfpk-page-bg,#F2F2F2)!important;
  color:var(--nfpk-page-text,#111113)!important;
  transition:background-color .18s ease,color .18s ease;
}
body.single-nfpk_product .elementor-location-single,
body.post-type-archive-nfpk_product .site-main,
body.tax-nfpk_product_category .site-main,
body.tax-nfpk_product_tag .site-main{
  background-color:var(--nfpk-page-bg,#F2F2F2)!important;
  color:var(--nfpk-page-text,#111113)!important;
}

.nfpk-global-ui{
  position:fixed;
  z-index:99990;
  inset-inline-end:24px;
  bottom:24px;
  display:grid;
  gap:10px;
  pointer-events:none;
}
.nfpk-theme-toggle{
  --nfpk-theme-toggle-size:48px;
  --nfpk-theme-toggle-icon:20px;
  min-width:var(--nfpk-theme-toggle-size)!important;
  width:var(--nfpk-theme-toggle-size)!important;
  height:var(--nfpk-theme-toggle-size)!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  color:#fff!important;
  background:var(--nfpk-theme-surface,rgba(0,0,0,.50))!important;
  border:2px solid var(--nfpk-theme-stroke,#fff)!important;
  border-radius:15px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:border-color .16s ease,transform .16s ease!important;
}
.nfpk-theme-toggle:hover,.nfpk-theme-toggle:focus-visible{
  border-color:#ED2025!important;
  outline:0!important;
}
.nfpk-theme-toggle:active{transform:scale(.96)!important}
.nfpk-theme-toggle__icon{
  width:var(--nfpk-theme-toggle-icon)!important;
  height:var(--nfpk-theme-toggle-icon)!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.nfpk-theme-toggle__icon svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  fill:currentColor!important;
  overflow:visible!important;
}
.nfpk-theme-toggle__icon--sun{display:none!important}
.nfpk-theme-toggle__icon--moon{display:inline-flex!important}

.nfpk-scroll-up{
  --nfpk-scroll-up-size:48px;
  width:var(--nfpk-scroll-up-size)!important;
  min-width:var(--nfpk-scroll-up-size)!important;
  height:var(--nfpk-scroll-up-size)!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  background:var(--nfpk-theme-surface,rgba(0,0,0,.50))!important;
  border:2px solid var(--nfpk-theme-stroke,#fff)!important;
  border-radius:15px!important;
  cursor:pointer!important;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .16s ease,visibility .16s ease,transform .16s ease,border-color .16s ease!important;
}
.nfpk-scroll-up.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nfpk-scroll-up:hover,.nfpk-scroll-up:focus-visible{border-color:#ED2025!important;outline:0!important}
.nfpk-scroll-up svg{width:44%!important;height:44%!important;max-width:none!important;display:block!important;fill:currentColor!important;overflow:visible!important}

/* Header h3/h5. One selector set, values change only through root variables. */
.nfpkh3-root .nfpkh3-desktop,
.nfpkh3-root .nfpkh3-mobile,
.nfpkh5-root .nfpkh5-desktop,
.nfpkh5-root .nfpkh5-mobile{
  background:var(--nfpk-theme-surface,rgba(0,0,0,.50))!important;
  border:2px solid var(--nfpk-theme-header-stroke,transparent)!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
.nfpkh3-root .nfpkh3-bottom-row,
.nfpkh5-root .nfpkh5-bottom-row{
  background:var(--nfpk-theme-header-bottom,rgba(0,0,0,.50))!important;
  transition:background-color .18s ease!important;
}
.nfpkh3-root .nfpkh3-logo-dock,
.nfpkh5-root .nfpkh5-logo-dock{
  border:2px solid var(--nfpk-theme-logo-stroke,transparent)!important;
  transition:border-color .18s ease!important;
}
.nfpkh3-root .nfpkh3-main-menu .elementor-item,
.nfpkh3-root .nfpkh3-products-menu .elementor-item,
.nfpkh3-root .nfpkh3-phone a,
.nfpkh5-root .nfpkh5-main-menu .elementor-item,
.nfpkh5-root .nfpkh5-products-menu .elementor-item,
.nfpkh5-root .nfpkh5-phone a{color:var(--nfpk-theme-on-glass-text,#fff)!important}

/* Footer v2-v8 + legacy clean footer. Frozen black 50% surfaces are kept in
   both modes; the canvas below them changes, so the glass actually reads as
   day versus night without duplicating the footer. */
.nfpkf2-root .nfpkf2-main,
.nfpkf2-root .nfpkf2-card,
.nfpkf2-root .nfpkf2-social-panel,
.nfpkf2-root .nfpkf2-address,
.nfpkf2-root .nfpkf2-bottom,
.nfpkf2-root .nfpkf8-map-dialog,
.nfpk7-trilingual-footer .nfpk7-main-shell,
.nfpk7-trilingual-footer .nfpk7-card,
.nfpk7-trilingual-footer .nfpk7-social-panel,
.nfpk7-trilingual-footer .nfpk7-address-box,
.nfpk7-trilingual-footer .nfpk7-bottom-shell{
  background:var(--nfpk-theme-surface,rgba(0,0,0,.50))!important;
  border-color:var(--nfpk-theme-stroke,#fff)!important;
  color:var(--nfpk-theme-on-glass-text,#fff)!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
.nfpkf2-root .nfpkf2-main:hover,
.nfpkf2-root .nfpkf2-card:hover,
.nfpkf2-root .nfpkf2-social-panel:hover,
.nfpkf2-root .nfpkf2-address:hover,
.nfpkf2-root .nfpkf2-bottom:hover,
.nfpk7-trilingual-footer .nfpk7-main-shell:hover,
.nfpk7-trilingual-footer .nfpk7-card:hover,
.nfpk7-trilingual-footer .nfpk7-social-panel:hover,
.nfpk7-trilingual-footer .nfpk7-address-box:hover,
.nfpk7-trilingual-footer .nfpk7-bottom-shell:hover{border-color:#ED2025!important}
.nfpkf2-root .elementor-heading-title,
.nfpkf2-root .elementor-widget-text-editor,
.nfpkf2-root .elementor-widget-text-editor *,
.nfpkf2-root .elementor-icon-list-text,
.nfpkf2-root .nfpkf3-nav-list .elementor-icon-list-text,
.nfpk7-trilingual-footer .elementor-heading-title,
.nfpk7-trilingual-footer .elementor-widget-text-editor,
.nfpk7-trilingual-footer .elementor-widget-text-editor *,
.nfpk7-trilingual-footer .elementor-icon-list-text{color:var(--nfpk-theme-on-glass-text,#fff)!important}

/* Mobile popup: neutral rows now consume a variable instead of separate
   dark-only selectors inside the Elementor JSON. Brand green/red rows stay. */
.nfpkpfs-root{background:var(--nfpk-page-bg,#F2F2F2)!important;color:var(--nfpk-page-text,#111113)!important}
.nfpkpfs-root .nfpkpfs-lang{background:var(--nfpk-page-bg,#F2F2F2)!important}
.nfpkpfs-root .nfpkpfs-top,
.nfpkpfs-root .nfpkpfs-search-row,
.nfpkpfs-root .nfpkpfs-social-row,
.nfpkpfs-root .nfpkpfs-main-row,
.nfpkpfs-root .nfpkpfs-product-row{background:var(--nfpk-theme-popup-neutral,#8C8C8C)!important}

/* Homepage recovery slider and older native slider. No state selectors: WP
   Rocket cannot discard one mode because both modes use the same selectors. */
.nfpk-industrial-slider-root.nfpk-industrial-slider-trilingual .nfpk-home-industrial-slider .nfpk-hero-slide:before{
  background:var(--nfpk-industrial-gradient-rtl)!important;
}
.nfpk-industrial-slider-root.nfpk-industrial-slider-trilingual .nfpk-home-industrial-en .nfpk-hero-slide:before{
  background:var(--nfpk-industrial-gradient-ltr)!important;
}
.nfpk-industrial-slider-root.nfpk-industrial-slider-trilingual .nfpk-home-industrial-slider .nfpk-hero-content{
  background:var(--nfpk-theme-hero-content-bg,rgba(0,0,0,.44))!important;
  border-color:var(--nfpk-theme-hero-content-stroke,#fff)!important;
  transition:background-color .18s ease,border-color .18s ease!important;
}
.nfpk-native-slider-wrapper .nfpk-native-hero-slides .swiper-slide:after{background:var(--nfpk-native-gradient-rtl)!important}
html[dir="ltr"] .nfpk-native-slider-wrapper .nfpk-native-hero-slides .swiper-slide:after{background:var(--nfpk-native-gradient-ltr)!important}

@media(max-width:767px){
  .nfpk-industrial-slider-root.nfpk-industrial-slider-trilingual .nfpk-home-industrial-slider .nfpk-hero-slide:before,
  .nfpk-industrial-slider-root.nfpk-industrial-slider-trilingual .nfpk-home-industrial-en .nfpk-hero-slide:before{
    background:var(--nfpk-industrial-gradient-mobile)!important;
  }
  .nfpk-global-ui{inset-inline-end:16px;bottom:18px}
  .nfpk-theme-toggle,.nfpk-scroll-up{--nfpk-theme-toggle-size:44px;--nfpk-scroll-up-size:44px}
}
@media(prefers-reduced-motion:reduce){
  html,body,.nfpk-theme-toggle,.nfpk-scroll-up,
  .nfpkh3-root *,.nfpkh5-root *,.nfpkf2-root *,
  .nfpk7-trilingual-footer *,.nfpk-industrial-slider-root *{
    transition:none!important;
  }
}
