.nfbo-product-status{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:12px 0;
  padding:11px 13px;
  border-radius:4px;
  font-size:13px;
  line-height:1.45;
}
.nfbo-product-status .nfbo-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  margin-top:4px;
  flex:0 0 10px;
  border:1px solid rgba(0,0,0,.12);
}
.nfbo-state-green{background:var(--nfbo-green)}
.nfbo-state-orange{background:var(--nfbo-orange)}
.nfbo-state-red{background:var(--nfbo-red)}
.nfbo-state-green .nfbo-dot{background:#6fa97a}
.nfbo-state-orange .nfbo-dot{background:#d39b43}
.nfbo-state-red .nfbo-dot{background:#c97474}
.nfbo-legend{
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin:8px 0 12px;
  font-size:11px;
  opacity:.86;
}
.nfbo-legend span{display:inline-flex;align-items:center;gap:5px}
.nfbo-legend i,.nfbo-swatch-dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.nfbo-legend-green i,.nfbo-swatch-green .nfbo-swatch-dot{background:#6fa97a}
.nfbo-legend-orange i,.nfbo-swatch-orange .nfbo-swatch-dot{background:#d39b43}
.nfbo-legend-red i,.nfbo-swatch-red .nfbo-swatch-dot{background:#c97474}
.nfbo-swatch-mixed .nfbo-swatch-dot{background:linear-gradient(135deg,#6fa97a 0 50%,#d39b43 50% 100%)}
.variable-item .nfbo-swatch-dot,[data-value]>.nfbo-swatch-dot{
  position:absolute;
  right:3px;
  top:3px;
  box-shadow:0 0 0 1px rgba(255,255,255,.92);
}
.variable-item,[data-value]{position:relative}
body details.nfbo-mini-cart-notice{
  display:block!important;
  margin:0 15px 12px!important;
  padding:0 15px!important;
  box-sizing:border-box!important;
  border:1px solid #d39b43!important;
  border-left-width:4px!important;
  border-radius:5px!important;
  background:var(--nfbo-orange)!important;
  color:#34250f!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.45!important;
  white-space:normal!important;
}
body details.nfbo-mini-cart-notice summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-width:0!important;
  padding:9px 0!important;
  list-style:none!important;
  cursor:pointer!important;
}
body details.nfbo-mini-cart-notice summary::-webkit-details-marker{display:none!important}
body details.nfbo-mini-cart-notice summary::marker{content:""}
.nfbo-mini-cart-notice-lead{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.nfbo-mini-cart-notice-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  border:1px solid rgba(107,69,16,.58)!important;
  border-radius:50%!important;
  color:#6b4510!important;
  font-family:Arial,sans-serif!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1!important;
}
.nfbo-mini-cart-notice-summary-text{
  min-width:0;
  font-weight:500;
}
.nfbo-mini-cart-notice-action{
  flex:0 0 auto;
  color:#6b4510;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
  white-space:nowrap;
}
.nfbo-mini-cart-notice-less{display:none}
body details.nfbo-mini-cart-notice[open] .nfbo-mini-cart-notice-more{display:none}
body details.nfbo-mini-cart-notice[open] .nfbo-mini-cart-notice-less{display:inline}
.nfbo-mini-cart-notice-details{
  padding:8px 0 10px!important;
  border-top:1px solid rgba(107,69,16,.22)!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.nfbo-cart-info{display:none!important}
body .woocommerce-info.nfbo-mixed-cart-notice{
  margin-bottom:24px!important;
  padding:14px 16px!important;
  border:1px solid #d39b43!important;
  border-left-width:5px!important;
  border-radius:0!important;
  background:var(--nfbo-orange)!important;
  color:#34250f!important;
  white-space:normal!important;
}
body .woocommerce-info.nfbo-mixed-cart-notice::before{display:none!important}
.single_add_to_cart_button.nfbo-disabled{opacity:.5;cursor:not-allowed}

/* Variation Swatches for WooCommerce compatibility.
 * Availability color is the swatch background. Selection is represented by
 * an elevated dark frame, so status and selection remain visually distinct. */
.single-product-variable-items .variable-item[class*="nfbo-swatch-"],
.variable-items-wrapper .variable-item[class*="nfbo-swatch-"]{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease!important;
  transform:translateY(0)!important;
  isolation:isolate;
}
.single-product-variable-items .variable-item.nfbo-swatch-green,
.variable-items-wrapper .variable-item.nfbo-swatch-green{
  background:var(--nfbo-green)!important;
  border-color:#6fa97a!important;
  color:#1e3022!important;
  opacity:1!important;
}
.single-product-variable-items .variable-item.nfbo-swatch-orange,
.variable-items-wrapper .variable-item.nfbo-swatch-orange{
  background:var(--nfbo-orange)!important;
  border-color:#d39b43!important;
  color:#3b2a10!important;
  opacity:1!important;
}
.single-product-variable-items .variable-item.nfbo-swatch-red,
.variable-items-wrapper .variable-item.nfbo-swatch-red{
  background:var(--nfbo-red)!important;
  border-color:#c97474!important;
  color:#653737!important;
  opacity:.66!important;
  cursor:not-allowed!important;
}
.single-product-variable-items .variable-item.nfbo-swatch-mixed,
.variable-items-wrapper .variable-item.nfbo-swatch-mixed{
  background:linear-gradient(135deg,var(--nfbo-green) 0 50%,var(--nfbo-orange) 50% 100%)!important;
  border-color:#a98f54!important;
  color:#2e281b!important;
  opacity:1!important;
}
.single-product-variable-items .variable-item[class*="nfbo-swatch-"]>.variable-item-contents,
.variable-items-wrapper .variable-item[class*="nfbo-swatch-"]>.variable-item-contents{
  background:transparent!important;
  color:inherit!important;
}
.single-product-variable-items .variable-item[class*="nfbo-swatch-"] .variable-item-span,
.variable-items-wrapper .variable-item[class*="nfbo-swatch-"] .variable-item-span{
  color:inherit!important;
}
.single-product-variable-items .variable-item[class*="nfbo-swatch-"]:not(.nfbo-swatch-red):hover,
.variable-items-wrapper .variable-item[class*="nfbo-swatch-"]:not(.nfbo-swatch-red):hover{
  border-color:#343434!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.24),0 3px 8px rgba(0,0,0,.08)!important;
  transform:translateY(-1px)!important;
}
.single-product-variable-items .variable-item.nfbo-swatch-red:hover,
.variable-items-wrapper .variable-item.nfbo-swatch-red:hover{
  box-shadow:none!important;
  transform:none!important;
}
.single-product-variable-items .variable-item.selected[class*="nfbo-swatch-"],
.variable-items-wrapper .variable-item.selected[class*="nfbo-swatch-"],
.single-product-variable-items .variable-item[aria-checked="true"][class*="nfbo-swatch-"],
.variable-items-wrapper .variable-item[aria-checked="true"][class*="nfbo-swatch-"]{
  border-color:#171717!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.58),
    0 0 0 2px #171717,
    0 0 0 5px rgba(23,23,23,.13),
    0 6px 14px rgba(0,0,0,.13)!important;
  color:#111!important;
  transform:translateY(-2px) scale(1.02)!important;
  z-index:4!important;
}
.single-product-variable-items .variable-item.selected[class*="nfbo-swatch-"]:hover,
.variable-items-wrapper .variable-item.selected[class*="nfbo-swatch-"]:hover,
.single-product-variable-items .variable-item[aria-checked="true"][class*="nfbo-swatch-"]:hover,
.variable-items-wrapper .variable-item[aria-checked="true"][class*="nfbo-swatch-"]:hover{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.58),
    0 0 0 2px #171717,
    0 0 0 5px rgba(23,23,23,.16),
    0 7px 16px rgba(0,0,0,.15)!important;
  transform:translateY(-2px) scale(1.02)!important;
}


/* Compact availability metadata in cart, checkout and AJAX mini-cart items. */
.nfbo-cart-data-key{
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.3!important;
}
.nfbo-cart-availability{
  position:relative;
  display:inline-flex;
  align-items:center;
  max-width:100%;
  vertical-align:middle;
  isolation:isolate;
}
.nfbo-cart-status-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  max-width:100%!important;
  min-height:24px!important;
  margin:0!important;
  padding:4px 8px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:11.5px!important;
  font-weight:600!important;
  line-height:1.25!important;
  text-align:left!important;
  text-transform:none!important;
  white-space:normal!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transition:filter .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
.nfbo-cart-status-badge:hover,
.nfbo-cart-status-badge:focus-visible,
.nfbo-cart-availability.nfbo-popover-open .nfbo-cart-status-badge{
  filter:saturate(1.08) brightness(.99)!important;
  box-shadow:0 0 0 2px rgba(23,23,23,.13)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.nfbo-cart-status-badge:focus-visible{
  box-shadow:0 0 0 2px #171717,0 0 0 5px rgba(23,23,23,.13)!important;
}
.nfbo-cart-status-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.7);
}
.nfbo-cart-availability-green .nfbo-cart-status-badge{
  border-color:#6fa97a!important;
  background:var(--nfbo-green)!important;
  color:#203924!important;
}
.nfbo-cart-availability-green .nfbo-cart-status-dot{background:#6fa97a}
.nfbo-cart-availability-orange .nfbo-cart-status-badge{
  border-color:#d39b43!important;
  background:var(--nfbo-orange)!important;
  color:#493314!important;
}
.nfbo-cart-availability-orange .nfbo-cart-status-dot{background:#d39b43}
.nfbo-cart-availability-red .nfbo-cart-status-badge{
  border-color:#c97474!important;
  background:var(--nfbo-red)!important;
  color:#653737!important;
}
.nfbo-cart-availability-red .nfbo-cart-status-dot{background:#c97474}
.nfbo-cart-popover{
  width:min(300px,calc(100vw - 24px));
  padding:11px 12px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:6px;
  background:#fff;
  color:#232323;
  box-shadow:0 12px 32px rgba(0,0,0,.2);
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.48!important;
  text-align:left;
  white-space:normal;
}
.nfbo-cart-popover-portal{
  position:fixed!important;
  z-index:2147483000!important;
  margin:0!important;
}
.nfbo-cart-popover-portal::before,
.nfbo-cart-popover-portal::after{
  content:"";
  position:absolute;
  left:var(--nfbo-arrow-left,50%);
  width:0;
  height:0;
  border-style:solid;
  transform:translateX(-50%);
}
.nfbo-cart-popover-portal::before{
  top:-8px;
  border-width:0 8px 8px;
  border-color:transparent transparent rgba(0,0,0,.16);
}
.nfbo-cart-popover-portal::after{
  top:-7px;
  border-width:0 7px 7px;
  border-color:transparent transparent #fff;
}
.nfbo-cart-popover-portal.nfbo-cart-popover-above::before{
  top:auto;
  bottom:-8px;
  border-width:8px 8px 0;
  border-color:rgba(0,0,0,.16) transparent transparent;
}
.nfbo-cart-popover-portal.nfbo-cart-popover-above::after{
  top:auto;
  bottom:-7px;
  border-width:7px 7px 0;
  border-color:#fff transparent transparent;
}
.nfbo-cart-popover-mobile{
  overflow:auto!important;
  overscroll-behavior:contain;
  border-radius:7px!important;
  box-shadow:0 14px 38px rgba(0,0,0,.24)!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
.nfbo-cart-popover[hidden]{display:none!important}

/* WooCommerce wraps item-data display values in paragraphs. Keep our badge compact. */
.woocommerce-mini-cart .nfbo-cart-availability,
.widget_shopping_cart .nfbo-cart-availability{
  margin-top:3px;
}
.woocommerce-mini-cart .nfbo-cart-availability p,
.widget_shopping_cart .nfbo-cart-availability p,
dd:has(> p > .nfbo-cart-availability) > p{
  margin:0!important;
}

/* NF mini-cart item layout: title, status chip, then price and quantity controls. */
.woocommerce-mini-cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-key,
.widget_shopping_cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-key{
  display:none!important;
}
.woocommerce-mini-cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-list,
.widget_shopping_cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-list{
  display:block!important;
  width:100%!important;
  margin:4px 0 6px!important;
  padding:0!important;
}
.woocommerce-mini-cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-value,
.widget_shopping_cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-value{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.woocommerce-mini-cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-value>p,
.widget_shopping_cart .nfbo-mini-cart-item .nfbo-mini-cart-availability-value>p{
  margin:0!important;
}
.woocommerce-mini-cart .nfbo-mini-cart-bottom-row,
.widget_shopping_cart .nfbo-mini-cart-bottom-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  margin-top:2px!important;
}
.woocommerce-mini-cart .nfbo-mini-cart-bottom-row .nfbo-mini-cart-line-price,
.widget_shopping_cart .nfbo-mini-cart-bottom-row .nfbo-mini-cart-line-price{
  flex:0 1 auto!important;
  margin:0!important;
  white-space:nowrap!important;
}
.woocommerce-mini-cart .nfbo-mini-cart-bottom-row .nfbo-mini-cart-qty-controls,
.widget_shopping_cart .nfbo-mini-cart-bottom-row .nfbo-mini-cart-qty-controls{
  flex:0 0 auto!important;
  margin:0!important;
}
.woocommerce-mini-cart .nfbo-mini-cart-bottom-row .quantity_wrap,
.widget_shopping_cart .nfbo-mini-cart-bottom-row .quantity_wrap{
  margin:0!important;
}
@media (max-width:420px){
  .woocommerce-mini-cart .nfbo-mini-cart-bottom-row,
  .widget_shopping_cart .nfbo-mini-cart-bottom-row{
    gap:7px!important;
  }
}

