/* Shared cards for category grids and homepage lists. */
.wb-product { position:relative; }
.wb-product .wb-product__meta { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:8px; }
.wb-product .wb-product__quick,.wb-product .wb-compare-toggle { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-height:40px; height:40px; margin:0; line-height:1.2; }
.wb-product .wb-product__quick { padding:8px 10px; white-space:nowrap; }
.wb-product .wb-compare-toggle { gap:5px; padding:8px 5px; border:1px solid transparent; border-radius:8px; font-size:12px; }
.wb-product .wb-compare-toggle:hover { background:#f6edef; }
.wb-product .wb-compare-toggle svg { flex:none; }
.wb-product__stock { display:flex; align-items:center; gap:6px; margin-top:8px; color:#527062; font-size:12px; line-height:1.5; }
.wb-product__stock > span { flex:none; width:5px; height:5px; border-radius:50%; background:currentColor; }
.wb-product__stock--unavailable { color:#93817d; }
.wb-product__bonus { display:inline-flex; align-items:center; gap:6px; max-width:100%; box-sizing:border-box; margin:8px 0 0; padding:5px 7px; border-radius:6px; background:#f6edef; color:var(--wb-accent,#7b2638); font-size:12px; line-height:1.5; }
.wb-product__bonus svg { flex:none; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linejoin:round; }
.wb-product--catalog .wb-product__price-row--sale .wb-product__price { color:#9c344b; font-size:18px; }
.wb-product--catalog .wb-product__price-row--sale .wb-product__compare { color:#978d8e; font-size:12px; }
.wb-product__price-values { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; }
.wb-product--catalog .wb-product__price-row { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:6px; min-height:50px; }
.wb-product--catalog .wb-product__price-values { flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; min-width:0; }
.wb-product__saving { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; flex:none; box-sizing:border-box; min-width:76px; gap:1px; margin:0; padding:6px 10px; border:1px solid #e6bfad; border-radius:7px; background:#f9e5d9; color:#8c493e; font-size:12px; line-height:1.35; }
.wb-product__saving strong { font-weight:700; white-space:nowrap; }
.wb-card-gallery { position:relative; width:100%; height:100%; }
.wb-card-gallery__link { display:block; width:100%; height:100%; touch-action:pan-y pinch-zoom; -webkit-user-drag:none; }
.wb-card-gallery__link img { width:100%; height:100%; object-fit:cover; object-position:center top; user-select:none; -webkit-user-drag:none; }
.wb-card-gallery__link img[hidden] { display:none!important; }
.wb-card-gallery__dots { display:flex; position:absolute; z-index:3; bottom:0; left:8px; right:8px; gap:3px; }
.wb-card-gallery__dots button { flex:1; min-width:0; height:36px; padding:13px 0; border:0; background:none; cursor:pointer; }
.wb-card-gallery__dots span { display:block; height:3px; border-radius:3px; background:rgba(255,255,255,.84); box-shadow:0 1px 4px #44293635; transition:background .18s; }
.wb-card-gallery__dots [aria-pressed=true] span { background:var(--wb-accent,#7b2638); }
.wb-card-gallery__dots button:focus-visible { outline:2px solid var(--wb-accent,#7b2638); outline-offset:0; border-radius:4px; }
.wb-card-details { margin:10px 0 0; }
.wb-card-details__content { color:#6b4655; }
.wb-card-details__sizes { display:flex; flex-wrap:wrap; align-items:center; gap:5px; font-size:12px; line-height:1.5; }
.wb-card-details__sizes > span { min-width:27px; box-sizing:border-box; padding:3px 6px; border:1px solid #e6dadd; border-radius:4px; text-align:center; overflow-wrap:anywhere; }
.wb-card-details__article { margin:9px 0 0; color:#97818a; font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
.wb-card-details__article span { color:#7e626e; }
.wb-card-gallery__dots button { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.wb-catalog .wb-filter-choice,.wb-filter-form .wb-filter-choice,.wb-filter-quick .wb-filter-choice { min-height:34px; padding:5px 0; font-size:13px; line-height:1.5; gap:9px; }
.wb-filter-quick { padding-top:12px; padding-bottom:12px; }
.wb-filter-choice input[type=checkbox] { flex:none; margin:0; }
@media(hover:hover) and (pointer:fine) {
 .wb-card-gallery__dots { opacity:0; transition:opacity .18s; }
 .wb-product:hover .wb-card-gallery__dots,.wb-product:focus-within .wb-card-gallery__dots { opacity:1; }
 .wb-product--catalog:has(.wb-card-details):is(:hover,:has(:focus-visible)):not(.wb-product--details-dismissed) { z-index:5; filter:drop-shadow(0 8px 14px #49283722); }
 .wb-product--catalog:has(.wb-card-details)::before { content:""; position:absolute; inset:-10px -10px 0; z-index:-1; border-radius:16px 16px 0 0; background:#fffdfb; visibility:hidden; pointer-events:none; }
 .wb-card-details { margin:0; }
 .wb-card-details__content { position:absolute; top:100%; left:-10px; right:-10px; padding:0 10px 16px; border-radius:0 0 16px 16px; background:#fffdfb; visibility:hidden; opacity:0; transition:opacity .16s; }
 .wb-product--catalog:is(:hover,:has(:focus-visible)):not(.wb-product--details-dismissed)::before,
 .wb-product--catalog:is(:hover,:has(:focus-visible)):not(.wb-product--details-dismissed) .wb-card-details__content { visibility:visible; opacity:1; }
 html.wb-quick-open .wb-product--catalog { filter:none!important; }
 html.wb-quick-open .wb-product--catalog::before,html.wb-quick-open .wb-product--catalog .wb-card-details__content { visibility:hidden!important; opacity:0!important; }
}
@media(max-width:600px) {
 .wb-product .wb-compare-toggle { flex:none; width:40px; padding:9px; }
 .wb-product .wb-compare-toggle span { display:none; }
 .wb-product .wb-product__quick { flex:1; padding:8px 6px; gap:5px; font-size:11px; }
 .wb-product .wb-product__meta { gap:4px; }
 .wb-product__bonus { font-size:11px; align-items:flex-start; gap:4px; padding:5px; }
 .wb-product__bonus svg { width:13px; height:13px; margin-top:1px; }
 .wb-product__stock { font-size:11px; }
 .wb-product--catalog .wb-product__price-row--sale .wb-product__price { font-size:16px; }
 .wb-product--catalog .wb-product__price-row--sale .wb-product__compare { font-size:11px; }
 .wb-product__saving { min-width:0; font-size:10px; padding:5px 6px; }
 .wb-card-gallery__dots button { height:44px; padding:17px 0; }
 .wb-card-details__sizes { font-size:11px; gap:4px; }
 .wb-card-details__sizes > span { min-width:24px; padding:3px 5px; }
 .wb-card-details__article { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .wb-card-gallery__dots,.wb-card-gallery__dots span,.wb-card-details__content { transition:none; } }
@media(max-width:360px) { .wb-product .wb-product__quick { gap:3px; padding-inline:4px; } }
