.ph-card.product-wapper.products-entry{background:var(--ph-off);border-radius:10px;box-shadow:var(--ph-shadow);display:flex;flex-direction:column;font-family:Manrope,Arial,Helvetica,sans-serif;isolation:isolate;margin:0 0 24px;position:relative;transition:transform .25s var(--ease-out)}
.ph-card::after{border-radius:inherit;box-shadow:var(--ph-shadow-lg);content:"";inset:0 var(--ph-card-inset,0);opacity:0;pointer-events:none;position:absolute;transition:opacity .25s var(--ease-out);z-index:-1}

/* Photo slots: every overlay is an item of this grid (map in PADELHAUS_CARD_PHOTO, functions-product-card.php); only the photo link and the sale countdown stay absolute. */
.ph-card.product-wapper .ph-card__media.products-thumb{aspect-ratio:1;background:var(--ph-img);border-radius:10px 10px 0 0;display:grid;grid-template-areas:"cat cat wish" ". . ." "compare rating rating" "compare sold sold";grid-template-columns:40px minmax(0,1fr) 40px;grid-template-rows:auto 1fr auto auto;margin:0;overflow:hidden;position:relative;width:100%}
.ph-card .ph-card__media .woocommerce-LoopProduct-link{display:block;inset:0;position:absolute}
.ph-card .ph-card__media .woocommerce-LoopProduct-link:focus-visible{outline:0}
.ph-card .ph-card__media .woocommerce-LoopProduct-link:focus-visible::after{border-radius:10px 10px 0 0;box-shadow:inset 0 0 0 2px var(--ph-green);content:"";inset:0;pointer-events:none;position:absolute}
.ph-card .ph-card__media img.wp-post-image{height:100%;inset:0;max-width:none;object-fit:cover;opacity:1 !important;position:absolute;transition:transform .3s var(--ease-out);visibility:visible !important;width:100%}
.ph-card .ph-card__media img.ph-card__flip{height:100%;inset:0;max-width:none;object-fit:cover;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s var(--ease-out);width:100%}
.ph-card .ph-card__cat{align-self:start;background:rgba(253,251,245,.92);border-radius:25px;color:var(--ph-green);font-size:11.5px;font-weight:700;grid-area:cat;inset:auto;justify-self:start;line-height:1.3;margin:8px 0 0 8px;max-width:calc(100% - 20px);min-width:0;overflow:hidden;padding:4px 10px;pointer-events:none;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:2}

.ph-card .ph-card__wish{align-self:start;grid-area:wish;inset:auto;justify-self:end;margin:6px 6px 0 0;position:relative;z-index:3}
.ph-card .ph-card__wish .woosw-btn{align-items:center;background:rgba(253,251,245,.92);border:0;border-radius:50%;box-shadow:none;color:var(--ph-green);cursor:pointer;display:flex;font-size:0;height:34px;justify-content:center;line-height:1;margin:0;min-width:0;padding:0;transition:color .2s ease;width:34px}
.ph-card .ph-card__wish .woosw-btn::before{animation:none;background-color:currentColor;border:0;content:"";display:block;height:18px;margin:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center/contain no-repeat;width:18px}
.ph-card .ph-card__wish .woosw-btn.woosw-added{color:var(--ph-brown)}
.ph-card .ph-card__wish .woosw-btn.woosw-added::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E")}
.ph-card .ph-card__wish .woosw-btn.woosw-adding::before{opacity:.45}
.ph-card .ph-card__wish .woosw-btn:focus-visible{outline:2px solid var(--ph-green);outline-offset:2px}

