:root{--npbs-orange:#ff7607;--npbs-ink:#151515;--npbs-muted:#77818c;--npbs-line:#e5e8eb;--npbs-soft:#f4f4f4}
.npbs-wpb-searchcats,.npbs-wpb-featured,.npbs-wpb-topics,.npbs-wpb-news{font-family:inherit;color:var(--npbs-ink);box-sizing:border-box}
.npbs-wpb-search{display:flex;width:100%;margin:0 0 30px}.npbs-wpb-search input[type=search]{flex:1;min-width:0;height:76px;border:1px solid #d8dde2!important;border-radius:0!important;padding:0 28px!important;font-size:18px!important;background:#fff!important;box-shadow:none!important}.npbs-wpb-search button{height:76px;min-width:160px;border:0!important;border-radius:0!important;background:var(--npbs-orange)!important;color:#fff!important;font-size:18px!important;font-weight:700!important;padding:0 28px!important;transform:none!important;box-shadow:none!important}.npbs-wpb-search button:hover{background:#171717!important}
.npbs-wpb-catnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 34px}.npbs-wpb-catnav a{font-size:17px;font-weight:700;color:var(--npbs-ink)!important;text-decoration:none!important;line-height:1.35}.npbs-wpb-catnav a:hover{color:var(--npbs-orange)!important}.npbs-wpb-searchcats.is-wrap .npbs-wpb-catnav{display:flex;flex-wrap:wrap;gap:18px 34px}
.npbs-wpb-section-title{margin:0 0 38px!important;font-size:38px!important;line-height:1.15!important;font-weight:700!important;color:var(--npbs-ink)!important}
.npbs-wpb-featured{padding:0}.npbs-wpb-feature-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.95fr);gap:62px;align-items:start}.npbs-wpb-feature-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#eceff1}.npbs-wpb-feature-image img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .25s ease}.npbs-wpb-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:30px;font-weight:700;color:#a4a9ae}.npbs-wpb-feature-cat,.npbs-wpb-feature-item-cat{display:block;color:var(--npbs-orange);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.npbs-wpb-feature-main .npbs-wpb-feature-cat{margin-top:20px}.npbs-wpb-feature-main h3{margin:10px 0 12px!important;font-size:34px!important;line-height:1.2!important;font-weight:700!important}.npbs-wpb-feature-main h3 a{color:var(--npbs-ink)!important;text-decoration:none!important}.npbs-wpb-feature-main h3 a:hover{color:var(--npbs-orange)!important}.npbs-wpb-feature-main p{margin:0 0 12px;color:#626a72;font-size:15px;line-height:1.65}.npbs-wpb-meta,.npbs-wpb-feature-item-meta{display:flex;align-items:center;gap:8px;color:#7c8791;font-size:13px}.npbs-wpb-meta i,.npbs-wpb-feature-item-meta i{font-style:normal}.npbs-wpb-feature-list{border-top:1px solid var(--npbs-line)}
.npbs-wpb-feature-item,.npbs-wpb-feature-item:hover,.npbs-wpb-feature-item:focus,.npbs-wpb-feature-item:active,.npbs-wpb-feature-item.is-active{position:relative;display:block;width:100%;text-align:left;border:0!important;border-bottom:1px solid var(--npbs-line)!important;border-radius:0!important;background:transparent!important;color:var(--npbs-ink)!important;padding:23px 60px 23px 0!important;box-shadow:none!important;transform:none!important;outline:none!important}.npbs-wpb-feature-item strong{display:block;margin:7px 0 9px;font-size:18px;line-height:1.34;font-weight:700;color:var(--npbs-ink);transition:color .2s ease}.npbs-wpb-feature-item:hover strong,.npbs-wpb-feature-item:focus strong,.npbs-wpb-feature-item.is-active strong{color:var(--npbs-orange)!important}.npbs-wpb-feature-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;width:40px;height:40px;border:1px solid var(--npbs-orange);border-radius:50%;align-items:center;justify-content:center;color:var(--npbs-orange);font-size:17px;line-height:1;background:#fff;transition:.2s ease}.npbs-wpb-feature-item.is-active .npbs-wpb-feature-arrow{background:var(--npbs-orange);color:#fff}
.npbs-wpb-topics{padding:0}.npbs-wpb-topic-list{display:flex;flex-wrap:wrap;gap:12px}.npbs-wpb-topic-list a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid #dfe3e6;border-radius:999px;background:#fff;color:#222!important;font-size:14px;font-weight:600;text-decoration:none!important;transition:.2s ease}.npbs-wpb-topic-list a:hover{border-color:var(--npbs-orange);color:var(--npbs-orange)!important;background:#fff8f2}
.npbs-wpb-news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.npbs-wpb-news-head .npbs-wpb-section-title{margin-bottom:12px!important}.npbs-wpb-news-head p{margin:0;color:#6d7882;font-size:15px;line-height:1.55}.npbs-wpb-viewall{white-space:nowrap;color:#111!important;font-weight:700;text-decoration:none!important}.npbs-wpb-viewall:hover{color:var(--npbs-orange)!important}.npbs-wpb-news-list{border-top:1px solid var(--npbs-line)}.npbs-wpb-news-list a{display:grid;grid-template-columns:190px 1fr 42px;align-items:center;gap:24px;min-height:88px;border-bottom:1px solid var(--npbs-line);color:#111!important;text-decoration:none!important}.npbs-wpb-news-list time{color:#8b959e;font-size:13px;text-transform:uppercase}.npbs-wpb-news-list strong{font-size:18px;line-height:1.35}.npbs-wpb-news-list>a>span{justify-self:end;color:var(--npbs-orange);font-size:22px}.npbs-wpb-news-list a:hover strong{color:var(--npbs-orange)}
@media(max-width:991px){.npbs-wpb-feature-grid{grid-template-columns:1fr;gap:34px}.npbs-wpb-catnav{grid-template-columns:repeat(2,minmax(0,1fr))}.npbs-wpb-news-list a{grid-template-columns:130px 1fr 30px}}
@media(max-width:640px){.npbs-wpb-search{display:block}.npbs-wpb-search input[type=search],.npbs-wpb-search button{width:100%;height:58px}.npbs-wpb-search button{min-width:0}.npbs-wpb-catnav{grid-template-columns:1fr;gap:15px}.npbs-wpb-section-title{font-size:30px!important;margin-bottom:26px!important}.npbs-wpb-feature-main h3{font-size:27px!important}.npbs-wpb-feature-item strong{font-size:16px}.npbs-wpb-news-head{display:block}.npbs-wpb-viewall{display:inline-block;margin-top:16px}.npbs-wpb-news-list a{grid-template-columns:1fr 28px;gap:8px 14px;padding:18px 0}.npbs-wpb-news-list time{grid-column:1}.npbs-wpb-news-list strong{grid-column:1}.npbs-wpb-news-list>a>span{grid-column:2;grid-row:1/3}}

/* v1.0.1 compact Featured list + Industic pseudo-arrow cleanup */
.npbs-wpb-feature-item,
.npbs-wpb-feature-item:hover,
.npbs-wpb-feature-item:focus,
.npbs-wpb-feature-item:active,
.npbs-wpb-feature-item.is-active{
  padding:16px 50px 16px 0!important;
  min-height:0!important;
}
.npbs-wpb-feature-item strong{
  margin:5px 0 6px;
  font-size:16px;
  line-height:1.3;
}
.npbs-wpb-feature-item-cat{font-size:10px;line-height:1.25}
.npbs-wpb-feature-item-meta{font-size:12px;line-height:1.3}
.npbs-wpb-feature-arrow{width:34px;height:34px;font-size:15px}

/* The Industic theme can add its own link/button arrow through pseudo-elements.
   These components already render their own arrow, so suppress theme-generated ones. */
.npbs-wpb-news .npbs-wpb-viewall:before,
.npbs-wpb-news .npbs-wpb-viewall:after,
.npbs-wpb-news-list>a:before,
.npbs-wpb-news-list>a:after{
  content:none!important;
  display:none!important;
}
.npbs-wpb-news .npbs-wpb-viewall{
  position:relative!important;
  padding-right:0!important;
}
.npbs-wpb-news-list>a{
  position:relative!important;
}

/* v1.0.2 ---------------------------------------------------------------
   Restore Featured right-column title size and harden NPBS News against
   stray/empty rows introduced by empty posts or theme-generated markup. */
.npbs-wpb-feature-item strong{
  font-size:18px!important;
  line-height:1.34!important;
}

/* Never show a news row unless it contains a real article title. */
.npbs-wpb-news-list>a:empty,
.npbs-wpb-news-list>a:not(:has(strong)),
.npbs-wpb-news-list>a:has(strong:empty){
  display:none!important;
}

/* v1.0.3 — NPBS News uses the theme's own button/arrow styling.
   Disable all arrow decorations generated by this plugin in the News component. */
.npbs-news .npbs-news__arrow,
.npbs-news .npbs-news-arrow,
.npbs-news .npbs-news__item-arrow,
.npbs-news [class*="news"][class*="arrow"]{
  display:none !important;
}
.npbs-news .npbs-news__item::before,
.npbs-news .npbs-news__item::after,
.npbs-news .npbs-news__link::before,
.npbs-news .npbs-news__link::after{
  content:none !important;
  display:none !important;
}

/* v1.0.4 — View All arrow removed from plugin markup.
   The Industic theme now has complete control over the View All button/arrow. */
.npbs-wpb-news .npbs-wpb-viewall > span{
  display:none !important;
}


/* v1.0.7 — Correct NPBS News spacing selectors.
   Actual markup uses -head and -list, not __head / __list. */
.npbs-wpb-news .npbs-wpb-news-head{
  display:block !important;
  margin:0 0 24px !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
}
.npbs-wpb-news .npbs-wpb-news-head > div{
  max-width:900px !important;
  margin:0 !important;
  padding:0 !important;
}
.npbs-wpb-news .npbs-wpb-news-head .npbs-wpb-section-title{
  margin:0 0 12px !important;
}
.npbs-wpb-news .npbs-wpb-news-head p{
  margin:0 !important;
  padding:0 !important;
}
.npbs-wpb-news .npbs-wpb-news-list{
  margin:0 !important;
  padding:0 !important;
}

/* v1.0.8 — compact NPBS News layout
   Target: description -> first news row spacing similar to the reference screenshot. */
.npbs-wpb-news.npbs-wpb-news--compact{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
}

.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-head.npbs-wpb-news-head--compact{
  display:block !important;
  position:static !important;
  float:none !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 0 26px 0 !important;
  padding:0 !important;
  inset:auto !important;
  transform:none !important;
}

.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-head.npbs-wpb-news-head--compact > div{
  display:block !important;
  position:static !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}

.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-section-title{
  margin:0 0 12px 0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
}

.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-head p{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  line-height:1.55 !important;
}

.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-list{
  display:block !important;
  clear:both !important;
  position:static !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  top:auto !important;
  transform:none !important;
  border-top:1px solid var(--npbs-line) !important;
}

/* Prevent theme/WPBakery utility classes from inserting vertical spacer-like behavior
   inside this component. */
.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-head:before,
.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-head:after{
  content:none !important;
  display:none !important;
}

/* v1.0.9 — final compact News header spacing after cache-busting fix */
.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-head.npbs-wpb-news-head--compact{
  margin-bottom:22px !important;
}
.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-section-title{
  margin-bottom:10px !important;
}
.npbs-wpb-news.npbs-wpb-news--compact .npbs-wpb-news-list{
  margin-top:0 !important;
}

/* v1.1.0 — PakFactory-inspired horizontal Blog navigation + expanding search */
.npbs-wpb-searchcats.npbs-wpb-searchcats--bar{
  width:100%;
  margin:0;
  padding:0;
  background:#fff;
  border-top:1px solid #eceff1;
  border-bottom:1px solid #eceff1;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
  width:100%;
  display:flex;
  align-items:center;
  gap:28px;
  min-height:72px;
  padding:0;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav{
  display:flex;
  align-items:center;
  gap:26px;
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
  display:inline-flex;
  align-items:center;
  min-height:72px;
  color:#171717 !important;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  text-decoration:none !important;
  transition:color .22s ease;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus{
  color:#ff7607 !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::before,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::after{
  content:none !important;
  display:none !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{
  position:relative;
  flex:0 0 auto;
  width:225px;
  height:46px;
  margin:0 0 0 auto !important;
  padding:0 !important;
  border:1px solid #dfe3e6;
  border-radius:999px;
  background:#fff;
  display:flex;
  align-items:center;
  overflow:hidden;
  box-sizing:border-box;
  transition:
    width .34s cubic-bezier(.22,.61,.36,1),
    border-color .22s ease,
    box-shadow .22s ease;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{
  width:320px;
  border-color:#ff7607;
  box-shadow:0 0 0 2px rgba(255,118,7,.09);
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__icon{
  position:absolute;
  left:16px;
  top:50%;
  width:15px;
  height:15px;
  transform:translateY(-50%);
  border:1.8px solid #6f757a;
  border-radius:50%;
  box-sizing:border-box;
  pointer-events:none;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__icon::after{
  content:"";
  position:absolute;
  width:7px;
  height:1.8px;
  right:-5px;
  bottom:-2px;
  background:#6f757a;
  border-radius:2px;
  transform:rotate(45deg);
  transform-origin:left center;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search input[type="search"]{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 18px 0 45px !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#2a2a2a !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:46px !important;
  border-radius:999px !important;
  -webkit-appearance:none;
  appearance:none;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search input[type="search"]::placeholder{
  color:#7a8085;
  opacity:1;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance:none;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search button{
  display:none !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search::before,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search::after{
  content:none !important;
  display:none !important;
}

@media (max-width:1320px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{gap:20px}
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav{gap:18px}
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{font-size:13px}
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{width:200px}
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{width:280px}
}
@media (max-width:1080px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
    flex-wrap:wrap;
    gap:10px;
    padding:12px 0;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav{
    order:2;
    width:100%;
    overflow-x:auto;
    gap:22px;
    scrollbar-width:none;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav::-webkit-scrollbar{display:none}
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
    min-height:40px;
    flex:0 0 auto;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{
    order:1;
    margin-left:0 !important;
    width:235px;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{width:310px}
}
@media (max-width:620px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{
    width:100%;
  }
}

/* v1.1.1 — two-row category navigation with vertically centered search */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:42px !important;
  min-height:112px !important;
  padding:14px 0 !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:visible !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  column-gap:30px;
  row-gap:0;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
  min-height:32px !important;
  justify-content:flex-start;
  font-size:14px !important;
  line-height:1.25 !important;
  white-space:nowrap;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{
  align-self:center !important;
  justify-self:end !important;
  margin:0 !important;
  width:225px;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{
  width:315px;
}

/* Keep everything left aligned inside the WPBakery column/container */
.npbs-wpb-searchcats--bar{
  text-align:left !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
  margin-left:0 !important;
  margin-right:0 !important;
}

@media (max-width:1180px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
    column-gap:28px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    column-gap:20px;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
    font-size:13px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{
    width:205px;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{
    width:270px;
  }
}

@media (max-width:900px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    padding:14px 0 !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{
    order:1;
    width:100% !important;
    max-width:360px;
    align-self:flex-start !important;
    justify-self:auto !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav{
    order:2;
    width:100%;
    gap:10px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:8px;
  }
}

@media (max-width:560px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    grid-template-columns:1fr;
  }
}

/* v1.1.2 — fixed category positions + true left alignment + PakFactory-style underline */

/* Reserve a permanent search column so expanding search can NEVER compress/move categories. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 350px !important;
  align-items:center !important;
  column-gap:36px !important;
  width:100% !important;
  max-width:none !important;
  min-height:112px !important;
  padding:14px 0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Categories are packed from the LEFT, not distributed across the available width. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Give each of the four category positions a stable width.
   Search expansion therefore has no effect on them. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row > .npbs-wpb-searchcats__cat{
  flex:0 0 25% !important;
  width:25% !important;
  min-width:0 !important;
  max-width:25% !important;
  box-sizing:border-box !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

/* Link itself remains content-width so underline only sits beneath the text. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  padding:0 0 7px 0 !important;
  color:#171717 !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  transition:color .24s ease !important;
}

/* Undo earlier pseudo-element suppression and create animated underline. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::before{
  content:none !important;
  display:none !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  bottom:1px !important;
  width:0 !important;
  height:2px !important;
  background:#ff7607 !important;
  border:0 !important;
  border-radius:2px !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transition:width .28s cubic-bezier(.22,.61,.36,1) !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus{
  color:#ff7607 !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover::after,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus::after{
  width:100% !important;
}

/* Search lives inside a permanent 350px slot and expands LEFT inside that slot. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{
  grid-column:2 !important;
  justify-self:end !important;
  align-self:center !important;
  width:225px !important;
  max-width:350px !important;
  margin:0 !important;
  transform-origin:right center !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{
  width:340px !important;
}

/* Force the entire component to begin at the WPBakery column's actual left edge. */
.npbs-wpb-searchcats.npbs-wpb-searchcats--bar,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
  text-align:left !important;
  justify-items:start !important;
}

/* Medium desktop: reserve a slightly smaller but still fixed search slot. */
@media (max-width:1200px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
    grid-template-columns:minmax(0,1fr) 300px !important;
    column-gap:26px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search{
    width:205px !important;
    max-width:300px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{
    width:290px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
    font-size:13px !important;
  }
}

/* Tablet: search moves above, categories become two fixed columns. */
@media (max-width:900px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:hover,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search:focus-within,
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__search.is-filled{
    order:1 !important;
    width:min(100%,360px) !important;
    max-width:360px !important;
    align-self:flex-start !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__nav{
    order:2 !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    flex-wrap:wrap !important;
    row-gap:8px !important;
  }
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row > .npbs-wpb-searchcats__cat{
    flex:0 0 50% !important;
    width:50% !important;
    max-width:50% !important;
  }
}

/* Mobile: one category per row. */
@media (max-width:560px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row > .npbs-wpb-searchcats__cat{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* v1.1.3 — PakFactory-style text-width underline with downward end hook */

/* Keep the fixed two-row category slots from v1.1.2,
   but ensure the decorative underline follows only the text width. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row > .npbs-wpb-searchcats__cat{
  position:relative !important;
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  flex:0 0 25% !important;
  box-sizing:border-box !important;
  justify-content:flex-start !important;
  align-items:center !important;
  text-align:left !important;
  padding:0 0 8px 0 !important;
  overflow:visible !important;
}

/* Create a content-width inner visual anchor by using background-size animation
   instead of stretching the pseudo-element across the full slot. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
  color:#171717 !important;
  text-decoration:none !important;
  background-image:linear-gradient(#ff7607,#ff7607) !important;
  background-repeat:no-repeat !important;
  background-position:left calc(100% - 1px) !important;
  background-size:0 2px !important;
  transition:
    color .24s ease,
    background-size .30s cubic-bezier(.22,.61,.36,1) !important;
}

/* Remove the previous long underline pseudo-element. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:calc(75% - 1px) !important;
  left:auto !important;
  bottom:0 !important;
  width:8px !important;
  height:2px !important;
  background:#ff7607 !important;
  border:0 !important;
  border-radius:2px !important;
  opacity:0 !important;
  transform:rotate(42deg) scaleX(0) !important;
  transform-origin:left center !important;
  transition:
    transform .15s ease .23s,
    opacity .10s ease .22s !important;
}

/* The hook needs to sit after the text, not at the end of the grid slot.
   Use a generated inline-width helper effect with clip-path via ::before. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  bottom:-1px !important;
  width:100% !important;
  height:10px !important;
  pointer-events:none !important;
  opacity:0 !important;
}

/* Hover/focus: text turns orange and underline grows from left to right. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus{
  color:#ff7607 !important;
  background-size:calc(100% - 75%) 2px !important;
}

/* End hook appears after underline reaches the text end. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover::after,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus::after{
  opacity:1 !important;
  transform:rotate(42deg) scaleX(1) !important;
}

/* More reliable implementation for modern browsers:
   make the actual clickable text box shrink-wrap inside the fixed 25% slot
   using an inline child-like behavior with fit-content width. */
@supports (width: fit-content){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row > .npbs-wpb-searchcats__cat{
    width:fit-content !important;
    max-width:25% !important;
    margin-right:calc(25% - max-content) !important;
  }
}

/* Practical fallback: use a nested underline effect from text metrics.
   This keeps the visual line much closer to label width than the full slot. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat{
  background-size:0 2px !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus{
  background-size:100% 2px !important;
}

/* Override slot behavior to use fixed basis while keeping the link itself shrink-wrapped. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:center !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row > .npbs-wpb-searchcats__cat{
  flex:none !important;
  width:fit-content !important;
  max-width:100% !important;
  justify-self:start !important;
}

/* Now the hook can use the link's true text width. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::after{
  right:-7px !important;
  bottom:0 !important;
}

/* Tablet/mobile maintain fixed two-column/one-column behavior with shrink-wrapped labels. */
@media (max-width:900px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:560px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    grid-template-columns:1fr !important;
  }
}

/* v1.1.4 — correct PakFactory-style underline end hook
   The hook is a tiny downward fold at the text underline's right edge. */

/* Keep label shrink-wrapped to text width inside the fixed 4-column grid. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row > .npbs-wpb-searchcats__cat{
  position:relative !important;
  display:inline-block !important;
  width:fit-content !important;
  max-width:100% !important;
  justify-self:start !important;
  padding:0 0 8px 0 !important;
  background:none !important;
  overflow:visible !important;
}

/* Horizontal underline: exactly the label width, animated left -> right. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::after{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  left:0 !important;
  right:auto !important;
  bottom:1px !important;
  width:100% !important;
  height:2px !important;
  background:#ff7607 !important;
  border:0 !important;
  border-radius:2px !important;
  opacity:1 !important;
  transform:scaleX(0) !important;
  transform-origin:left center !important;
  transition:transform .28s cubic-bezier(.22,.61,.36,1) !important;
}

/* Tiny end fold: only 7px long, starts at underline end and angles gently downward. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::before{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  left:calc(100% - 1px) !important;
  right:auto !important;
  bottom:1px !important;
  width:7px !important;
  height:2px !important;
  background:#ff7607 !important;
  border:0 !important;
  border-radius:2px !important;
  opacity:0 !important;
  transform:rotate(38deg) scaleX(0) !important;
  transform-origin:left center !important;
  transition:
    transform .14s ease .22s,
    opacity .10s ease .21s !important;
  pointer-events:none !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus{
  color:#ff7607 !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover::after,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus::after{
  transform:scaleX(1) !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover::before,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus::before{
  opacity:1 !important;
  transform:rotate(38deg) scaleX(1) !important;
}

/* Responsive layout remains fixed-position without changing hover geometry. */
@media (max-width:900px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:560px){
  .npbs-wpb-searchcats--bar .npbs-wpb-searchcats__row{
    grid-template-columns:1fr !important;
  }
}

/* v1.1.5 — inward left-down hook at underline end */

/* Keep underline behavior from v1.1.4. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::after{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  left:0 !important;
  right:auto !important;
  bottom:1px !important;
  width:100% !important;
  height:2px !important;
  background:#ff7607 !important;
  border:0 !important;
  border-radius:2px !important;
  opacity:1 !important;
  transform:scaleX(0) !important;
  transform-origin:left center !important;
  transition:transform .28s cubic-bezier(.22,.61,.36,1) !important;
}

/* Inward hook:
   anchored at the underline's right end,
   but folds DOWN and LEFT instead of extending outward to the right. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat::before{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  right:-1px !important;
  left:auto !important;
  bottom:1px !important;
  width:7px !important;
  height:2px !important;
  background:#ff7607 !important;
  border:0 !important;
  border-radius:2px !important;
  opacity:0 !important;
  transform:rotate(-38deg) scaleX(0) !important;
  transform-origin:right center !important;
  transition:
    transform .14s ease .22s,
    opacity .10s ease .21s !important;
  pointer-events:none !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover::after,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus::after{
  transform:scaleX(1) !important;
}

.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:hover::before,
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat:focus::before{
  opacity:1 !important;
  transform:rotate(-38deg) scaleX(1) !important;
}

/* v1.2.0 — NPBS Hero Heading */
.npbs-hero-heading{margin-top:var(--npbs-hh-mt,0px);margin-bottom:var(--npbs-hh-mb,0px)}
.npbs-hero-heading--left{text-align:left}.npbs-hero-heading--center{text-align:center}.npbs-hero-heading--right{text-align:right}
.npbs-hero-heading__eyebrow{
  margin:0 0 var(--npbs-hh-gap-eyebrow,18px);
  color:var(--npbs-hh-eyebrow,#ff7607);
  font-size:14px;line-height:1.3;font-weight:700;letter-spacing:.35px;text-transform:uppercase;
}
.npbs-hero-heading__title{
  margin:0 !important;padding:0 !important;
  color:var(--npbs-hh-heading,#1b1b1b) !important;
  font-size:var(--npbs-hh-font-lg,43px) !important;
  line-height:var(--npbs-hh-line-lg,57px) !important;
  font-weight:var(--npbs-hh-weight,700) !important;
  text-transform:none !important;
}
.npbs-hero-heading__description{
  margin-top:var(--npbs-hh-gap-desc,34px);
  color:var(--npbs-hh-desc,#666) !important;
  font-size:16px;line-height:1.55;max-width:920px;
}
.npbs-hero-heading--center .npbs-hero-heading__description{margin-left:auto;margin-right:auto}
.npbs-hero-heading--right .npbs-hero-heading__description{margin-left:auto}
.npbs-hero-heading__description p{margin:0 !important;color:inherit !important}
@media(max-width:1024px){
  .npbs-hero-heading__title{font-size:var(--npbs-hh-font-md,43px) !important;line-height:var(--npbs-hh-line-md,57px) !important}
}
@media(max-width:767px){
  .npbs-hero-heading__eyebrow{font-size:13px}
  .npbs-hero-heading__title{font-size:var(--npbs-hh-font-sm,34px) !important;line-height:var(--npbs-hh-line-sm,45px) !important}
  .npbs-hero-heading__description{font-size:15px;line-height:1.55}
}

/* v1.3.0 — Recommended Topics */
.npbs-wpb-topics--recommended{margin:0;padding:0}
.npbs-wpb-recommended{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.npbs-wpb-recommended__label{color:#62676c;font-size:15px;line-height:1.4;font-weight:600;white-space:nowrap}
.npbs-wpb-recommended__items{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.npbs-wpb-topics--recommended .npbs-wpb-topic-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid #dfe3e6;border-radius:999px;background:#fff;color:#222!important;font-size:14px;line-height:1;font-weight:600;text-decoration:none!important;transition:border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}
.npbs-wpb-topics--recommended .npbs-wpb-topic-pill:hover,.npbs-wpb-topics--recommended .npbs-wpb-topic-pill:focus{color:#ff7607!important;border-color:#ff7607;box-shadow:0 3px 14px rgba(0,0,0,.06);transform:translateY(-1px)}
.npbs-wpb-topics--recommended .npbs-wpb-topic-pill::before,.npbs-wpb-topics--recommended .npbs-wpb-topic-pill::after{content:none!important;display:none!important}
@media(max-width:767px){.npbs-wpb-recommended{align-items:flex-start;flex-direction:column;gap:12px}.npbs-wpb-recommended__items{gap:10px}.npbs-wpb-topics--recommended .npbs-wpb-topic-pill{min-height:42px;padding:0 16px;font-size:13px}}

/* v1.4.0 — Category Breadcrumb & Hero Control Edition */

/* Hide Industic fallback breadcrumb automatically on pages that use NPBS Hero Heading. */
body.npbs-hide-industic-breadcrumb .wp-breadcrumb{
  display:none !important;
}

/* NPBS Blog Breadcrumb — PakFactory-inspired compact row */
.npbs-blog-breadcrumb{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  padding-top:var(--npbs-bc-pt,20px);
  padding-bottom:var(--npbs-bc-pb,20px);
  font-size:var(--npbs-bc-size,14px);
  line-height:1.4;
  font-weight:500;
  background:#fff;
}
.npbs-blog-breadcrumb__parent{
  color:var(--npbs-bc-parent,#9b9b9b) !important;
  text-decoration:none !important;
  transition:color .2s ease;
}
.npbs-blog-breadcrumb__parent:hover,
.npbs-blog-breadcrumb__parent:focus{
  color:#ff7607 !important;
}
.npbs-blog-breadcrumb__sep{
  color:var(--npbs-bc-sep,#c9c9c9);
  font-size:18px;
  font-weight:300;
  line-height:1;
}
.npbs-blog-breadcrumb__current{
  color:var(--npbs-bc-current,#2a2a2a);
  font-weight:600;
}
.npbs-blog-breadcrumb a::before,
.npbs-blog-breadcrumb a::after{
  content:none !important;
  display:none !important;
}

/* Optional category landing hero backgrounds. Use WPBakery Stretch Row and Content for full-width bands. */
.npbs-hero-heading{
  padding-top:var(--npbs-hh-pt,0px);
  padding-bottom:var(--npbs-hh-pb,0px);
}
.npbs-hero-heading--light{
  background:#f7f4ef;
}
.npbs-hero-heading--custom-bg{
  background:var(--npbs-hh-bg,#f7f4ef);
}

/* Active Blog category — same PakFactory-style underline language as hover. */
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat.is-current{
  color:#ff7607 !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat.is-current::after{
  transform:scaleX(1) !important;
}
.npbs-wpb-searchcats--bar .npbs-wpb-searchcats__cat.is-current::before{
  opacity:1 !important;
  transform:rotate(-38deg) scaleX(1) !important;
}

@media(max-width:767px){
  .npbs-blog-breadcrumb{
    gap:9px;
    font-size:13px;
  }
}

/* v1.4.1 — robust Industic breadcrumb suppression for NPBS Hero Heading */
body.npbs-hide-industic-breadcrumb .wp-breadcrumb,
body:has(.npbs-hero-heading[data-hide-industic-breadcrumb="yes"]) .wp-breadcrumb{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}

/* Never hide the custom NPBS Blog Breadcrumb */
body:has(.npbs-hero-heading[data-hide-industic-breadcrumb="yes"]) .npbs-blog-breadcrumb{
    display:flex !important;
    visibility:visible !important;
    height:auto !important;
    overflow:visible !important;
}
