/* Core-owned product cards: FontZin Theme OR plugin shortcode wrapper. */
/* Core-owned component presentation, migrated from FontZin Theme 9.0.0 CSS. */

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item{--fz-card-pad:var(--fz-ui-card-padding);--fz-card-image-ratio:16 / 10;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;height:100%;overflow:hidden;border:var(--fz-ui-card-border-width) solid var(--fz-border, var(--border));border-radius:var(--fz-ui-card-radius);background:var(--fz-surface, var(--surface));box-shadow:none;transform:none}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item:hover{border-color:var(--fz-border-strong, var(--border));box-shadow:none;transform:none}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item > a{display:block;min-width:0;color:inherit;text-decoration:none}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-thumbnail{display:block;position:relative;width:100%;height:auto;aspect-ratio:var(--fz-card-image-ratio);overflow:hidden;margin:0;padding:0;border:0;border-bottom:1px solid var(--fz-border, var(--border));border-radius:0;background:var(--fz-bg-soft, var(--bg-soft))}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-thumbnail > img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-header{padding:var(--fz-space-4, 16px) var(--fz-card-pad) 0;background:transparent;min-width:0}

html :is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item h2.product-title{margin:0;min-height:calc(1.48em * 2);padding:0;color:var(--fz-ink, var(--text));font-size:16px;font-weight:700;line-height:1.48;letter-spacing:-.01em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-meta{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:var(--fz-space-px-10, 10px);margin-top:auto;padding:var(--fz-space-3, 12px) var(--fz-card-pad) var(--fz-card-pad);min-width:0;background:transparent}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-pricing{display:flex;flex:1 1 86px;align-items:baseline;flex-wrap:wrap;min-width:0;width:auto;margin:0;padding:0;border:0;gap:var(--fz-space-1, 4px) var(--fz-space-px-6, 6px);color:var(--fz-muted, var(--text-soft));font-size:12px}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-pricing > span{display:none}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-original-price{width:auto;margin:0;color:var(--fz-muted, var(--text-soft));font-size:11px;font-weight:400;text-decoration:line-through}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-price{width:auto;margin:0;padding:0;color:var(--fz-ink, var(--text));font-size:13px;font-weight:700;line-height:1.35}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item :is(.add-to-cart-button,.add-to-cart-button-one,.fontzin-card-donate){box-sizing:border-box;position:relative;z-index:2;flex:0 1 auto;display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:max(34px, var(--fz-ui-button-height));margin:0;padding:var(--fz-space-2, 8px) var(--fz-ui-button-padding-inline);border-radius:var(--fz-ui-button-radius);font-size:12px;font-weight:700;line-height:1.25;white-space:normal;text-align:center}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item > .fontzin-save-button.fontzin-badge{position:absolute;z-index:5;top:10px;left:10px;right:auto;max-width:calc(50% - 16px);box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-thumbnail > .product-access-badge{position:absolute;z-index:4;top:10px;right:10px;left:auto;box-sizing:border-box;max-width:calc(50% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-thumbnail > .product-update-badge{position:absolute;z-index:4;top:40px;right:10px;bottom:auto;left:auto;box-sizing:border-box;width:22px;min-width:22px;max-width:22px;height:22px;min-height:22px;padding:0;transform:none}

:is(body.fontzin-site, .fontzin-shortcode-grid) .fontzin-shortcode-grid > .product-grid{gap:var(--fz-space-px-10, 10px)}

@media (max-width: 579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item{--fz-card-pad:14px}

}
@media (max-width: 579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-header{padding-top:var(--fz-space-px-14, 14px)}

}
@media (max-width: 579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-meta{gap:var(--fz-space-2, 8px)}

}
@media (prefers-reduced-motion: reduce){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-thumbnail > img{transition:none}

}
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-discount-badge{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;padding:var(--fz-space-px-2, 2px) var(--fz-space-px-6, 6px);border-radius:999px;background:var(--primary,#c0392b);color:#fff;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item :is(.add-to-cart-button,.add-to-cart-button-one){gap:var(--fz-space-px-6, 6px);min-width:72px}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .fontzin-cart-button__icon{display:inline-flex;align-items:center;justify-content:center;min-width:12px;font-size:16px;font-weight:700;line-height:1}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .fontzin-cart-button__label{display:inline-flex;align-items:center;line-height:1}

@media (max-width:579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .fontzin-cart-button__label{display:none}

}
@media (max-width:579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item :is(.add-to-cart-button,.add-to-cart-button-one){width:36px;min-width:36px;padding:var(--fz-space-2, 8px)}

}
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid>.product-item .product-pricing>.product-discount-badge{display:inline-flex;flex:0 0 auto;align-self:center}

@media (max-width:579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid>.product-item .product-meta{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:var(--fz-space-2, 8px)}

}
@media (max-width:579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid>.product-item .product-meta>.product-pricing{grid-column:1;min-width:0}

}
@media (max-width:579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid>.product-item .product-meta>:is(.add-to-cart-button,.add-to-cart-button-one){grid-column:2;justify-self:end;width:44px;min-width:44px;min-height:44px;padding:var(--fz-space-px-10, 10px)}

}
@media (max-width:579px){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid>.product-item .product-meta>.fontzin-card-donate{grid-column:1/-1}

}
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item :is(.add-to-cart-button,.add-to-cart-button-one) {
  gap:7px;
  min-width: 80px;
  border-radius: 11px;
  box-shadow: 0 2px 7px rgba(15,23,42,.12);
  transition: box-shadow .16s ease, transform .16s ease;
}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .fontzin-cart-button__icon svg {
  display: block;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item :is(.add-to-cart-button,.add-to-cart-button-one):hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15,23,42,.16);
}

:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item :is(.add-to-cart-button,.add-to-cart-button-one):focus-visible {
  outline: 2px solid var(--fz-focus-color,#703fff);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item :is(.add-to-cart-button,.add-to-cart-button-one) {
    transition: none;
    transform: none;
  }

}
:is(body.fontzin-site, .fontzin-shortcode-grid) .product-grid > .product-item .product-thumbnail > .product-discount-badge {
  position: absolute;
  z-index: 5;
  top: 10px;
  left: 10px;
  right: auto;
  bottom: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  max-width: calc(50% - 16px);
  min-height: 24px;
  padding:var(--fz-space-1, 4px) 7px;
  border: 0;
  border-radius: 6px;
  background: #c02c48;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
  pointer-events: none;
}


/* Plugin shortcode grid fallback for non-FontZin themes.
 * Do not touch the existing FontZin Theme archive/home grid contracts. */
html:root body:not(.fontzin-site) .fontzin-shortcode-grid {
  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  margin-inline:auto;
}
html:root body:not(.fontzin-site) .fontzin-shortcode-grid > .product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  align-items: stretch;
  gap:var(--fz-space-4, 16px);
}
@media (max-width: 480px) {
  html:root body:not(.fontzin-site) .fontzin-shortcode-grid > .product-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Core-only fallback from includes/runtime.php when the active Theme lacks product/content-card.php. */
.fontzin-shortcode-grid .product-grid > article.product-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;overflow:hidden;border:var(--fz-ui-card-border-width) solid var(--fz-border,#e3e7ed);border-radius:var(--fz-ui-card-radius);background:var(--fz-surface,#fff);color:var(--fz-ink,#111827)}
.fontzin-shortcode-grid .product-grid > article.product-card > a{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;color:inherit;text-decoration:none}
.fontzin-shortcode-grid .product-grid > article.product-card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;order:0}
.fontzin-shortcode-grid .product-grid > article.product-card h2{order:1;margin:0;min-width:0;padding:var(--fz-space-px-14, 14px) var(--fz-space-4, 16px) var(--fz-space-4, 16px);font-size:16px;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
.fontzin-shortcode-grid .product-grid > article.product-card .product-access-badge{position:absolute;z-index:2;top:10px;right:10px;left:auto;display:inline-flex;align-items:center;max-width:calc(100% - 20px);padding:3px var(--fz-space-2, 8px);border:1px solid var(--fz-border,#e3e7ed);border-radius:6px;background:var(--fz-palette-paper,#fff);color:var(--fz-ink,#111827);font-size:11px;font-weight:700}
.fontzin-shortcode-grid .product-grid > article.product-card > a:hover h2{text-decoration:underline;text-underline-offset:2px}
.fontzin-shortcode-grid .product-grid > article.product-card > a:focus-visible{outline:2px solid var(--fz-focus-color,#703fff);outline-offset:-3px}