.ph-card .ph-card__compare{align-self:end;grid-area:compare;inset:auto;justify-self:start;margin:0 0 6px 6px;position:relative;z-index:3}
.ph-card .ph-card__compare .ph-cmp-btn{align-items:center;background:rgba(253,251,245,.92);border:0;border-radius:50%;box-shadow:none;color:var(--ph-green);cursor:pointer;display:flex;height:34px;justify-content:center;line-height:1;margin:0;min-width:0;padding:0;transition:color .2s ease,background-color .2s ease,transform .12s var(--ease-out);width:34px}
.ph-card .ph-card__compare .ph-cmp-btn svg{height:18px;pointer-events:none;width:18px}
.ph-card .ph-card__compare .ph-cmp-btn[aria-pressed="true"]{background:var(--ph-green);color:var(--ph-cream)}
.ph-card .ph-card__compare .ph-cmp-btn:active{transform:scale(.97)}
.ph-card .ph-card__compare .ph-cmp-btn:focus-visible{outline:2px solid var(--ph-green);outline-offset:2px}
.ph-card .ph-card__media .pf-loop-badge{align-self:end;grid-area:rating;inset:auto;justify-self:end;margin:0 15px 15px 0;position:relative;z-index:2}
.ph-card .ph-card__sold{align-self:end;background:var(--ph-green);border-radius:25px;color:var(--ph-cream);font-size:11.5px;font-weight:700;grid-area:sold;justify-self:end;line-height:1.3;margin:0 8px 8px 0;padding:4px 10px;pointer-events:none;position:relative;text-align:center;white-space:normal;z-index:2}
.ph-card .ph-card__media:has(.ph-campaign-countdown) .ph-card__compare{bottom:35px}
.ph-card .ph-card__media:has(.ph-campaign-countdown) .pf-loop-badge{bottom:26px}
.ph-card .ph-campaign-countdown{align-items:center;background:var(--ph-white);border:1px solid var(--ph-green);border-radius:8px;bottom:0;box-sizing:border-box;color:var(--ph-green);display:flex;font-family:Manrope,Arial,Helvetica,sans-serif;gap:4px;height:34px;left:0;padding:1px 8px;pointer-events:none;position:absolute;right:0;z-index:2}
.ph-card .ph-campaign-countdown__label{flex:0 0 60px;font-size:9px;font-weight:600;line-height:11px;white-space:normal}
.ph-card .ph-campaign-countdown__numbers{align-items:center;display:flex;flex:1;gap:3px;height:100%;min-width:0}
.ph-card .ph-campaign-countdown__unit{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0}
.ph-card .ph-campaign-countdown__unit+.ph-campaign-countdown__unit{border-left:1px solid var(--ph-beige)}
.ph-card .ph-campaign-countdown__unit b{color:var(--ph-green);font:700 17px/19px Manrope,Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0}
.ph-card .ph-campaign-countdown__unit small{color:var(--ph-green);font:600 9px/10px Manrope,Arial,Helvetica,sans-serif;margin:0}
@media(max-width:359px){
	.ph-card .ph-campaign-countdown{gap:2px;padding-inline:3px}
	.ph-card .ph-campaign-countdown__label{flex-basis:50px;font-size:8px}
	.ph-card .ph-campaign-countdown__numbers{gap:1px}
	.ph-card .ph-campaign-countdown__unit{flex:1 0 auto;min-width:max-content}
}
.ph-newest .ph-card .ph-card__media .ph-card__wish{inset:auto;margin:4px 4px 0 0}

.ph-card .ph-card__body{display:flex;flex:1;flex-direction:column;padding:12px 12px 14px}
.ph-card .ph-card__title{-webkit-box-orient:vertical;color:var(--ph-ink);display:-webkit-box;font-family:Manrope,Arial,Helvetica,sans-serif;font-size:14px;font-weight:600;-webkit-line-clamp:2;line-clamp:2;line-height:1.35;margin:0 0 8px;min-height:2.7em;overflow:hidden;text-transform:none}
.ph-card .ph-card__title a{color:inherit;text-decoration:none;transition:color .2s ease}
.ph-card .ph-card__title a:hover,.ph-card .ph-card__title a:focus-visible{color:var(--ph-green)}
.ph-card .ph-card__title a:focus-visible{outline:2px solid var(--ph-green);outline-offset:-2px}
@supports selector(:has(a)){
	.ph-card .ph-card__title:has(a:focus-visible){border-radius:2px;outline:2px solid var(--ph-green);outline-offset:2px}
	.ph-card .ph-card__title a:focus-visible{outline:0}
}
/* The price pair gets the full row width: beside the quick-add button a 3-digit pair wraps on phones, so cards in a row differ in height. */
.ph-card .ph-card__row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:0 10px;justify-content:space-between;margin-top:auto}
.ph-card .ph-card__meta{display:contents}

.ph-card .ph-price{color:var(--ph-brown);flex:0 0 100%;flex-wrap:nowrap;font-size:15.5px;font-weight:700;line-height:1.3;white-space:nowrap}
.ph-card .ph-card__row .ph-card__stock{flex:1;min-width:0}
.ph-card .ph-price ins{font-size:15.5px;order:-1}
.ph-card .ph-price del{font-size:13px}
.ph-card .ph-price del bdi{color:var(--ph-muted) !important;font-weight:400}
@media (max-width:359px){
	.ph-card .ph-price,.ph-card .ph-price ins{font-size:14px}
	.ph-card .ph-price del{font-size:12px}
}

.ph-card .ph-card__stock{align-items:flex-start;line-height:1.35;margin-top:6px}
.ph-card .ph-card__stock::before{margin-top:.38em}
.ph-card .ph-card__fast{white-space:nowrap}
.ph-card .ph-card__fast::before{content:"\00B7";margin-right:4px}

