@font-face{font-family:KchCardDM;src:url('dm-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:KchCardDM;src:url('dm-sans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.kch-product-card,.kch-product-card *{box-sizing:border-box}
body .kch-product-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;min-width:0;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--kch-card-text,#2a2b2a);font:400 16px/1.5 KchCardDM,Arial,sans-serif;text-align:left;box-shadow:none}
body .kch-product-card .kch-card__media{grid-column:1;grid-row:1;position:relative;width:100%;min-width:0;height:auto;aspect-ratio:1/1;overflow:hidden;background:var(--kch-card-image-bg,#fff)}
body .kch-product-card .kch-card__media-link{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0}
body .kch-product-card .kch-card__image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;object-fit:cover;object-position:center;box-shadow:none}
body .kch-product-card .kch-card__image--hover{opacity:0;pointer-events:none;transition:opacity .3s ease}
@media(hover:hover) and (pointer:fine){body .kch-product-card:hover .kch-card__image--hover,body .kch-product-card:focus-within .kch-card__image--hover{opacity:1}}
body .kch-product-card .kch-card__badge{position:absolute;top:0;right:0;z-index:3;display:inline-flex;align-items:center;max-width:100%;min-width:0;margin:0;padding:4px 8px;border:0;border-radius:0;background:var(--kch-card-badge-bg,#e33b3b);color:var(--kch-card-badge-fg,#fff);font:700 13px/1.2 KchCardDM,Arial,sans-serif;letter-spacing:0;text-align:right;white-space:normal}
body .kch-product-card .kch-card__badge svg{display:block;flex:none;width:14px;height:14px;margin-right:4px}
body .kch-product-card .kch-card__out-of-stock{position:absolute;left:0;right:0;bottom:0;z-index:2;display:block;padding:7px;background:rgba(255,255,255,.9);color:#333;font:700 13px/1.2 KchCardDM,Arial,sans-serif;text-align:center}
body .kch-product-card .kch-card__info{grid-column:1;grid-row:2;min-width:0;width:100%;margin:0;padding:var(--kch-card-info-gap,16px) 0 0;border:0;background:transparent;color:var(--kch-card-text,#2a2b2a);font:400 16px/1.5 KchCardDM,Arial,sans-serif;text-align:left}
body .kch-product-card .kch-card__title,body .kch-product-card .kch-card__title a{display:block;max-width:100%;margin:0;padding:0;color:var(--kch-card-text,#2a2b2a);font:700 var(--kch-card-title-size,16px)/1.45 KchCardDM,Arial,sans-serif;letter-spacing:0;text-align:left;text-transform:none;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
body .kch-product-card .kch-card__title a:hover{text-decoration:underline;text-underline-offset:2px}
body .kch-product-card .kch-card__rating{display:flex;align-items:center;gap:8px;min-width:0;margin:4px 0 0;padding:0;color:var(--kch-card-text,#2a2b2a);font:400 13px/1.25 KchCardDM,Arial,sans-serif}
body .kch-product-card .kch-card__stars{display:inline-block;flex:none;color:transparent;background:linear-gradient(90deg,var(--kch-card-star,#ff9f1c) var(--kch-rating),#e6e6e6 var(--kch-rating));background-clip:text;-webkit-background-clip:text;font:400 18px/1 Times,serif;letter-spacing:0;white-space:nowrap}
body .kch-product-card .kch-card__rating-count{display:inline-block;color:var(--kch-card-text,#2a2b2a);font:400 13px/1.25 KchCardDM,Arial,sans-serif}
body .kch-product-card .kch-card__price,body .kch-product-card .kch-card__price .price,body .kch-product-card .kch-card__price .amount{display:inline-block;margin:0;padding:0;color:var(--kch-card-text,#2a2b2a);font:700 var(--kch-card-price-size,18px)/1.35 KchCardDM,Arial,sans-serif;letter-spacing:0;text-align:left}
body .kch-product-card .kch-card__price{display:block;margin-top:8px}
body .kch-product-card .kch-card__price del,body .kch-product-card .kch-card__price del .amount{color:#767676;font-size:.85em;font-weight:400;opacity:1}
body .kch-product-card .kch-card__price ins{color:inherit;background:transparent;text-decoration:none}
body .kch-product-card .kch-card__actions{grid-column:1;grid-row:1;position:relative;z-index:4;align-self:end;display:grid;grid-template-columns:minmax(0,1fr);gap:5px;width:auto;margin:0 8px 8px;padding:0;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
body .kch-product-card:hover .kch-card__actions,body .kch-product-card:focus-within .kch-card__actions{opacity:1;transform:none;pointer-events:auto}
body .kch-product-card .kch-card__actions a.kch-card__primary,body .kch-product-card .kch-card__actions a.kch-card__quick-view{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;height:auto;margin:0!important;padding:10px 12px!important;border:1px solid var(--kch-card-button-bg,#2a2b2a)!important;border-radius:0!important;background:var(--kch-card-button-bg,#2a2b2a)!important;color:var(--kch-card-button-fg,#fff)!important;font:700 14px/1.2 KchCardDM,Arial,sans-serif!important;letter-spacing:0;text-align:center;text-transform:none;text-decoration:none;white-space:normal;box-shadow:none!important}
body .kch-product-card .kch-card__actions a.kch-card__quick-view{min-height:36px;background:#fff!important;color:var(--kch-card-button-bg,#2a2b2a)!important;font-size:13px!important}
body .kch-product-card .kch-card__actions a:hover{filter:brightness(.88)}
body .kch-product-card a:focus-visible{outline:2px solid #202020;outline-offset:3px}
/* The slot emits native loop badges before the provider. Hide only its duplicate
   numeric sale item; retain target/theme non-sale badges and their hooks. */
body .product-small>.col-inner:has(>.kch-product-card)>.badge-container{position:absolute;top:0;right:0;left:auto;width:auto;max-width:100%;z-index:5;text-align:right}
body .product-small>.col-inner:has(>.kch-product-card)>.badge-container .kch-native-sale-flash{display:none!important}
body .product-small>.col-inner:has(>.kch-product-card .kch-card__badge)>.badge-container{top:30px}
body .product-small>.col-inner:has(>.kch-product-card)>.badge-container .badge:not(.kch-native-sale-flash){width:auto;height:auto;min-width:0;min-height:0;margin:0 0 2px}
body .product-small>.col-inner:has(>.kch-product-card)>.badge-container .badge:not(.kch-native-sale-flash) .badge-inner{width:auto;height:auto;min-width:0;min-height:0;padding:4px 8px;border-radius:0;font:700 13px/1.2 KchCardDM,Arial,sans-serif}
/* Native sale flash remains a real WooCommerce hook on PDP and quick view. */
body .badge-container .kch-native-sale-flash{display:inline-block;width:auto;height:auto;min-width:0;min-height:0;margin:0}
body .badge-container .kch-native-sale-flash .badge-inner.on-sale{display:inline-flex;align-items:center;width:auto;height:auto;min-width:0;min-height:0;padding:4px 8px;border:0;border-radius:0;background:var(--kch-card-badge-bg,#e33b3b)!important;color:var(--kch-card-badge-fg,#fff)!important;font:700 13px/1.2 KchCardDM,Arial,sans-serif;letter-spacing:0}
body .badge-container .kch-native-sale-flash .onsale{position:static;display:inline;padding:0;border:0;background:transparent!important;color:inherit!important;font:inherit;line-height:inherit}
@media(max-width:1023.98px),(hover:none){
 body .kch-product-card .kch-card__title,body .kch-product-card .kch-card__title a{font-size:var(--kch-card-title-mobile,16px)}
 body .kch-product-card .kch-card__actions{grid-row:3;align-self:start;width:100%;margin:16px 0 0;padding:0;opacity:1;transform:none;pointer-events:auto}
 body .kch-product-card .kch-card__image--hover{display:none}
 body .kch-product-card .kch-card__badge{padding:2px 6px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){body .kch-product-card .kch-card__actions,body .kch-product-card .kch-card__image--hover{transition:none}}

/* Restore the card's square media against the existing site's .box-image
   auto-width override; keep the change scoped to this provider. */
body .kch-product-card.kch-product-card{border:0;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
body .kch-product-card .kch-card__media.box-image{width:100%!important;height:auto!important;aspect-ratio:1/1}
body .kch-product-card .kch-card__image{transform:none!important}
