/* JostHub v1.8.10 - Product card hover actions + transactional Quick View */
.jwf-products-archive .jwf-product-footer-hover{
  position:relative;
  width:100%;
  min-height:44px;
  margin-top:auto;
  display:block;
  overflow:visible;
}
.jwf-products-archive .jwf-product-footer-hover>.jwf-product-price{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:right;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:opacity .18s ease,transform .24s cubic-bezier(.2,.75,.25,1),visibility .18s ease;
}
.jwf-products-archive .jwf-product-hover-actions{
  position:absolute;
  inset:0;
  display:flex;
  direction:rtl;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .18s ease,transform .24s cubic-bezier(.2,.75,.25,1),visibility .18s ease;
}
@media (hover:hover) and (pointer:fine){
  .jwf-products-archive .jwf-product-card:hover .jwf-product-footer-hover>.jwf-product-price,
  .jwf-products-archive .jwf-product-card:focus-within .jwf-product-footer-hover>.jwf-product-price{
    opacity:0;
    visibility:hidden;
    transform:translateY(-7px);
    pointer-events:none;
  }
  .jwf-products-archive .jwf-product-card:hover .jwf-product-hover-actions,
  .jwf-products-archive .jwf-product-card:focus-within .jwf-product-hover-actions{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
}
.jwf-products-archive .jwf-product-action{
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  margin:0!important;
  text-decoration:none!important;
  outline:0;
  cursor:pointer;
  transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.jwf-products-archive .jwf-product-view-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:74px;
  height:36px;
  padding:0 15px!important;
  border:1px solid color-mix(in srgb,var(--jwf-archive-card-border,var(--jwf-border)) 82%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,#fff 88%,var(--jwf-archive-card-bg,#fff))!important;
  color:var(--jwf-archive-title-color,var(--jwf-primary))!important;
  font-family:var(--jwf-heading-font)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap;
  box-shadow:none!important;
}
.jwf-products-archive .jwf-product-action-icon{
  position:relative;
  flex:0 0 36px;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:color-mix(in srgb,var(--jwf-archive-title-color,var(--jwf-primary)) 4%,#fff)!important;
  color:var(--jwf-archive-title-color,var(--jwf-primary))!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
}
.jwf-products-archive .jwf-product-action-icon::before{
  content:"";
  width:17px;
  height:17px;
  display:block;
  background:currentColor;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.jwf-products-archive .jwf-product-cart-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7V6a5 5 0 0 1 10 0v1h2.2l1.5 14H3.3l1.5-14H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-2.4 2L5.5 19h13L17.4 9H6.6Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7V6a5 5 0 0 1 10 0v1h2.2l1.5 14H3.3l1.5-14H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-2.4 2L5.5 19h13L17.4 9H6.6Z'/%3E%3C/svg%3E");
}
.jwf-products-archive .jwf-product-favorite::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7.2-4.5-9.5-8.5C.3 8.7 2.2 4 6.7 4c2.2 0 3.6 1.2 4.3 2.2C11.7 5.2 13.1 4 15.3 4c4.5 0 6.4 4.7 4.2 8.5C17.2 16.5 12 21 12 21Zm0-2.4c1.8-1.3 4.8-3.8 5.8-5.6 1.5-2.6.4-7-2.5-7-2.4 0-3.3 2.1-3.3 2.1S11.1 6 8.7 6c-2.9 0-4 4.4-2.5 7 1 1.8 4 4.3 5.8 5.6Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7.2-4.5-9.5-8.5C.3 8.7 2.2 4 6.7 4c2.2 0 3.6 1.2 4.3 2.2C11.7 5.2 13.1 4 15.3 4c4.5 0 6.4 4.7 4.2 8.5C17.2 16.5 12 21 12 21Zm0-2.4c1.8-1.3 4.8-3.8 5.8-5.6 1.5-2.6.4-7-2.5-7-2.4 0-3.3 2.1-3.3 2.1S11.1 6 8.7 6c-2.9 0-4 4.4-2.5 7 1 1.8 4 4.3 5.8 5.6Z'/%3E%3C/svg%3E");
}
.jwf-products-archive .jwf-product-favorite.is-active::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-9-5.5-10.5-10.2C.2 6.9 2.6 4 6.5 4 9 4 10.5 5.5 12 7c1.5-1.5 3-3 5.5-3 3.9 0 6.3 2.9 5 6.8C21 15.5 12 21 12 21Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-9-5.5-10.5-10.2C.2 6.9 2.6 4 6.5 4 9 4 10.5 5.5 12 7c1.5-1.5 3-3 5.5-3 3.9 0 6.3 2.9 5 6.8C21 15.5 12 21 12 21Z'/%3E%3C/svg%3E");
}
.jwf-products-archive .jwf-product-quick-view::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c5.5 0 9.5 5.2 10.4 6.5a.9.9 0 0 1 0 1C21.5 13.8 17.5 19 12 19S2.5 13.8 1.6 12.5a.9.9 0 0 1 0-1C2.5 10.2 6.5 5 12 5Zm0 2c-3.7 0-6.8 3.1-8.3 5 1.5 1.9 4.6 5 8.3 5s6.8-3.1 8.3-5c-1.5-1.9-4.6-5-8.3-5Zm0 2.2A2.8 2.8 0 1 1 12 14.8 2.8 2.8 0 0 1 12 9.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c5.5 0 9.5 5.2 10.4 6.5a.9.9 0 0 1 0 1C21.5 13.8 17.5 19 12 19S2.5 13.8 1.6 12.5a.9.9 0 0 1 0-1C2.5 10.2 6.5 5 12 5Zm0 2c-3.7 0-6.8 3.1-8.3 5 1.5 1.9 4.6 5 8.3 5s6.8-3.1 8.3-5c-1.5-1.9-4.6-5-8.3-5Zm0 2.2A2.8 2.8 0 1 1 12 14.8 2.8 2.8 0 0 1 12 9.2Z'/%3E%3C/svg%3E");
}
.jwf-products-archive .jwf-product-action:hover,
.jwf-products-archive .jwf-product-action:focus-visible{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--jwf-accent) 32%,transparent)!important;
  color:var(--jwf-accent)!important;
  background:color-mix(in srgb,var(--jwf-accent) 8%,#fff)!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--jwf-accent) 12%,transparent)!important;
}
.jwf-products-archive .jwf-product-favorite.is-active{
  color:#ef4444!important;
  background:#fff1f2!important;
}
.jwf-products-archive .jwf-product-action-icon.is-disabled{
  opacity:.35;
  cursor:not-allowed;
  pointer-events:none;
}
/* Neutralize the old cart pseudo icon and demo-skin full-width button rules. */
.jwf-products-archive .jwf-product-hover-actions .jwf-product-cart::before{width:17px;height:17px;margin:0;}
body[class*="jost-shop-demo-"] .jwf-product-hover-actions .jwf-product-cart,
body[class*="jost-shop-demo-"] .jwf-product-hover-actions .jwf-product-action{
  width:auto!important;
}

