.product-badge{position:absolute;z-index:10;animation:bounce-in .4s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.product-badge{animation:none}}.product-badge--top-left{top:8px;left:8px}.product-badge--top-right{top:8px;right:8px}.product-badge--bottom-left{bottom:8px;left:8px}.product-badge--bottom-right{bottom:8px;right:8px}@keyframes bounce-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.rating-stars{display:inline-flex;align-items:center}.rating-stars__container{display:flex;gap:2px}.rating-stars__star{color:var(--neutral-alpha-medium);transition:color .2s ease}.rating-stars__star--full{color:var(--warning-medium)}.rating-stars__star--half{background:linear-gradient(90deg,var(--warning-medium) 50%,var(--neutral-alpha-medium) 50%);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.rating-stars__star--empty{color:var(--neutral-alpha-weak)}.rating-stars__value{font-size:14px;font-weight:500;color:var(--neutral-strong)}.rating-stars__count{font-size:12px;color:var(--neutral-medium)}.optimized-image-container{position:relative;width:100%;height:100%;overflow:hidden;background:var(--neutral-alpha-weak);border-radius:var(--radius-m)}.optimized-image{width:100%;height:100%;transition:opacity .3s ease-out}.optimized-image-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--neutral-alpha-weak) 0,var(--neutral-alpha-medium) 50%,var(--neutral-alpha-weak) 100%);overflow:hidden;z-index:1}.optimized-image-skeleton__shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 50%,transparent)}.optimized-image-error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--neutral-alpha-weak);color:var(--neutral-on-background-medium);font-size:var(--font-size-s);z-index:2}.product-card-wrapper{display:block;text-decoration:none;height:100%}.product-card-wrapper:focus-visible{outline:2px solid var(--brand-solid-strong);outline-offset:2px}.product-card-wrapper>div{height:100%}.product-card{position:relative;height:100%;display:flex;flex-direction:column;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.product-card__image-container{position:relative;width:100%;height:200px;border-radius:var(--radius-m);background:var(--neutral-alpha-weak);overflow:hidden}.product-card__image{width:100%;height:100%;object-fit:cover;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}@media(prefers-reduced-motion:reduce){.product-card__image{transition:none}}.product-card__image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--neutral-on-background-medium);font-size:14px}.product-card__description,.product-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__old-price{text-decoration:line-through;opacity:.7}.product-card--featured .product-card__image-container{height:280px}.product-card--compact .product-card__image-container{height:160px}.product-card--default .product-card__image-container{height:200px}@media(max-width:1024px){.product-card__image-container{height:180px}.product-card--featured .product-card__image-container{height:240px}.product-card--compact .product-card__image-container{height:140px}}@media(max-width:768px){.product-card__image-container{height:160px}.product-card--featured .product-card__image-container{height:200px}.product-card--compact .product-card__image-container{height:120px}}.product-gallery{width:100%;animation:fadeIn .4s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.product-gallery{animation:none}}.product-gallery--empty{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--neutral-on-background-medium)}.product-gallery--empty,.product-gallery__main{background:var(--neutral-alpha-weak);border-radius:var(--radius-l)}.product-gallery__main{position:relative;width:100%;aspect-ratio:1;overflow:hidden;cursor:zoom-in}.product-gallery__main--zoomed{cursor:zoom-out}.product-gallery__main--zoomed .product-gallery__image{transform:scale(1.5)}.product-gallery__image{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.product-gallery__image{transition:none}}.product-gallery__video{width:100%;height:100%;object-fit:cover}.product-gallery__thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.product-gallery__thumbnails::-webkit-scrollbar{height:6px}.product-gallery__thumbnails::-webkit-scrollbar-track{background:var(--neutral-alpha-weak);border-radius:3px}.product-gallery__thumbnails::-webkit-scrollbar-thumb{background:var(--neutral-alpha-medium);border-radius:3px}.product-gallery__thumbnails::-webkit-scrollbar-thumb:hover{background:var(--neutral-alpha-strong)}.product-gallery__thumbnail{min-width:44px;min-height:44px;flex-shrink:0;width:80px;height:80px;padding:0;background:var(--neutral-alpha-weak);border:2px solid rgba(0,0,0,0);border-radius:var(--radius-s);overflow:hidden;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.product-gallery__thumbnail:focus-visible{outline:2px solid var(--brand-solid-strong);outline-offset:2px}.product-gallery__thumbnail img{width:100%;height:100%;object-fit:cover}.product-gallery__thumbnail:hover{border-color:var(--brand-border-medium);transform:scale(1.05)}.product-gallery__thumbnail--active{border-color:var(--brand-border-strong);box-shadow:0 2px 8px rgba(0,0,0,.1)}@media(prefers-reduced-motion:reduce){.product-gallery__thumbnail{transition:border-color .15s cubic-bezier(.4,0,.2,1)}.product-gallery__thumbnail:hover{transform:none}}.product-gallery__thumbnail-video{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--neutral-alpha-medium);color:var(--neutral-on-background-strong);font-size:24px}@media(max-width:1024px){.product-gallery__main{aspect-ratio:4/3}.product-gallery__thumbnail{width:60px;height:60px}}@media(max-width:768px){.product-gallery__main{aspect-ratio:1}.product-gallery__thumbnail{width:50px;height:50px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}