/* Venofins Fish v4.29.40 — universal compact variation dialog.
   All modal layout belongs here; no duplicated legacy modal rules in style.css.
   Applies to variable products opened from homepage, shop, categories, search,
   brands, collections and related products. Preserve Woo native variation JS. */
body.nusa-bm-site .nusa-variant-open{cursor:pointer}
body.nusa-bm-site .nusa-variant-overlay[hidden]{display:none!important}
body.nusa-bm-site .nusa-variant-overlay{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  padding:12px;overflow-y:auto;
  background:rgba(10,29,21,.67);
}
body.nusa-bm-site .nusa-variant-dialog{
  position:relative;width:min(100%,500px);max-height:min(90dvh,750px);
  padding:19px 21px 18px;border-radius:16px;
  overflow-y:auto;background:#fff;color:#1C3628;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
}
body.nusa-bm-site .nusa-variant-dialog h2{
  font:750 19px/1.26 Manrope,Inter,Arial,sans-serif!important;
  letter-spacing:-.022em!important;color:#203A2A!important;
  margin:0 39px 5px 0!important;padding:0!important;
}
body.nusa-bm-site .nusa-variant-dialog > p:not(.nusa-variant-error){
  margin:0 34px 10px 0!important;padding:0!important;
  font:400 12px/1.35 Inter,Arial,sans-serif!important;color:#65736B!important;
}
body.nusa-bm-site .nusa-variant-dialog .nusa-variant-close{
  position:absolute;right:13px;top:12px;width:33px;height:33px;
  display:grid;place-items:center;padding:0!important;
  border:0!important;border-radius:50%!important;
  background:#EFF4F0!important;color:#284939!important;
  font:500 20px/1 Inter,Arial,sans-serif!important;cursor:pointer;
}
body.nusa-bm-site .nusa-variant-dialog .nusa-variant-close:hover{background:#DEEAE1!important}
body.nusa-bm-site .nusa-variant-body{min-height:0!important}
body.nusa-bm-site .nusa-variant-body form.cart{
  display:block!important;margin:0!important;padding:0!important;
}
body.nusa-bm-site .nusa-variant-body table.variations{
  width:100%!important;margin:0!important;padding:0!important;
  border:0!important;border-collapse:collapse!important;
}
body.nusa-bm-site .nusa-variant-body .variations :is(tbody,tr){
  border:0!important;background:transparent!important;
}
body.nusa-bm-site .nusa-variant-body .variations tr{
  display:block!important;margin:0 0 6px!important;padding:0!important;
}
body.nusa-bm-site .nusa-variant-body .variations :is(th,td){
  display:block!important;width:100%!important;
  padding:0!important;margin:0!important;border:0!important;
  background:transparent!important;text-align:left!important;
}
body.nusa-bm-site .nusa-variant-body .variations th.label{
  margin:0 0 4px!important;
}
body.nusa-bm-site .nusa-variant-body .variations label{
  display:block!important;margin:0!important;padding:0!important;
  font:650 12.5px/1.25 Manrope,Inter,Arial,sans-serif!important;
  color:#284536!important;
}
body.nusa-bm-site .nusa-variant-body .variations select{
  display:block;width:100%!important;max-width:100%!important;
  height:39px!important;min-height:39px!important;
  margin:0!important;padding:7px 12px!important;
  border:1px solid #C7D8CB!important;border-radius:9px!important;
  color:#1B3626!important;background:#fff!important;
  font:450 13.5px/1.35 Inter,Arial,sans-serif!important;
  box-shadow:none!important;
}
body.nusa-bm-site .nusa-variant-body .variations .reset_variations{
  display:inline-block;
  margin:2px 0 0!important;padding:0!important;
  color:#436B54!important;font:450 11px/1.25 Inter,Arial,sans-serif!important;
}
body.nusa-bm-site .nusa-variant-body .single_variation_wrap{
  display:block!important;margin:0!important;padding:0!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation.single_variation{
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;
  justify-content:flex-start!important;gap:0 8px!important;
  margin:5px 0 8px!important;padding:0!important;
  min-height:0!important;min-width:0!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-description{
  flex:0 0 100%!important;min-width:0!important;
  margin:0!important;padding:0!important;
  font-size:12px!important;line-height:1.35!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-description :is(p,ul){
  margin:0 0 5px!important;padding:0!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-price{
  display:inline-flex!important;align-items:center!important;vertical-align:middle!important;
  margin:0!important;padding:0!important;
  min-height:0!important;
  color:#28583F!important;
  font:750 19px/1.3 Manrope,Inter,Arial,sans-serif!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-price .price,
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-price .woocommerce-Price-amount{
  color:#28583F!important;font:inherit!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-price del,
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-price del .woocommerce-Price-amount{
  color:#87948B!important;font-size:12px!important;font-weight:450!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-availability{
  display:inline-flex!important;align-items:center!important;vertical-align:middle!important;
  margin:0!important;padding:0!important;min-height:0!important;
  font:500 12px/1.3 Inter,Arial,sans-serif!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-availability :is(.stock,p){
  margin:0!important;padding:0!important;
  font:inherit!important;color:#427057!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-add-to-cart{
  margin:7px 0 0!important;padding:0!important;min-height:0!important;
  display:flex!important;align-items:center!important;gap:9px!important;
}
body.nusa-bm-site .nusa-variant-body .single_add_to_cart_button{
  flex:1 1 160px!important;min-width:0!important;
  min-height:44px!important;height:44px!important;
  margin:0!important;padding:9px 12px!important;
  border:0!important;border-radius:9px!important;
  color:#fff!important;background:#EE4D25!important;
  font:650 13px/1.2 Manrope,Inter,Arial,sans-serif!important;
  box-shadow:none!important;cursor:pointer;
}
body.nusa-bm-site .nusa-variant-body .single_add_to_cart_button:hover:not(.disabled){background:#D6421C!important}
body.nusa-bm-site .nusa-variant-body .single_add_to_cart_button.disabled{opacity:.45!important;cursor:not-allowed!important}
body.nusa-bm-site .nusa-variant-error{
  margin:8px 0 0!important;padding:0!important;
  color:#B33730!important;font:600 12px/1.4 Inter,Arial,sans-serif!important;
}
body.nusa-bm-site .nusa-variant-loading{
  display:block;padding:12px 0;color:#566F5D;font-size:13px;
}
body.nusa-variant-opened{overflow:hidden}
@media(max-width:620px){
  body.nusa-bm-site .nusa-variant-overlay{padding:9px;align-items:center}
  body.nusa-bm-site .nusa-variant-dialog{padding:17px 15px 15px;border-radius:13px;max-height:92dvh}
  body.nusa-bm-site .nusa-variant-dialog h2{font-size:17px!important}
  body.nusa-bm-site .nusa-variant-dialog > p:not(.nusa-variant-error){font-size:11.5px!important;margin-bottom:9px!important}
  body.nusa-bm-site .nusa-variant-body .woocommerce-variation-add-to-cart{gap:8px!important}
  body.nusa-bm-site .nusa-variant-body .woocommerce-variation-price{font-size:17px!important}
}
@media(prefers-reduced-motion:reduce){body.nusa-bm-site .nusa-variant-dialog{scroll-behavior:auto}}

/* Venofins Fish 4.29.40 — WooCommerce AJAX variation picker quantity fix.
   The modal is opened from home/shop/category/brand/collection pages, NOT on
   is_product(). Use the same native quantity control without decorative icons.
   Scope all rules to the modal; leave single-product purchase UI untouched. */
.nusa-variant-overlay .nusa-variant-body .woocommerce-variation-add-to-cart {
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}
.nusa-variant-overlay .nusa-variant-body form.cart .quantity.vf-wc-quantity {
  display:inline-flex!important;
  visibility:visible!important;
  position:relative!important;
  flex:0 0 126px!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:126px!important;
  min-width:126px!important;
  max-width:126px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #D3E4D7!important;
  border-radius:10px!important;
  background:#fff!important;
  background-image:none!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.nusa-variant-overlay .nusa-variant-body .quantity.vf-wc-quantity::before,
.nusa-variant-overlay .nusa-variant-body .quantity.vf-wc-quantity::after {
  display:none!important;
  content:none!important;
}
/* Defensive presentation guard for old add-ons: no broken decorative images. */
.nusa-variant-overlay .nusa-variant-body .quantity.vf-wc-quantity :is(img,picture,svg:not(.vf-qty-icon)) {
  display:none!important;
}
.nusa-variant-overlay .nusa-variant-body form.cart .quantity.vf-wc-quantity > input.vf-wc-qty-input {
  display:block!important;
  visibility:visible!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#1A3C2C!important;
  opacity:1!important;
  text-align:center!important;
  font:700 15px/42px Manrope,Inter,Arial,sans-serif!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
  -webkit-text-fill-color:#1A3C2C!important;
}
.nusa-variant-overlay .nusa-variant-body form.cart .quantity.vf-wc-quantity > input.vf-wc-qty-input::-webkit-inner-spin-button,
.nusa-variant-overlay .nusa-variant-body form.cart .quantity.vf-wc-quantity > input.vf-wc-qty-input::-webkit-outer-spin-button {
  appearance:none!important;
  -webkit-appearance:none!important;
  margin:0!important;
}
.nusa-variant-overlay .nusa-variant-body form.cart .quantity.vf-wc-quantity > button.vf-wc-qty-button {
  display:inline-flex!important;
  visibility:visible!important;
  flex:0 0 39px!important;
  width:39px!important;
  min-width:39px!important;
  max-width:39px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#29583E!important;
  font:700 19px/1 Manrope,Inter,Arial,sans-serif!important;
  cursor:pointer!important;
}
.nusa-variant-overlay .nusa-variant-body .vf-wc-qty-button:hover:not(:disabled){background:#EEF6F0!important}
.nusa-variant-overlay .nusa-variant-body .vf-wc-qty-button:disabled{opacity:.3!important;cursor:not-allowed!important}
.nusa-variant-overlay .nusa-variant-body .vf-wc-quantity > label.screen-reader-text {
  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;
}
.nusa-variant-overlay .nusa-variant-body .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
  flex:1 1 160px!important;
  min-height:44px!important;
  margin:0!important;
}
@media(max-width:520px){
  .nusa-variant-overlay .nusa-variant-body .woocommerce-variation-add-to-cart {gap:9px!important}
  .nusa-variant-overlay .nusa-variant-body .woocommerce-variation-add-to-cart > .single_add_to_cart_button {flex-basis:125px!important}
}


/* v4.29.45 — same flex-row alignment for AJAX variation price/stock as cards.
   The old inline-block vertical-align:middle rule aligned text line boxes, not
   the price and padded stock badge. The flex parent now centers actual boxes. */
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-availability .stock{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 margin:0!important;padding:3px 7px!important;
 border-radius:5px!important;border:1px solid #D6E9DB!important;
 background:#EBF6EE!important;color:#347150!important;
 font:600 10.8px/1.25 Inter,Arial,sans-serif!important;
}
body.nusa-bm-site .nusa-variant-body .woocommerce-variation-availability .stock.out-of-stock{
 border-color:#F0D5C8!important;background:#FFF0E9!important;color:#AA5239!important;
}
