/* Netfly Product Filters - frontend v0.4.0
   Scoped frontend CSS only. No inline CSS. */

.widget_netfly_product_filters_widget,
.nfp-sidebar,
.nfp-loop-active{
  --nfp-text:#23262b;
  --nfp-muted:#747b84;
  --nfp-line:#e6e9ed;
  --nfp-soft:#f7f8f9;
  --nfp-chip:#ffffff;
  --nfp-accent:#17181a;
  --nfp-radius:16px;
  --nfp-shadow:0 8px 24px rgba(20,26,33,.055),0 1px 2px rgba(20,26,33,.055);
  --nfp-font:inherit;
}

.nfp-sidebar,
.nfp-sidebar *,
.nfp-sidebar *:before,
.nfp-sidebar *:after,
.nfp-loop-active,
.nfp-loop-active *{box-sizing:border-box}

.nfp-sidebar{
  color:var(--nfp-text);
  font-family:var(--nfp-font);
  font-size:14px;
  line-height:1.45;
  max-width:100%;
}

/* Mobile toggle for standalone shortcode only */
.nfp-mobile-toggle-wrap{display:none;margin:0 0 14px}
.nfp-mobile-toggle{
  border:1px solid var(--nfp-accent);
  background:var(--nfp-accent);
  color:#fff;
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
}

