/* Shared visual product component. Legacy mh-hit-card hooks protect existing wishlist/cart handlers. */
.mh-product-card { display:flex; flex-direction:column; position:relative; width:100%; height:100%; min-width:0; margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
.mh-product-card .mh-hit-card__media { position:relative; width:100%; aspect-ratio:1/1; background:var(--mh-media-bg,#f5f5f5); }
.mh-product-card .mh-hit-card__media-link { position:absolute; inset:0; display:block; overflow:hidden; color:inherit; text-decoration:none; user-select:none; -webkit-user-drag:none; }
.mh-product-card .mh-hit-card__image { position:absolute; inset:0; display:block; box-sizing:border-box; width:100%; height:100%; padding:var(--mh-media-padding,10px); object-fit:var(--mh-media-fit,contain); object-position:center; transform:none; user-select:none; -webkit-user-drag:none; }
.mh-product-card { --mh-media-padding:0px; --mh-media-fit:cover; --mh-media-bg:transparent; }
.mh-product-card { --mh-quick-bottom:-12px; }
.mh-product-card__dots,.mh-product-card__quantity { display:none; }
.mh-product-card .mh-hit-card__image--secondary { opacity:0; }
.mh-product-card.is-gallery-frame .mh-hit-card__image--secondary { opacity:1; }
.mh-product-card .mh-hit-card__info { display:flex; flex:1; flex-direction:column; gap:10px; padding:18px 0 0; }
.mh-product-card .mh-hit-card__title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; overflow-wrap:anywhere; margin:0; min-height:2.7em; color:#111; font:600 16px/1.35 Onest,Arial,sans-serif; text-decoration:none; text-transform:none; }
.mh-product-card .mh-hit-card__price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; margin-top:auto; color:#111; font:800 18px/1.3 Onest,Arial,sans-serif; }
.mh-product-card .mh-hit-card__price .amount { white-space:nowrap; color:inherit; }
.mh-product-card .mh-hit-card__price .amount :is(span,bdi) { color:inherit; }
.mh-product-card .mh-hit-card__price ins { background:transparent; text-decoration:none; }
.mh-product-card .mh-hit-card__price del { color:#777; font-size:.8em; }
.mh-product-card__rating { min-height:18px; font-size:12px; }
.mh-product-card .mh-hit-card__labels { position:absolute; z-index:2; top:8px; left:8px; display:flex; flex-wrap:wrap; gap:4px; max-width:calc(100% - 62px); pointer-events:none; }
.mh-product-card .mh-hit-card__labels span { padding:3px 5px; background:#111; color:#fff; font:600 10px/1.2 Onest,Arial,sans-serif; }
.mh-product-card .mh-hit-card__wishlist { position:absolute; z-index:3; top:2px; right:2px; display:grid; place-items:center; width:44px; height:44px; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; cursor:pointer; transform:none; -webkit-tap-highlight-color:transparent; }
.mh-product-card .mh-hit-card__wishlist svg { display:block; width:26px; height:26px; transform:none; }
.mh-product-card .mh-hit-card__wishlist path { fill:none; stroke:#000; stroke-width:1.4px; vector-effect:non-scaling-stroke; }
.mh-product-card .mh-hit-card__wishlist.active path { fill:#eb002d; stroke:#eb002d; }
.mh-product-card .mh-hit-card__cart { position:absolute; z-index:3; right:12px; bottom:var(--mh-quick-bottom,12px); display:grid; place-items:center; box-sizing:border-box; width:48px; height:48px; min-width:0; min-height:0; margin:0; padding:0; border:0; border-radius:50%; --mh-quick-color:#000; background:var(--mh-quick-color); color:#fff; box-shadow:none; text-decoration:none; transform:none; opacity:1; transition:background-color .15s,opacity .15s; -webkit-tap-highlight-color:transparent; }
.mh-product-card .mh-hit-card__cart svg { width:24px; height:24px; fill:none; transform:none; }
.mh-product-card .mh-hit-card__cart:active,.mh-product-card .mh-hit-card__cart.is-pressed,.mh-product-card .mh-hit-card__cart[aria-busy="true"] { --mh-quick-color:#eb002d; transition:none; }
.mh-product-card .mh-hit-card__media > a.added_to_cart { display:none; }
.mh-product-card :is(a,button):focus-visible { outline:2px solid #eb002d; outline-offset:2px; }
@media(min-width:993px) and (hover:hover) and (pointer:fine) {
 .mh-product-card .mh-hit-card__image--secondary { transition:opacity .14s; }
 .mh-product-card .mh-hit-card__info { color:#111; }
 .mh-product-card .mh-hit-card__info :is(.mh-hit-card__title,.mh-hit-card__price,.mh-product-card__rating,del) { transition:color .15s; }
 .mh-product-card:hover .mh-hit-card__info,
 .mh-product-card:hover .mh-hit-card__info :is(.mh-hit-card__title,.mh-hit-card__price,.mh-product-card__rating,del) { color:#eb002d; }
 .mh-product-card:hover .star-rating span,
 .mh-product-card:hover .star-rating span::before,
 .mh-product-card:hover .star-rating::before { color:inherit; }
 .mh-product-card .mh-hit-card__wishlist:hover path { fill:#eb002d; stroke:#eb002d; }
 .mh-product-card .mh-hit-card__cart:hover { --mh-quick-color:#eb002d; }
 .mh-product-card .mh-hit-card__cart { opacity:0; pointer-events:none; }
 .mh-product-card:hover .mh-hit-card__cart,.mh-product-card:focus-within .mh-hit-card__cart,.mh-product-card .mh-hit-card__cart[aria-busy="true"] { opacity:1; pointer-events:auto; }
}
@media(max-width:992px) {
 .mh-product-card .mh-hit-card__info { padding-top:26px; gap:8px; }
 .mh-product-card .mh-hit-card__title { font-size:14px; line-height:1.4; min-height:2.8em; }
 .mh-product-card .mh-hit-card__price { font-size:16px; }
 .mh-product-card .mh-hit-card__cart { right:6px; bottom:-14px; width:44px; height:44px; background:transparent; }
 .mh-product-card .mh-hit-card__cart::before { content:""; position:absolute; inset:4px; border-radius:50%; background:var(--mh-quick-color); transition:background-color .15s; }
 .mh-product-card .mh-hit-card__cart:active::before,.mh-product-card .mh-hit-card__cart.is-pressed::before,.mh-product-card .mh-hit-card__cart[aria-busy="true"]::before { transition:none; }
 .mh-product-card .mh-hit-card__wishlist:not(.active):active path { fill:#eb002d; stroke:#eb002d; }
 .mh-product-card .mh-hit-card__cart svg { position:relative; width:22px; height:22px; }
 /* Reference video: circle ~17% of media width; 5% right inset, 6% bottom overlap.
    A 44px touch target remains independent from the smaller visible circle. */
 .mh-product-card .mh-hit-card__media { container-type:inline-size; }
 .mh-product-card .mh-hit-card__cart { --mh-circle:clamp(28px,17cqw,36px); right:calc(5cqw - (44px - var(--mh-circle))/2); bottom:calc(-6cqw - (44px - var(--mh-circle))/2); }
 .mh-product-card .mh-hit-card__cart::before { inset:auto; width:var(--mh-circle); height:var(--mh-circle); }
 .mh-product-card .mh-hit-card__cart svg { width:clamp(18px,10.4cqw,22px); height:clamp(18px,10.4cqw,22px); }
 .mh-product-card .mh-hit-card__media-link { touch-action:pan-y; }
 .mh-product-card .mh-product-card__dots { position:absolute; z-index:2; top:12px; left:50%; transform:translateX(-50%); display:flex; justify-content:center; flex-wrap:wrap; gap:3px; max-width:calc(100% - 96px); pointer-events:none; }
 .mh-product-card__dots i { display:block; width:4px; height:4px; flex:none; border-radius:50%; background:rgb(170 170 170 / 55%); }
 .mh-product-card__dots i.is-current { background:#000; }
 /* One continuous mobile surface: circle expands to pill; neither element is replaced. */
 .mh-product-card:has([data-card-quantity]) .mh-hit-card__cart { z-index:4; transition:opacity .16s; }
 .mh-product-card:has([data-card-quantity]) .mh-hit-card__cart::before { background:transparent; }
 .mh-product-card.has-cart-quantity .mh-hit-card__cart { opacity:0; pointer-events:none; }
 .mh-product-card .mh-product-card__quantity { --mh-circle:clamp(28px,17cqw,36px); position:absolute; z-index:3; right:5cqw; bottom:calc(-6cqw - (44px - var(--mh-circle))/2); display:flex; justify-content:space-between; align-items:center; height:44px; width:var(--mh-circle); max-width:calc(100% - 12px); border:0; border-radius:50%; overflow:clip; isolation:isolate; color:#fff; pointer-events:none; transition:width .2s ease,border-radius .2s ease; }
 .mh-product-card.has-cart-quantity .mh-product-card__quantity { width:112px; border-radius:24px; pointer-events:auto; }
 .mh-product-card__quantity::before { content:""; position:absolute; z-index:-1; top:50%; left:0; width:100%; height:var(--mh-circle); translate:0 -50%; border-radius:inherit; background:#000; transition:background-color .15s,border-radius .2s; }
 .mh-product-card__quantity :is(button,output) { opacity:0; visibility:hidden; transition:opacity .16s,visibility .16s; }
 .has-cart-quantity .mh-product-card__quantity :is(button,output) { opacity:1; visibility:visible; }
 .mh-product-card__quantity button { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:0; background:transparent; color:#fff; font:400 21px/1 Arial,sans-serif; border-radius:24px; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
 .mh-product-card__quantity button:disabled { opacity:.55; }
 .mh-product-card__quantity output { min-width:24px; color:#fff; text-align:center; font:500 13px/1 Onest,Arial,sans-serif; }
 .mh-product-card__quantity[aria-busy="true"]::before,
 .mh-product-card__quantity:has(button:active)::before,
 .mh-product-card:has(.mh-hit-card__cart:is(.is-pressed,:active,[aria-busy="true"])) .mh-product-card__quantity::before { background:#eb002d; transition:none; }


}
@media(prefers-reduced-motion:reduce) {
 .mh-product-card .mh-hit-card__cart,.mh-product-card .mh-hit-card__cart::before,
 .mh-product-card .mh-hit-card__image--secondary,
 .mh-product-card__quantity,.mh-product-card__quantity::before,.mh-product-card__quantity :is(button,output),
 .mh-product-card .mh-hit-card__info :is(.mh-hit-card__title,.mh-hit-card__price,.mh-product-card__rating,del) { transition:none; }
}

.mh-catalog-cart-toast { position:fixed; z-index:10050; top:calc(78px + env(safe-area-inset-top)); left:16px; right:16px; max-width:430px; margin:auto; display:flex; align-items:center; gap:12px; padding:12px; background:#111; color:#fff; box-shadow:0 4px 18px rgb(0 0 0 / 12%); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .15s; }
.mh-catalog-cart-toast.is-visible { opacity:1; visibility:visible; }
.mh-catalog-cart-toast img { width:42px; height:42px; object-fit:cover; flex:none; }
.mh-catalog-cart-toast div { min-width:0; }
.mh-catalog-cart-toast p { margin:0 0 4px; color:#fff; font:400 11px/1.3 Onest,Arial,sans-serif; }
.mh-catalog-cart-toast strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#fff; font:500 13px/1.35 Onest,Arial,sans-serif; }
@media(min-width:993px) { .mh-catalog-cart-toast { display:none; } }
@media(prefers-reduced-motion:reduce) { .mh-catalog-cart-toast { transition:none; } }