.ph-card .ph-card__quick{align-items:center;background:var(--ph-brown) !important;border:0;border-radius:50%;color:#fff !important;display:flex;flex:none;height:36px;justify-content:center;padding:0;position:relative;text-decoration:none;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out);width:36px}
.ph-card .ph-card__quick:hover,.ph-card .ph-card__quick:focus{background:#bb7543 !important;color:#fff !important}
.ph-card .ph-card__quick:focus-visible{outline:2px solid var(--ph-brown);outline-offset:2px}
.ph-card .ph-card__quick:active{transform:scale(.97)}
.ph-card .ph-card__quick svg{height:17px;pointer-events:none;width:17px}
.ph-card .ph-card__quick.loading{cursor:progress;pointer-events:none}
.ph-card .ph-card__quick.loading svg{opacity:0}
/* bwp_ajax_filter.css paints every .loading::before as a fixed, page-wide black overlay; here it becomes the button's own spinner. */
.ph-card .ph-card__quick.loading::before{animation:ph-card-spin .85s linear infinite;background:conic-gradient(from 0deg,rgba(255,255,255,0),#fff);border-radius:50%;content:"";height:18px;left:50%;margin:-9px 0 0 -9px;-webkit-mask:radial-gradient(circle,transparent 56%,#000 59%);mask:radial-gradient(circle,transparent 56%,#000 59%);position:absolute;top:50%;width:18px;z-index:auto}
.ph-card .ph-card__quick.loading::after,.ph-card .ph-card__quick.added::after{content:none}
@keyframes ph-card-spin{to{transform:rotate(360deg)}}
.ph-card .ph-card__quick.ph-in-cart::after{background:var(--ph-off);border-radius:50%;box-shadow:0 0 0 1.5px var(--ph-brown);color:var(--ph-brown);content:"\2713";font-size:9px;font-weight:700;height:15px;line-height:15px;position:absolute;right:-3px;text-align:center;top:-3px;width:15px}
.ph-card .added_to_cart{display:none !important}

.products-list.grid > li.product{display:flex;flex-direction:column}
.products-list.grid > li.product > .ph-card{flex:1 1 auto}
.products-list.slick-carousel:has(.ph-card) .slick-track{display:flex}
.products-list.slick-carousel:has(.ph-card) .slick-list{margin-bottom:-24px;margin-top:-8px;padding:8px 0 24px}
.slick-slider .slick-list .ph-card.product-wapper.products-entry.slick-slide{--ph-card-inset:15px;background:none;box-shadow:none;height:auto;margin:0}
.slick-slider .slick-list .ph-card.slick-slide::before{background:var(--ph-off);border-radius:10px;box-shadow:var(--ph-shadow);content:"";inset:0 var(--ph-card-inset);pointer-events:none;position:absolute;z-index:-1}

@media (hover:hover) and (pointer:fine){
	.ph-card.product-wapper.products-entry:hover{transform:translateY(-3px)}
	.ph-card:hover::after{opacity:1}
	.ph-card:hover .ph-card__media:not([data-ph-flip]) img.wp-post-image{transform:scale(1.04)}
	.ph-card:hover .ph-card__media img.ph-card__flip.is-ready{opacity:1}
	.ph-card .ph-card__wish .woosw-btn:hover,.ph-card .ph-card__compare .ph-cmp-btn:hover{color:var(--ph-brown)}
	.ph-card .ph-card__compare .ph-cmp-btn[aria-pressed="true"]:hover{background:var(--ph-green-deep);color:var(--ph-cream)}
}
@media (hover:hover) and (pointer:fine) and (min-width:641px){
	.ph-card .ph-card__quick{opacity:0;transform:translateY(4px)}
	.ph-card:hover .ph-card__quick,.ph-card:focus-within .ph-card__quick,.ph-card .ph-card__quick.ph-in-cart,.ph-card .ph-card__quick.loading{opacity:1;transform:none}
}
@media (max-width:1199px){
	.slick-slider .slick-list .ph-card.product-wapper.products-entry.slick-slide{--ph-card-inset:7.5px}
}
@media (max-width:640px){
	.products-list.grid.row{margin-left:-6px;margin-right:-6px}
	.products-list.grid.row > li.product{flex:0 0 50%;max-width:50%;padding-left:6px;padding-right:6px}
	.ph-card.product-wapper.products-entry{margin-bottom:12px}
	.ph-card .ph-card__body{padding:10px 10px 12px}
	.ph-card .ph-card__title{font-size:13.5px}
	.ph-card .ph-card__quick{height:38px;width:38px}
	.ph-card .ph-card__fast{display:block}
	.ph-card .ph-card__fast::before{content:none}
}
/* Below 360px a wrapped pill and the score would outgrow the photo; the pill wins. */
@media (max-width:359px){
	.ph-card .ph-card__media:has(.ph-card__sold) .pf-loop-badge{display:none}
}
@media (prefers-reduced-motion:reduce){
	.ph-card.product-wapper.products-entry,.ph-card.product-wapper.products-entry:hover{transform:none;transition:none}
	.ph-card .ph-card__media img.wp-post-image,.ph-card:hover .ph-card__media img.wp-post-image{transform:none;transition:none}
	.ph-card .ph-card__quick,.ph-card .ph-card__quick:active,.ph-card:hover .ph-card__quick{transform:none;transition:opacity .2s var(--ease-out)}
	.ph-card .ph-card__quick.loading::before{animation:none}
	.ph-card .ph-card__compare .ph-cmp-btn:active{transform:none}
}