/* Sidebar heading */
.nfp-filter-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
.nfp-filter-heading>span {
  color: #121417;
  font-size: 18px!important;
  line-height: 1.15;
  font-weight: 560!important;
  letter-spacing: -.01em!important;
}
.nfp-clear-inline{
  color:#5e6670!important;
  font-size:13px;
  line-height:1;
  font-weight:500;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
.nfp-clear-inline:hover{color:#111!important}

/* Active chips above product loop */
.nfp-loop-active {
  display: flex;
  align-items: center;
  gap: 9px!important;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  margin: 0 0 16px!important;
  padding: 0!important;
  color: var(--nfp-text);
  clear: both;
}
.nfp-loop-active--moved{grid-column:1/-1}
.shop-loop-head .nfp-loop-active{display:none!important}
.nfp-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  border: 1px solid #cfd9e4!important;
  border-radius: 999px;
  padding: 8px 13px!important;
  background: #f6f9fc!important;
  color: #1f2933!important;
  text-decoration: none!important;
  font-size: 13px;
  line-height: 1;
  font-weight: 560!important;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(20,26,33,.045)!important;
  transition: background .15s,border-color .15s,color .15s;
  border-color: #d5dae0!important;
}
.nfp-chip:hover {
  background: #ffffff!important;
  border-color: #b7c4d1!important;
  color: #111315!important;
  box-shadow: 0 4px 12px rgba(20,26,33,.065)!important;
}
.nfp-chip-x {
  font-size: 16px;
  line-height: 1;
  color: #74808c!important;
  font-weight: 700!important;
  margin-top: -1px;
}
.nfp-chip-prefix{display:none;color:#5e6670;font-weight:520}

.nfp-clear-all{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0!important;
  background:transparent!important;
  color:#5e6670!important;
  padding:8px 4px!important;
  font-size:13px;
  font-weight:560!important;
  line-height:1;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
.nfp-clear-all:hover{color:#111!important}

.nfp-active{display:none!important}

/* Filter groups */
.nfp-card {
  background: #fff!important;
  border: 1px solid #e8ebef!important;
  border-radius: var(--nfp-radius)!important;
  box-shadow: 0 7px 18px rgba(20,26,33,.045),0 1px 2px rgba(20,26,33,.04)!important;
  margin: 0!important;
  padding: 0!important;
  overflow: hidden!important;
}
.nfp-card-head{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
}
.nfp-card-toggle,
.nfp-card-toggle:hover,
.nfp-card-toggle:focus {
  appearance: none;
  -webkit-appearance: none;
  display: flex!important;
  align-items: center!important;
  gap: 8px!important;
  width: 100%!important;
  min-height: 0!important;
  margin: 0!important;
  padding: 14px 15px!important;
  border: 0!important;
  border-bottom: 1px solid var(--nfp-line)!important;
  border-radius: 0!important;
  background: #fff!important;
  color: var(--nfp-text)!important;
  box-shadow: none!important;
  text-align: left!important;
  text-transform: none!important;
  letter-spacing: 0!important;
  font-family: var(--nfp-font)!important;
  font-size: 14.5px!important;
  font-weight: 600!important;
  line-height: 1.2!important;
  cursor: pointer;
}
.nfp-card-toggle>span:first-child{flex:1;min-width:0}
.nfp-chevron{
  flex:0 0 auto;
  color:#69727c;
  font-size:16px;
  line-height:1;
  transition:transform .15s ease;
}
.nfp-card:not(.is-open) .nfp-chevron{transform:rotate(-90deg)}
.nfp-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:var(--nfp-accent);
  color:#fff;
  font-size:11px;
  font-weight:600;
  line-height:1;
}
.nfp-card-body{
  padding:12px 15px 14px!important;
  margin:0!important;
  background:#fff!important;
  border:0!important;
}
.nfp-card:not(.is-open) .nfp-card-body{display:none!important}

.nfp-sidebar input.nfp-term-search,
.nfp-term-search{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin:0 0 10px!important;
  padding:0 12px!important;
  border:1px solid #dfe4e9!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--nfp-text)!important;
  font-family:var(--nfp-font)!important;
  font-size:13.5px!important;
  font-weight:400!important;
  line-height:38px!important;
  box-shadow:none!important;
}
.nfp-term-search:focus{
  outline:0!important;
  border-color:#b6bec7!important;
  box-shadow:0 0 0 3px rgba(17,18,20,.04)!important;
}

.nfp-options{display:flex;flex-direction:column;gap:1px}
.nfp-option {
  display: flex!important;
  align-items: center!important;
  gap: 10px!important;
  min-height: 31px!important;
  margin: 0!important;
  padding: 4px 0!important;
  color: #343941!important;
  font-family: var(--nfp-font)!important;
  font-size: 13.5px!important;
  line-height: 1.35!important;
  font-weight: 400!important;
  cursor: pointer;
}
.nfp-option[hidden],
.nfp-term-extra[hidden]{display:none!important}
.nfp-option:hover{color:#111!important}
.nfp-option input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-grid!important;
  place-content:center!important;
  flex:0 0 auto!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  margin:0!important;
  border:1.5px solid #b9c2cc!important;
  border-radius:5px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer;
}
.nfp-option input[type="checkbox"]:checked{
  background:var(--nfp-accent)!important;
  border-color:var(--nfp-accent)!important;
}
.nfp-option input[type="checkbox"]:checked:before{
  content:'✓';
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1;
}
.nfp-option span {
  flex: 1;
  min-width: 0;
  font-weight: 400!important;
}

.nfp-show-more{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#25292f!important;
  font-family:var(--nfp-font)!important;
  font-size:13px!important;
  font-weight:550!important;
  line-height:1.2!important;
  text-decoration:none!important;
  cursor:pointer;
  box-shadow:none!important;
}
.nfp-show-more:after{content:'⌄';font-size:14px;color:#59616b}
.nfp-show-more:hover{color:#111!important;text-decoration:underline!important;text-underline-offset:3px}
.nfp-filter-form.is-submitting{opacity:.72;pointer-events:none}
.nfp-nojs-actions{margin-top:14px}
.nfp-apply{background:#111;color:#fff;border:1px solid #111;border-radius:999px;padding:10px 16px;font-weight:600;cursor:pointer}
.nfp-empty{color:#777;font-size:13px;padding:3px 0}
.nfp-mobile-head{display:none}.nfp-overlay{display:none}

@media(min-width:1025px){
  .nfp-sidebar{padding-right:12px}
  .wd-sidebar .nfp-loop-active{display:none!important}
}

/* Standalone mobile drawer only when shortcode is not inside Woodmart sidebar. */
@media(max-width:1024px){
  .nfp-mobile-toggle-wrap{display:block}
  .nfp-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:99999;width:min(390px,88vw);background:#fff;overflow:auto;padding:18px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 40px rgba(0,0,0,.18)}
  body.nfp-drawer-open .nfp-sidebar{transform:translateX(0)}
  .nfp-mobile-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--nfp-line)}
  .nfp-mobile-head strong{font-size:17px;font-weight:600;color:var(--nfp-text)}
  .nfp-mobile-close{border:1px solid #e0e3e7;background:#fff;color:#111;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1;box-shadow:none}
  .nfp-overlay{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.38)}
  body.nfp-drawer-open .nfp-overlay{display:block}
  .nfp-loop-active{margin:0!important}
  .nfp-card{margin-bottom:12px!important}
  .nfp-card-toggle{font-size:14.5px!important;padding:13px 14px!important}
  .nfp-card-body{padding:11px 14px 13px!important}
  .nfp-option{font-size:13px!important;padding:5px 0!important;min-height:33px!important}
}

/* Woodmart/custom sidebar widgets already live inside an off-canvas sidebar on mobile.
   In widget context, render filters inline and do not add a second Netfly drawer button. */
@media(max-width:1024px){
  .wd-sidebar .nfp-mobile-toggle-wrap,
  .wd-sidebar .nfp-mobile-head,
  .wd-sidebar .nfp-overlay,
  .widget_netfly_product_filters_widget .nfp-mobile-toggle-wrap,
  .widget_netfly_product_filters_widget .nfp-mobile-head,
  .widget_netfly_product_filters_widget .nfp-overlay,
  .nfp-widget-context .nfp-mobile-toggle-wrap,
  .nfp-widget-context .nfp-mobile-head,
  .nfp-widget-context .nfp-overlay{display:none!important}

  .wd-sidebar .nfp-sidebar,
  .widget_netfly_product_filters_widget .nfp-sidebar,
  .nfp-widget-context .nfp-sidebar{position:static!important;top:auto!important;left:auto!important;bottom:auto!important;z-index:auto!important;width:auto!important;background:transparent!important;overflow:visible!important;padding:0!important;transform:none!important;transition:none!important;box-shadow:none!important}
}

.nfp-option.nfp-depth-1{padding-left:18px!important}
.nfp-option.nfp-depth-2{padding-left:34px!important}
.nfp-option.nfp-depth-3{padding-left:50px!important}
.nfp-option.nfp-depth-1>span:last-child:before,
.nfp-option.nfp-depth-2>span:last-child:before,
.nfp-option.nfp-depth-3>span:last-child:before{content:'↳ ';color:#9aa2ad;font-weight:400}
.nfp-option-color input[type="checkbox"] {
  border-radius: 999px!important;
  position: absolute!important;
  opacity: 0!important;
  width: 1px!important;
  height: 1px!important;
  min-width: 1px!important;
}
.nfp-color-swatch{display:inline-block!important;width:18px!important;height:18px!important;min-width:18px!important;border-radius:5px!important;border:1px solid #d6dbe1!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important}
.nfp-option-color input[type="checkbox"] + .nfp-color-swatch{margin-left:-2px!important}
.nfp-option-color input[type="checkbox"]:checked + .nfp-color-swatch{outline:2px solid #17181a;outline-offset:2px}

.nfp-card[data-nfp-type="price"] .nfp-option input[type="checkbox"]{border-radius:999px!important}
.nfp-card[data-nfp-type="price"] .nfp-option input[type="checkbox"]:checked:before{content:'';width:7px;height:7px;border-radius:999px;background:#fff;display:block}
.nfp-card[data-nfp-type="product_cat"] .nfp-option.nfp-depth-0>span:last-child{font-weight:500!important}

.nfp-sidebar .nfp-card .nfp-card-body input.nfp-term-search[type="search"]{width:calc(100% - 0px)!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:block!important;float:none!important;clear:both!important;}
.nfp-sidebar .nfp-card .nfp-card-body{overflow:hidden!important;}
.nfp-sidebar .nfp-card-toggle{font-weight:520!important;}
.nfp-sidebar .nfp-filter-heading>span{font-weight:560!important;}

.nfp-card[data-nfp-type="product_cat"] .nfp-options{
  gap:2px!important;
}
.nfp-option-row{
  display:flex!important;
  align-items:center!important;
  min-height:31px!important;
  margin:0!important;
  padding:0!important;
}
.nfp-option-row[hidden]{display:none!important}
.nfp-cat-row.nfp-depth-0{padding-left:0!important}
.nfp-cat-row.nfp-depth-1{padding-left:14px!important}
.nfp-cat-row.nfp-depth-2{padding-left:28px!important}
.nfp-cat-row.nfp-depth-3{padding-left:42px!important}
.nfp-cat-expander{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  margin:0 5px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#8a93a0!important;
  box-shadow:none!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:500!important;
  cursor:pointer!important;
  transform:rotate(0deg);
  transition:transform .14s ease, background .14s ease, color .14s ease;
}
.nfp-cat-expander.has-children:hover{
  background:#f2f4f7!important;
  color:#1f2933!important;
}
.nfp-cat-expander.is-open{transform:rotate(90deg)}
.nfp-cat-expander:not(.has-children){cursor:default!important;visibility:hidden!important}
.nfp-card[data-nfp-type="product_cat"] .nfp-option{
  flex:1 1 auto!important;
  min-width:0!important;
  padding:4px 0!important;
  gap:9px!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-option span{
  overflow:hidden;
  text-overflow:ellipsis;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-cat-row.nfp-depth-0 .nfp-option span{
  font-weight:520!important;
  color:#2d333b!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-cat-row.nfp-depth-1 .nfp-option span,
.nfp-card[data-nfp-type="product_cat"] .nfp-cat-row.nfp-depth-2 .nfp-option span,
.nfp-card[data-nfp-type="product_cat"] .nfp-cat-row.nfp-depth-3 .nfp-option span {
  color: #59616c!important;
  font-size: 13.25px!important;
  font-weight: 400!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-option.nfp-depth-1,
.nfp-card[data-nfp-type="product_cat"] .nfp-option.nfp-depth-2,
.nfp-card[data-nfp-type="product_cat"] .nfp-option.nfp-depth-3{
  padding-left:0!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-option.nfp-depth-1>span:last-child:before,
.nfp-card[data-nfp-type="product_cat"] .nfp-option.nfp-depth-2>span:last-child:before,
.nfp-card[data-nfp-type="product_cat"] .nfp-option.nfp-depth-3>span:last-child:before{
  content:none!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-option input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  border-radius:5px!important;
}

/* v0.6.3: clearer selected category path */
.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-option span{
  color:#15171a!important;
  font-weight:600!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor > .nfp-option span{
  color:#23272d!important;
  font-weight:580!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-branch:not(.nfp-row-selected):not(.nfp-row-ancestor) > .nfp-option span{
  color:#4b535d!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-option:after {
  content: none!important;
  display: none!important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  border-radius: 999px;
  background: #17181a;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor > .nfp-cat-expander.has-children,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-cat-expander.has-children{
  color:#17181a!important;
}

/* v0.6.3: our chips replace Woodmart layered-nav active filters on product archives */
.woocommerce.archive .wd-active-filters,
.post-type-archive-product .wd-active-filters,
.tax-product_cat .wd-active-filters,
.tax-product_brand .wd-active-filters,
.tax-pa_brand .wd-active-filters{
  display:none!important;
}

/* Keep selected category branch visually understandable */
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor{
  background:transparent!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor > .nfp-option span:last-child{
  color:#20242a!important;
  font-weight:650!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-option span:last-child{
  color:#111315!important;
  font-weight:700!important;
}

/* v0.6.4: calmer typography and cleaner chips/category state */

.nfp-card-toggle span:first-child{
  font-weight:600!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor > .nfp-option span:last-child,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-option span:last-child{
  font-weight:600!important;
}

/* The checkbox already communicates the selected category. Do not add a second tick on the right. */

/* Current archive category is contextual, not a submitted filter. Keep it visually selected even though disabled. */
.nfp-card[data-nfp-type="product_cat"] .nfp-row-context input[type="checkbox"][disabled]{
  opacity:1!important;
  cursor:default!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-context .nfp-option{
  cursor:default!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-context .nfp-option span:last-child{
  color:#111315!important;
  font-weight:600!important;
}

.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-option span:last-child,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor > .nfp-option span:last-child{
  font-weight:560!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-context .nfp-option input[type="checkbox"]{
  background:var(--nfp-accent)!important;
  border-color:var(--nfp-accent)!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-context .nfp-option input[type="checkbox"]:before{
  content:'✓';
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-option input[type="checkbox"][data-nfp-context-only="1"]{
  pointer-events:none!important;
}
.nfp-card-toggle,
.nfp-card-toggle:hover,
.nfp-card-toggle:focus,
.nfp-card-toggle span:first-child{
  font-weight:540!important;
}

/* Sidebar cards need their own spacing. Do not reuse the active-chip spacing rules. */
.nfp-sidebar .nfp-card{
  margin:0 0 14px!important;
}
.nfp-sidebar .nfp-card:last-child{
  margin-bottom:0!important;
}

/* Active chips above the product loop */

/* Product-category filter: visible hierarchy without heavy bold rows. */
.nfp-card[data-nfp-type="product_cat"] .nfp-option span,
.nfp-card[data-nfp-type="product_cat"] .nfp-option span:last-child{
  font-weight:400!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-cat-row.nfp-depth-0 .nfp-option span,
.nfp-card[data-nfp-type="product_cat"] .nfp-cat-row.nfp-depth-0 .nfp-option span:last-child {
  font-weight: 500!important;
  color: #2f3640!important;
}
.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-option span,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-selected > .nfp-option span:last-child,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor > .nfp-option span,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-ancestor > .nfp-option span:last-child,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-context .nfp-option span,
.nfp-card[data-nfp-type="product_cat"] .nfp-row-context .nfp-option span:last-child {
  font-weight: 500!important;
  color: #2b323b!important;
}

/* Brand filter logos - compact list layout */
.nfp-card-brand .nfp-option {
  min-height: 34px !important;
  align-items: center !important;
  gap: 9px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
.nfp-card-brand .nfp-option input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
}
.nfp-card-brand .nfp-brand-logo {
  width: 58px !important;
  height: 24px !important;
  flex: 0 0 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 4px 0 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}
.nfp-card-brand .nfp-option-name {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow-wrap: anywhere !important;
  font-size: 13.25px !important;
  line-height: 1.25 !important;
}
@media (max-width: 767px) {
  .nfp-card-brand .nfp-option {
    gap: 8px !important;
  }
  .nfp-card-brand .nfp-brand-logo {
    width: 52px !important;
    height: 22px !important;
    flex-basis: 52px !important;
  }
  .nfp-card-brand .nfp-option-name {
    font-size: 13px !important;
  }
}

/* Brand filter logos - 2 column logo grid */
.nfp-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.nfp-card-brand-grid .nfp-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.nfp-card-brand-grid .nfp-option-row{
  min-width:0!important;
}
.nfp-card-brand-grid .nfp-option {
  position: relative!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  width: 100%!important;
  min-height: 54px!important;
  padding: 7px 8px!important;
  gap: 0!important;
  border: 1px solid #dfe4ea!important;
  border-radius: 9px!important;
  background: #fff!important;
  box-shadow: none!important;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease!important;
}
.nfp-card-brand-grid .nfp-option:hover{
  border-color:#b9c2cc!important;
  background:#fbfcfd!important;
  box-shadow:0 2px 8px rgba(20,26,33,.05)!important;
}
.nfp-card-brand-grid .nfp-option input[type="checkbox"] {
  position: absolute!important;
  inset: 6px auto auto 6px!important;
  width: 14px!important;
  height: 14px!important;
  min-width: 14px!important;
  border-radius: 4px!important;
  opacity: 0!important;
  pointer-events: none!important;
  z-index: 2!important;
}
.nfp-card-brand-grid .nfp-option input[type="checkbox"]:checked{
  opacity:1!important;
  background:var(--nfp-accent)!important;
  border-color:var(--nfp-accent)!important;
}
.nfp-card-brand-grid .nfp-option input[type="checkbox"]:checked:before{
  font-size:10px!important;
}
.nfp-card-brand-grid .nfp-brand-logo {
  width: 82px!important;
  height: 36px!important;
  flex: 0 0 auto!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  margin: 0!important;
  overflow: visible!important;
  background: transparent!important;
  max-width: 100%!important;
}
.nfp-card-brand-grid .nfp-option input[type="checkbox"]:checked ~ .nfp-brand-logo,
.nfp-card-brand-grid .nfp-option:has(input[type="checkbox"]:checked){
  border-color:#17181a!important;
}
.nfp-card-brand-grid .nfp-option:has(input[type="checkbox"]:checked) {
  box-shadow: 0 0 0 1px #17181a inset!important;
  border-color: #17181a!important;
}
.nfp-card-brand-grid .nfp-option-name:not(.nfp-sr-only){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:520!important;
}
.nfp-card-brand-grid .nfp-option:not(:has(.nfp-brand-logo)){
  min-height:48px!important;
  padding:8px!important;
}
@media (max-width: 420px){
  .nfp-card-brand-grid .nfp-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .nfp-card-brand-grid .nfp-option{
    min-height:46px!important;
    padding:7px 8px!important;
  }
  .nfp-card-brand-grid .nfp-brand-logo{
    height:28px!important;
  }
}
.nfp-card-brand-grid .nfp-row-selected > .nfp-option{
  border-color:#17181a!important;
  box-shadow:0 0 0 1px #17181a inset!important;
}

/* Brand grid v0.6.34: use Woodmart-like background swatch so logos are not cropped. */

.nfp-card-brand-grid .nfp-brand-logo-bg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:contain!important;
}

@media (max-width:420px){
  .nfp-card-brand-grid .nfp-brand-logo{
    width:76px!important;
    height:34px!important;
  }
}

/* Brand display modes v0.6.35
   Four independent modes:
   - list_text: standard checkbox list, text only
   - list_logo: standard checkbox list, logo swatch + text
   - grid_text: 2-column text cards
   - grid_logo: 2-column logo cards
*/
.nfp-card-brand .nfp-brand-logo-bg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:contain!important;
}

/* Brand list: text only */
.nfp-card-brand-list_text .nfp-options{
  display:block!important;
}
.nfp-card-brand-list_text .nfp-option-row{
  display:block!important;
}
.nfp-card-brand-list_text .nfp-option{
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:5px 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nfp-card-brand-list_text .nfp-option input[type="checkbox"]{
  position:relative!important;
  inset:auto!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
}
.nfp-card-brand-list_text .nfp-option-name{
  display:inline!important;
  font-size:13.5px!important;
  line-height:1.25!important;
  font-weight:400!important;
  text-align:left!important;
}

/* Brand list: logo + text */
.nfp-card-brand-list_logo .nfp-options{
  display:block!important;
}
.nfp-card-brand-list_logo .nfp-option-row{
  display:block!important;
}
.nfp-card-brand-list_logo .nfp-option{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  padding:5px 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nfp-card-brand-list_logo .nfp-option input[type="checkbox"]{
  position:relative!important;
  inset:auto!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
}
.nfp-card-brand-list_logo .nfp-brand-logo{
  width:62px!important;
  height:26px!important;
  flex:0 0 62px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 2px 0 0!important;
  overflow:visible!important;
}
.nfp-card-brand-list_logo .nfp-option-name{
  display:inline!important;
  flex:1 1 auto!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  font-size:13.25px!important;
  line-height:1.25!important;
  font-weight:400!important;
  text-align:left!important;
}

/* Brand grid: text only */
.nfp-card-brand-grid_text .nfp-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.nfp-card-brand-grid_text .nfp-option-row{
  min-width:0!important;
}
.nfp-card-brand-grid_text .nfp-option{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  width:100%!important;
  padding:9px 10px!important;
  border:1px solid #dfe4ea!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
  text-align:center!important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease!important;
}
.nfp-card-brand-grid_text .nfp-option:hover{
  border-color:#b9c2cc!important;
  background:#fbfcfd!important;
}
.nfp-card-brand-grid_text .nfp-option input[type="checkbox"]{
  position:absolute!important;
  inset:6px auto auto 6px!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  border-radius:4px!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:2!important;
}
.nfp-card-brand-grid_text .nfp-option input[type="checkbox"]:checked{
  opacity:1!important;
  background:var(--nfp-accent)!important;
  border-color:var(--nfp-accent)!important;
}
.nfp-card-brand-grid_text .nfp-option-name{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:520!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
.nfp-card-brand-grid_text .nfp-row-selected > .nfp-option,
.nfp-card-brand-grid_text .nfp-option:has(input[type="checkbox"]:checked){
  border-color:#17181a!important;
  box-shadow:0 0 0 1px #17181a inset!important;
}

/* Brand grid: logo only */
.nfp-card-brand-grid_logo .nfp-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.nfp-card-brand-grid_logo .nfp-option-row{
  min-width:0!important;
}
.nfp-card-brand-grid_logo .nfp-option{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  width:100%!important;
  padding:7px 8px!important;
  border:1px solid #dfe4ea!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease!important;
}
.nfp-card-brand-grid_logo .nfp-option:hover{
  border-color:#b9c2cc!important;
  background:#fbfcfd!important;
}
.nfp-card-brand-grid_logo .nfp-option input[type="checkbox"]{
  position:absolute!important;
  inset:6px auto auto 6px!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  border-radius:4px!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:2!important;
}
.nfp-card-brand-grid_logo .nfp-option input[type="checkbox"]:checked{
  opacity:1!important;
  background:var(--nfp-accent)!important;
  border-color:var(--nfp-accent)!important;
}
.nfp-card-brand-grid_logo .nfp-brand-logo{
  width:82px!important;
  height:36px!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.nfp-card-brand-grid_logo .nfp-option-name:not(.nfp-sr-only){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:520!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
.nfp-card-brand-grid_logo .nfp-row-selected > .nfp-option,
.nfp-card-brand-grid_logo .nfp-option:has(input[type="checkbox"]:checked){
  border-color:#17181a!important;
  box-shadow:0 0 0 1px #17181a inset!important;
}

@media (max-width:420px){
  .nfp-card-brand-grid_logo .nfp-options,
  .nfp-card-brand-grid_text .nfp-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .nfp-card-brand-grid_logo .nfp-brand-logo{
    width:76px!important;
    height:34px!important;
  }
}

/* Hard guard: hidden rows must stay hidden even inside brand display layouts. */
.nfp-card .nfp-option-row[hidden],
.nfp-card-brand .nfp-option-row[hidden],
.nfp-card-brand-list_text .nfp-option-row[hidden],
.nfp-card-brand-list_logo .nfp-option-row[hidden],
.nfp-card-brand-grid_text .nfp-option-row[hidden],
.nfp-card-brand-grid_logo .nfp-option-row[hidden],
.nfp-card .nfp-term-extra[hidden],
.nfp-card-brand .nfp-term-extra[hidden] {
  display: none !important;
}
/* Generic term display modes v0.6.69
   - list_text: normal checkbox + text
   - list_color_text: color swatch + text
   - grid_text: grid cards with text
   - grid_color_text: grid cards with swatch + text
   - grid_color: grid cards with swatch only
*/
.nfp-card-display-list .nfp-options{display:block!important;}
.nfp-card-display-list .nfp-option-row{display:block!important;}

.nfp-card-display-grid .nfp-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.nfp-card-display-grid .nfp-option-row{min-width:0!important;}
.nfp-card-display-grid .nfp-option{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  padding:9px 10px!important;
  gap:7px!important;
  border:1px solid #dfe4ea!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
  text-align:center!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.nfp-card-display-grid .nfp-option:hover{border-color:#b9c2cc!important;background:#fbfcfd!important;}
.nfp-card-display-grid .nfp-option input[type="checkbox"]{
  position:absolute!important;
  inset:6px auto auto 6px!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  border-radius:4px!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:2!important;
}
.nfp-card-display-grid .nfp-option input[type="checkbox"]:checked{opacity:1!important;background:var(--nfp-accent)!important;border-color:var(--nfp-accent)!important;}
.nfp-card-display-grid .nfp-option-name:not(.nfp-sr-only){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:520!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
.nfp-card-display-grid .nfp-row-selected > .nfp-option,
.nfp-card-display-grid .nfp-option:has(input[type="checkbox"]:checked){border-color:#17181a!important;box-shadow:0 0 0 1px #17181a inset!important;}

.nfp-card-display-grid_color_text .nfp-option{
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-height:78px!important;
  padding:7px!important;
  gap:7px!important;
}
.nfp-card-display-grid_color_text .nfp-color-swatch{
  display:block!important;
  width:100%!important;
  height:36px!important;
  min-width:0!important;
  border-radius:8px!important;
  margin:0!important;
}
.nfp-card-display-grid_color_text .nfp-option-name:not(.nfp-sr-only){
  width:100%!important;
  min-height:18px!important;
  padding:0 2px!important;
}
.nfp-card-display-grid_color .nfp-option{min-height:54px!important;padding:8px!important;}
.nfp-card-display-grid_color .nfp-color-swatch{width:32px!important;height:32px!important;min-width:32px!important;border-radius:8px!important;margin:0!important;}
.nfp-card-display-list_color_text .nfp-option{gap:10px!important;}
.nfp-card-display-list_color_text .nfp-color-swatch{margin-left:0!important;}

@media(max-width:420px){
  .nfp-card-display-grid .nfp-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  .nfp-card-display-grid .nfp-option{min-height:46px!important;padding:8px!important;}
}

.nfp-card-display .nfp-option-row[hidden],
.nfp-card-display .nfp-term-extra[hidden]{display:none!important;}

/* Mobile filter trigger + sticky chips v0.6.83 */
.nfp-mobile-filter-fab{display:none!important}
@media (max-width:1024px){
  .nfp-mobile-filter-fab{
    position:fixed!important;
    right:15px!important;
    bottom:calc(var(--nfp-mobile-fab-bottom, 124px) + env(safe-area-inset-bottom))!important;
    z-index:99998!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    border:1px solid rgba(17,24,39,.12)!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,#ffffff 0%,#f7f8fa 100%)!important;
    color:#111315!important;
    box-shadow:0 8px 20px rgba(20,26,33,.14),0 1px 4px rgba(20,26,33,.07),inset 0 1px 0 rgba(255,255,255,.95)!important;
    font-family:inherit!important;
    font-size:12.8px!important;
    font-weight:620!important;
    line-height:1!important;
    text-decoration:none!important;
    cursor:pointer!important;
    opacity:0!important;
    transform:translateY(12px) scale(.98)!important;
    pointer-events:none!important;
    transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .nfp-mobile-filter-fab.is-visible{
    opacity:1!important;
    transform:translateY(0) scale(1)!important;
    pointer-events:auto!important;
  }
  .nfp-mobile-filter-fab:hover,
  .nfp-mobile-filter-fab:focus{
    background:#fff!important;
    color:#111315!important;
    box-shadow:0 12px 28px rgba(20,26,33,.18),0 2px 6px rgba(20,26,33,.08),inset 0 1px 0 rgba(255,255,255,1)!important;
    outline:0!important;
  }
  .nfp-mobile-filter-fab-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    color:#111315!important;
  }
  .nfp-mobile-filter-fab-icon svg{display:block!important;width:18px!important;height:20px!important}
  .nfp-mobile-filter-fab-text{display:inline-block!important;white-space:nowrap!important;letter-spacing:-.01em!important}
  .nfp-mobile-filter-fab-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:#111315!important;
    color:#fff!important;
    font-size:10.5px!important;
    font-weight:700!important;
    line-height:1!important;
    box-shadow:0 0 0 2px #fff!important;
  }
  .nfp-mobile-filter-fab-count[hidden]{display:none!important}
  body.nfp-drawer-open .nfp-mobile-filter-fab{opacity:0!important;pointer-events:none!important;transform:translateY(12px) scale(.98)!important}
}
@media (max-width:380px){
  .nfp-mobile-filter-fab{right:12px!important;height:42px!important;min-height:42px!important;padding:0 12px!important}
  .nfp-mobile-filter-fab-text{display:none!important}
}
.nfp-mobile-filter-fab[hidden]{display:none!important}


@media (max-width:1024px){
  .nfp-mobile-filter-strip,
  .nfp-loop-active.nfp-mobile-active-strip{
    position:sticky!important;
    top:calc(var(--nfp-mobile-sticky-top, 0px) + env(safe-area-inset-top))!important;
    z-index:60!important;
    display:none!important;
    align-items:center!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    width:100%!important;
    margin:0 0 12px!important;
    padding:9px 10px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(17,24,39,.08)!important;
    border-radius:16px!important;
    box-shadow:0 8px 24px rgba(20,26,33,.10)!important;
    backdrop-filter:saturate(160%) blur(10px)!important;
    clear:both!important;
  }
  .nfp-mobile-filter-strip.is-visible,
  .nfp-loop-active.nfp-mobile-active-strip.is-visible{display:flex!important;}
  body.nfp-drawer-open .nfp-mobile-filter-strip,
  body.nfp-drawer-open .nfp-loop-active.nfp-mobile-active-strip{display:none!important;opacity:0!important;pointer-events:none!important;}
  .nfp-mobile-filter-strip::-webkit-scrollbar,
  .nfp-loop-active.nfp-mobile-active-strip::-webkit-scrollbar{display:none!important;}
  .nfp-mobile-strip-trigger{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    flex:0 0 auto!important;
    min-height:36px!important;
    padding:0 12px!important;
    border:1px solid rgba(17,24,39,.12)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#111315!important;
    box-shadow:0 3px 12px rgba(20,26,33,.10)!important;
    font-family:inherit!important;
    font-size:13px!important;
    font-weight:650!important;
    line-height:1!important;
    cursor:pointer!important;
    white-space:nowrap!important;
  }
  .nfp-mobile-strip-trigger-icon{display:inline-flex!important;width:18px!important;height:18px!important;align-items:center!important;justify-content:center!important;}
  .nfp-mobile-strip-trigger-icon svg{width:18px!important;height:18px!important;display:block!important;}
  .nfp-mobile-strip-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:#111315!important;
    color:#fff!important;
    font-size:10.5px!important;
    font-weight:700!important;
    line-height:1!important;
  }
  .nfp-mobile-strip-count[hidden]{display:none!important;}
  .nfp-loop-active.nfp-mobile-active-strip .nfp-chip{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    padding:8px 11px!important;
    font-size:12.5px!important;
    background:#fff!important;
  }
  .nfp-loop-active.nfp-mobile-active-strip .nfp-chip-prefix{display:inline!important;}
  .nfp-loop-active.nfp-mobile-active-strip .nfp-clear-all{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
}

/* v0.6.81: active chips stay in one horizontal row on mobile. More chips scroll sideways, not vertically. */
@media (max-width:1024px){
  .nfp-loop-active.nfp-mobile-active-strip{
    max-width:100%!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
  }
  .nfp-loop-active.nfp-mobile-active-strip .nfp-chip,
  .nfp-loop-active.nfp-mobile-active-strip .nfp-clear-all,
  .nfp-loop-active.nfp-mobile-active-strip .nfp-mobile-strip-trigger{
    flex:0 0 auto!important;
  }
}
