.storefront-body .storefront-product-card{position:relative;overflow:hidden;border-radius:22px;background:var(--surface);color:var(--ink);min-width:0}
.storefront-product-card>.card-gallery{position:relative;display:block;aspect-ratio:1;min-width:0;padding:0;background:#fff;overflow:hidden}
.storefront-product-card .card-gallery>.product-visual,.storefront-product-card .card-gallery>.catalog-product-image{display:grid;place-items:center;width:100%;height:100%;aspect-ratio:1;padding:0;background:#fff}
.storefront-product-card .card-gallery img{display:block;width:100%;height:100%;object-fit:contain}
.storefront-product-card .card-photo-track{display:flex;overflow-x:auto;overflow-y:hidden;width:100%;height:100%;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;scroll-behavior:smooth}
.storefront-product-card .card-photo-track::-webkit-scrollbar{display:none}
.storefront-product-card .card-photo-track.is-dragging{scroll-behavior:auto!important;scroll-snap-type:none!important}
.storefront-product-card .card-photo-slide{display:block;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#fff}
.storefront-product-card .card-photo-track img{transform:none!important;transition:none;user-select:none;-webkit-user-drag:none}
.storefront-product-card .card-photo-dots{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0;padding:0;border:0;background:transparent;backdrop-filter:none;z-index:2}
.storefront-product-card .card-photo-dots button{display:grid;place-items:center;flex:none;width:24px;height:24px;border:0;padding:0;background:transparent;cursor:pointer;touch-action:manipulation}
.storefront-product-card .card-photo-dots button:before{content:"";display:block;width:5px;height:5px;border:1px solid var(--surface);border-radius:50%;background:var(--muted);box-shadow:0 1px 3px color-mix(in srgb,var(--shade) 35%,transparent)}
.storefront-product-card .card-photo-dots button.is-current:before{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.storefront-product-card .card-photo-dots button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:50%}
.storefront-product-card .card-badges{position:absolute;top:14px;left:14px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}
.storefront-product-card .card-discount-badge{display:grid;gap:2px;min-width:53px;padding:9px 10px;border-radius:14px;background:var(--accent);color:#fff;font-size:18px;font-weight:850;line-height:1.05;box-shadow:0 5px 16px #123d2d1a;text-align:center}
.storefront-product-card .card-discount-badge small{font-size:8px;letter-spacing:.1em}
.storefront-product-card .card-new-badge{padding:7px 10px;border-radius:99px;background:#ffffffeb;color:#29251f;font-size:10px;font-weight:750;box-shadow:0 3px 12px #0000000d}
.storefront-product-card>.favorite-button{position:absolute;z-index:3;top:11px;right:11px}
.storefront-body .storefront-product-card>.product-info{display:grid;grid-template-rows:14px 36px 25px 22px 46px;gap:7px;padding:17px 16px 16px}
.storefront-product-card .product-info>small{margin:0;color:var(--accent);font-size:11px;font-weight:800;line-height:14px;letter-spacing:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.storefront-product-card .product-info>a{display:block;height:36px;min-height:0;margin:0;text-decoration:none;color:var(--ink)}
.storefront-body .storefront-product-card .product-info :is(h2,h3){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0;margin:0;font-size:12px;font-weight:750;line-height:1.45}
.storefront-product-card .product-info>p{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;min-height:25px;margin:0}
.storefront-product-card .product-info>p>strong{font-size:18px;font-weight:850;letter-spacing:-.03em;color:var(--accent)}
.storefront-product-card .product-info>p>:is(del,span){margin:0;font-size:10px;color:var(--muted);text-decoration:line-through}
.storefront-product-card .rating{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;margin:0;padding:0;border:0;line-height:14px}
.storefront-product-card .rating b{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:650;white-space:nowrap}
.storefront-product-card .rating b:before{content:'';width:5px;height:5px;flex:none;border-radius:50%;background:currentColor;opacity:.8}
.storefront-product-card .rating .is-available{color:var(--accent)}
.storefront-product-card .rating .is-reserved{color:#b27416}
.storefront-product-card .rating .is-sold{color:var(--danger)}
.storefront-product-card .card-delivery-label{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 6px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line));border-radius:6px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:var(--accent);font-size:9px;font-weight:650;line-height:12px;white-space:nowrap}
.storefront-product-card .card-delivery-label svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.storefront-product-card .card-campaign-space{height:46px;margin:0}
.storefront-product-card .card-campaign{position:relative;display:block;height:46px;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--ink);transition:background-color .55s,border-color .55s}
.storefront-product-card .card-campaign[hidden]{display:none}
.storefront-product-card .card-campaign[data-tone=coupon]{border-color:color-mix(in srgb,var(--accent) 23%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.storefront-product-card .card-campaign[data-tone=discount]{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}
.storefront-product-card .card-campaign-scene{position:absolute;inset:0;display:flex;align-items:center;gap:8px;padding:7px 8px;box-sizing:border-box;transform:translateY(0);transition:transform .55s cubic-bezier(.25,.8,.25,1)}
.storefront-product-card .card-campaign-scene.is-entering{transform:translateY(100%)}
.storefront-product-card .card-campaign-scene.is-leaving{transform:translateY(-100%)}
.storefront-product-card .card-campaign-icon{display:grid;place-items:center;flex:0 0 23px;width:23px;height:27px;color:var(--accent)}
.storefront-product-card [data-tone=coupon] .card-campaign-icon{color:color-mix(in srgb,var(--accent) 80%,var(--ink))}
.storefront-product-card .card-campaign-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.storefront-product-card .card-campaign-copy{display:grid;gap:2px;min-width:0;flex:1}
.storefront-product-card .card-campaign-copy strong,.storefront-product-card .card-campaign-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.storefront-product-card .card-campaign-copy strong{font-size:11px;font-weight:800;line-height:1.35}
.storefront-product-card .card-campaign-copy small{font-size:9px;line-height:1.3;color:var(--muted)}
.storefront-product-card .card-campaign-dots{display:flex;flex-direction:column;gap:3px;flex:none}
.storefront-product-card .card-campaign-dots i{width:3px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--ink) 18%,transparent)}
.storefront-product-card .card-campaign-dots .is-current{height:7px;background:var(--accent)}
@media(max-width:760px){.storefront-body .storefront-product-card>.product-info{padding:14px}.storefront-product-card .card-badges{top:11px;left:11px}.storefront-product-card .card-discount-badge{min-width:45px;padding:8px;font-size:16px}.storefront-product-card .product-info>p>strong{font-size:17px}.catalog-products .storefront-product-card>.product-info{padding:10px;grid-template-rows:14px 36px 40px 22px 46px;gap:6px}.catalog-products .storefront-product-card .product-info>p>strong{font-size:16px}.catalog-products .storefront-product-card .card-delivery-label>span{display:none}.catalog-products .storefront-product-card .card-campaign-icon{flex-basis:17px;width:17px}.catalog-products .storefront-product-card .card-campaign-icon svg{width:16px;height:16px}.catalog-products .storefront-product-card .card-campaign-scene{gap:4px;padding:6px}.catalog-products .storefront-product-card .card-campaign-copy strong{font-size:10px}.catalog-products .storefront-product-card .card-campaign-copy small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.storefront-product-card .card-campaign,.storefront-product-card .card-campaign-scene{transition:none}.storefront-product-card .card-photo-track{scroll-behavior:auto}}

.benefit-register-link{position:absolute;inset:0;z-index:2;border-radius:inherit}.card-campaign-scene:has(.benefit-register-link) .card-campaign-copy strong,.detail-campaign-scene:has(.benefit-register-link) .detail-campaign-copy strong{text-decoration:underline;text-underline-offset:3px}
.benefit-register-link:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}

/* The same compact campaign treatment on photos, detail pages and POS. */
.storefront-body{--promotion-bg:#edf5f1;--promotion-border:#b8cdc3;--promotion-ink:#265a49}
html[data-theme=dark] .storefront-body{--promotion-bg:#243b32;--promotion-border:#4e7060;--promotion-ink:#d4e8dc}
.storefront-product-card .card-badges,.product-gallery .detail-badges{top:12px;left:12px;max-width:calc(100% - 72px);gap:5px}
.storefront-product-card .promotion-badge,.product-gallery .detail-badges>.promotion-badge{display:inline-flex;align-items:center;gap:5px;position:static;min-width:0;max-width:100%;padding:5px 7px;border:1px solid var(--promotion-border);border-radius:7px;background:var(--promotion-bg);color:var(--promotion-ink);font:700 10px/1.3 var(--font-body,Arial,sans-serif);letter-spacing:0;text-align:left;box-shadow:none;text-transform:none}
.promotion-badge>svg{width:13px;height:13px;flex:none}
.promotion-badge>span{min-width:0;overflow-wrap:anywhere}
.storefront-product-card .card-new-badge,.product-gallery .detail-badges>.detail-new{padding:4px 7px;border-radius:6px;font-size:9px;line-height:1.3;box-shadow:none}
.storefront-product-card .card-campaign:is([data-tone=bundle],[data-tone=gift]),.product-detail-campaigns:is([data-tone=bundle],[data-tone=gift]){border-color:var(--promotion-border);background:var(--promotion-bg)}
.storefront-product-card :is([data-tone=bundle],[data-tone=gift]) .card-campaign-icon,.product-detail-campaigns:is([data-tone=bundle],[data-tone=gift]) .detail-campaign-icon{color:var(--promotion-ink)}
@media(min-width:761px){.product-gallery .detail-badges>.promotion-badge{font-size:11px;padding:6px 8px}.product-gallery .promotion-badge>svg{width:14px;height:14px}}
@media(max-width:760px){.storefront-product-card .card-badges,.product-gallery .detail-badges{top:10px;left:10px;gap:4px}.storefront-product-card .promotion-badge,.product-gallery .detail-badges>.promotion-badge{padding:4px 6px;font-size:9px;gap:4px}.promotion-badge>svg{width:12px;height:12px}}
/* Narrow catalog cards show promotions below the photo, without duplicate overlays. */
@media(max-width:760px){.catalog-products .card-badges{display:none}}
.storefront-body .cart-gift-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;margin:12px 0 0;padding:12px;border:1px solid var(--promotion-border,var(--line));border-radius:12px;background:var(--promotion-bg,var(--surface));color:var(--ink)}
.storefront-body .cart-gift-image{display:grid;place-items:center;width:64px;height:64px;overflow:hidden;border-radius:9px;background:var(--surface);color:var(--promotion-ink,var(--accent))}
.storefront-body .cart-gift-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.storefront-body .cart-gift-image>svg{width:25px;height:25px}
.storefront-body .cart-gift-copy{min-width:0;overflow-wrap:anywhere}
.storefront-body .cart-gift-copy>strong{display:block;margin:3px 0;font-size:12px;line-height:1.4}
.storefront-body .cart-gift-copy>span{display:block;margin:0;font-size:11px;color:var(--muted)}
.storefront-body .cart-gift-label{display:flex;align-items:center;gap:4px;margin:0;font-size:10px;color:var(--promotion-ink,var(--accent));font-weight:750}
.storefront-body .cart-gift-label>svg{width:14px;height:14px;flex:none}
.storefront-body .cart-gift-price{margin:0;font-size:12px;color:var(--promotion-ink,var(--accent));white-space:nowrap}
@media(max-width:400px){.storefront-body .cart-gift-line{grid-template-columns:52px minmax(0,1fr);gap:9px}.storefront-body .cart-gift-image{width:52px;height:52px;grid-row:1/3}.storefront-body .cart-gift-price{grid-column:2}}