/* WooCommerce appends a “View cart” link after successful AJAX add-to-cart.
   It must never appear inside the compact hover action row. */
.jwf-products-archive .jwf-product-card .added_to_cart.wc-forward{
  display:none!important;
}

/* Touch devices have no real hover: keep price and actions both available. */
@media (hover:none), (pointer:coarse){
  .jwf-products-archive .jwf-product-footer-hover{min-height:88px;display:flex;flex-direction:column;gap:6px;}
  .jwf-products-archive .jwf-product-footer-hover>.jwf-product-price{min-height:38px;opacity:1!important;visibility:visible!important;transform:none!important;}
  .jwf-products-archive .jwf-product-hover-actions{position:static;min-height:40px;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;}
}
@media (max-width:640px){
  .jwf-products-archive .jwf-product-hover-actions{gap:5px;}
  .jwf-products-archive .jwf-product-view-link{min-width:66px;padding-inline:12px!important;}
  .jwf-products-archive .jwf-product-action-icon{flex-basis:34px;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;}
}
/* Lightweight quick-view modal */
.jwf-quick-view-lock{overflow:hidden!important;}
.jwf-quick-view-modal[hidden]{display:none!important;}
.jwf-quick-view-modal{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--jwf-font,inherit);}
.jwf-quick-view-backdrop{position:absolute;inset:0;background:rgba(2,8,23,.55);backdrop-filter:blur(4px);}
.jwf-quick-view-dialog{position:relative;z-index:1;width:min(720px,94vw);max-height:88vh;overflow:auto;border:1px solid color-mix(in srgb,var(--jwf-archive-card-border,#e5e7eb) 90%,transparent);border-radius:28px;background:var(--jwf-archive-card-bg,#fff);box-shadow:0 30px 100px rgba(2,8,23,.28);padding:24px;direction:rtl;color:var(--jwf-primary,#111827);}
.jwf-quick-view-close,.jwf-quick-view-close:hover,.jwf-quick-view-close:focus,.jwf-quick-view-close:active{
  -webkit-appearance:none!important;appearance:none!important;position:absolute!important;top:14px!important;left:14px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;
  width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;
  background:var(--jwf-archive-button-bg,var(--jwf-accent,#1c3bb2))!important;background-color:var(--jwf-accent,#1c3bb2)!important;
  color:var(--jwf-archive-button-text,var(--jwf-button-text,#fff))!important;box-shadow:0 8px 22px color-mix(in srgb,var(--jwf-accent,#1c3bb2) 24%,transparent)!important;
  font-size:0!important;line-height:0!important;text-indent:0!important;cursor:pointer!important;z-index:5!important;transform:none!important;filter:none!important;
}
.jwf-quick-view-close:hover,.jwf-quick-view-close:focus-visible{filter:brightness(.96)!important;transform:translateY(-1px)!important;}
.jwf-quick-view-close span{position:relative!important;display:block!important;width:16px!important;height:16px!important;pointer-events:none!important;}
.jwf-quick-view-close span::before,.jwf-quick-view-close span::after{content:""!important;position:absolute!important;top:50%!important;left:50%!important;width:16px!important;height:2px!important;border:0!important;border-radius:999px!important;background:currentColor!important;transform-origin:center!important;}
.jwf-quick-view-close span::before{transform:translate(-50%,-50%) rotate(45deg)!important;}
.jwf-quick-view-close span::after{transform:translate(-50%,-50%) rotate(-45deg)!important;}
.jwf-quick-view-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:center;}
.jwf-quick-view-image{min-height:280px;border-radius:22px;background:color-mix(in srgb,var(--jwf-panel-bg,#fff) 88%,var(--jwf-accent,#1c3bb2) 12%);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.jwf-quick-view-image img{display:block;width:100%;height:100%;max-height:420px;object-fit:contain;}
.jwf-quick-view-info{min-width:0;text-align:right;}
.jwf-quick-view-info h3{margin:0 0 10px;font-family:var(--jwf-heading-font,inherit);font-size:22px;line-height:1.8;color:var(--jwf-archive-title-color,var(--jwf-primary,#111827));}
.jwf-quick-view-excerpt{margin:0 0 16px;color:color-mix(in srgb,var(--jwf-primary,#111827) 70%,transparent);font-family:var(--jwf-font,inherit);font-size:13px;line-height:2;direction:rtl;text-align:justify;text-align-last:right;}
.jwf-quick-view-excerpt[hidden]{display:none!important;}
.jwf-quick-view-price{margin-bottom:20px;font-family:var(--jwf-number-font,var(--jwf-font,inherit));font-size:17px;font-weight:900;color:var(--jwf-accent,#1c3bb2);}
.jwf-quick-view-open,.jwf-quick-view-open:hover,.jwf-quick-view-open:focus{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:10px 20px!important;border:0!important;border-radius:999px!important;background:var(--jwf-archive-button-bg,var(--jwf-accent,#1c3bb2))!important;color:var(--jwf-archive-button-text,var(--jwf-button-text,#fff))!important;text-decoration:none!important;font-weight:800!important;box-shadow:none!important;}
@media(max-width:640px){.jwf-quick-view-dialog{padding:18px;border-radius:22px}.jwf-quick-view-body{grid-template-columns:1fr}.jwf-quick-view-image{min-height:210px}.jwf-quick-view-info h3{font-size:18px}}

/* v1.8.10: transactional Quick View state — never flash previous product content */
.jwf-quick-view-image{position:relative;isolation:isolate;}
.jwf-quick-view-modal.is-loading .jwf-quick-view-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(100deg,
    color-mix(in srgb,var(--jwf-panel-bg,#fff) 92%,var(--jwf-accent,#1c3bb2) 8%) 20%,
    color-mix(in srgb,var(--jwf-panel-bg,#fff) 78%,var(--jwf-accent,#1c3bb2) 22%) 42%,
    color-mix(in srgb,var(--jwf-panel-bg,#fff) 92%,var(--jwf-accent,#1c3bb2) 8%) 64%);
  background-size:220% 100%;
  animation:jwf-qv-skeleton 1.05s linear infinite;
}
.jwf-quick-view-modal.is-loading .jwf-quick-view-image::after{
  content:"";
  position:absolute;
  z-index:2;
  width:38px;
  height:38px;
  top:50%;
  left:50%;
  margin:-19px 0 0 -19px;
  border:3px solid color-mix(in srgb,var(--jwf-accent,#1c3bb2) 22%,transparent);
  border-top-color:var(--jwf-accent,#1c3bb2);
  border-radius:50%;
  animation:jwf-qv-spin .7s linear infinite;
}
.jwf-quick-view-image img[hidden]{display:none!important;}
@keyframes jwf-qv-skeleton{to{background-position:-220% 0;}}
@keyframes jwf-qv-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){
  .jwf-quick-view-modal.is-loading .jwf-quick-view-image::before,
  .jwf-quick-view-modal.is-loading .jwf-quick-view-image::after{animation:none;}
}

/* v1.8.15 - Guaranteed fit for hover actions on narrow product cards.
 * Previous container-query rules lost to higher-specificity !important base rules.
 * Use a four-column grid: the View button consumes only leftover space while the
 * three icon buttons get bounded tracks. This remains independent of grid count. */
.jwf-products-archive .jwf-product-footer-hover{
  container-type:inline-size;
  container-name:jwf-product-footer;
  width:100%;
  max-width:100%;
  min-width:0;
}
.jwf-products-archive .jwf-product-hover-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) repeat(3,36px);
  align-items:center!important;
  justify-content:stretch!important;
  gap:7px;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:visible;
}
.jwf-products-archive .jwf-product-hover-actions .jwf-product-view-link{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:36px!important;
  padding-inline:8px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.jwf-products-archive .jwf-product-hover-actions .jwf-product-action-icon{
  box-sizing:border-box!important;
  flex:none!important;
  width:36px!important;
  min-width:0!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
}

@container jwf-product-footer (max-width:210px){
  .jwf-products-archive .jwf-product-hover-actions{
    grid-template-columns:minmax(0,1fr) repeat(3,32px)!important;
    gap:4px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-view-link{
    min-width:0!important;
    max-width:none!important;
    height:32px!important;
    padding-inline:5px!important;
    font-size:9.5px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-action-icon{
    width:32px!important;
    min-width:0!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-action-icon::before{
    width:15px!important;
    height:15px!important;
  }
}

@container jwf-product-footer (max-width:175px){
  .jwf-products-archive .jwf-product-hover-actions{
    grid-template-columns:minmax(0,1fr) repeat(3,28px)!important;
    gap:3px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-view-link{
    min-width:0!important;
    max-width:none!important;
    height:30px!important;
    padding-inline:3px!important;
    font-size:9px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-action-icon{
    width:28px!important;
    min-width:0!important;
    max-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-action-icon::before{
    width:13px!important;
    height:13px!important;
  }
}

@container jwf-product-footer (max-width:145px){
  .jwf-products-archive .jwf-product-hover-actions{
    grid-template-columns:minmax(0,1fr) repeat(3,26px)!important;
    gap:2px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-view-link{
    height:28px!important;
    padding-inline:2px!important;
    font-size:8px!important;
  }
  .jwf-products-archive .jwf-product-hover-actions .jwf-product-action-icon{
    width:26px!important;
    max-width:26px!important;
    height:26px!important;
    min-height:26px!important;
    max-height:26px!important;
  }
}
