/* Shared Home / Shop product card owner; real WooCommerce values only. */
.vbv2-favorites{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.vbv2-product-card{position:relative;min-width:0;display:flex;flex-direction:column;border:1px solid var(--vbv2-border-soft);border-radius:12px;background:var(--vbv2-surface);overflow:hidden}
.vbv2-product-card__image{position:relative;display:block;aspect-ratio:4/5;overflow:hidden}
.vbv2-product-card__image img{width:100%;height:100%;object-fit:cover}
.vbv2-product-card__body{display:flex;flex-direction:column;flex:1;padding:18px}
.vbv2-product-card h3{font:700 18px/1.4 var(--vbv2-font-sans);margin:0 0 12px}.vbv2-product-card h3 a{text-decoration:none;color:var(--vbv2-ink)}
.vbv2-product-card__description{font-size:16px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.1em;margin-bottom:14px}
.vbv2-product-card__rating{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:auto;margin-bottom:10px}
.vbv2-stars{position:relative;display:inline-block;font-size:19px;letter-spacing:1px;line-height:1.2;color:var(--vbv2-border)}
.vbv2-stars::before{position:absolute;content:'★★★★★';inset:0;clip-path:inset(0 calc(100% - var(--rating)) 0 0);color:var(--vbv2-rating)}
.vbv2-product-card__price{font-weight:800;font-size:23px;line-height:1.4;margin:0 0 20px;color:var(--vbv2-ink)}
.vbv2-product-card__price del{color:var(--vbv2-muted);font-size:16px;font-weight:400}.vbv2-product-card__price ins{text-decoration:none}
.vbv2-product-card__cta{width:100%;min-height:44px;padding:10px 18px;font-size:13px;text-transform:uppercase;justify-content:center}
.vbv2-product-card__cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vbv2-product-card__cta.loading{opacity:.65;pointer-events:none}.vbv2-product-card .added_to_cart{display:none}
.vbv2-product-card__badge{position:absolute;top:12px;left:12px;padding:5px 10px;background:var(--vbv2-surface-soft);color:var(--vbv2-green);font-size:12px;font-weight:700;line-height:1.4;border-radius:var(--vbv2-radius-pill);max-width:calc(100% - 24px)}
.vbv2-product-card__badge--sale{background:var(--vbv2-error);color:var(--vbv2-white)}
.vbv2-product-card__meta{font-size:10px;line-height:1.5;letter-spacing:.035em;text-transform:uppercase;color:var(--vbv2-muted);margin:0 0 7px}
.vbv2-product-card--catalog{height:100%}
.vbv2-product-card--catalog .vbv2-product-card__body{padding:16px}
.vbv2-product-card--catalog h3{font-size:17px;margin-bottom:6px}
.vbv2-product-card--catalog .vbv2-product-card__description{font-size:14px;margin-bottom:10px}
.vbv2-product-card--catalog .vbv2-product-card__price{font-size:20px;margin-top:auto;margin-bottom:12px}
.vbv2-product-card--catalog .vbv2-product-card__rating{margin-bottom:8px}
@media(min-width:768px) and (max-width:1024px){.vbv2-favorites{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.vbv2-favorites{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px}.vbv2-product-card{flex:0 0 46%;scroll-snap-align:start}.vbv2-product-card__body{padding:12px}.vbv2-product-card h3{font-size:14px;min-height:2.8em;margin-bottom:8px}.vbv2-product-card__description{display:none}.vbv2-product-card__price{font-size:18px;overflow-wrap:anywhere;margin-bottom:12px}.vbv2-product-card__rating{font-size:11px;gap:4px;margin-bottom:8px}.vbv2-product-card__rating .vbv2-stars{font-size:15px}.vbv2-product-card__cta{font-size:11px;text-transform:none;padding-inline:8px;gap:4px}.vbv2-product-card__cta svg{width:16px;height:16px;flex-shrink:0}}
@media(max-width:767px){.vbv2-product-card--catalog .vbv2-product-card__body{padding:10px}.vbv2-product-card--catalog h3{font-size:14px;min-height:0;margin-bottom:8px;overflow-wrap:break-word}.vbv2-product-card--catalog .vbv2-product-card__meta{font-size:9px;min-height:3em;margin-bottom:6px}.vbv2-product-card--catalog .vbv2-product-card__price{font-size:16px;line-height:1.35;margin-bottom:10px;overflow-wrap:normal}.vbv2-product-card--catalog .vbv2-product-card__price del{font-size:12px}.vbv2-product-card--catalog .vbv2-product-card__price .amount{white-space:nowrap}.vbv2-product-card__badge{top:8px;left:8px;font-size:10px;padding:4px 8px}}
