.frame-card{position:relative;overflow:visible}.frame-card-link{display:block;position:relative;z-index:1}.frame-card-content{padding:.75rem}.frame-card-brand{font-size:.65rem;line-height:1.2;height:1.2em;display:flex;align-items:center;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-card-title{font-size:.7rem;line-height:1.4;height:2.8em;display:flex;align-items:center;font-weight:500;color:#1e293b;margin-bottom:.25rem;overflow:hidden}.frame-card-title-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.frame-card-info{font-size:.65rem;line-height:1.4;height:2.8em;display:flex;align-items:center;color:#64748b;overflow:hidden}.frame-card-info-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.frame-card-price{margin-top:.125rem}.frame-card-price-text{font-size:.8rem;font-weight:700;color:#1e293b}.frame-card-price-tax{font-size:.6rem;font-weight:400;color:#94a3b8}.frame-card-link:hover .frame-card-title,.group:hover .frame-card-title{color:#475569}@keyframes recommend-ripple{0%{transform:scale(1);opacity:.6}to{transform:scale(1.5);opacity:0}}.recommend-badge-container{position:absolute;top:.75rem;left:.75rem;z-index:10;overflow:visible}.recommend-badge{position:relative;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;background-color:#c60000;color:#fff;font-size:.65rem;font-weight:600;border-radius:9999px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:1}.recommend-badge:before{content:"";position:absolute;inset:0;background-color:#991b1b;border-radius:inherit;z-index:-1;animation:recommend-ripple 2s ease-out infinite}.recommend-badge-icon{width:.625rem;height:.625rem;fill:currentColor}.frame-card-image-container{position:relative;overflow:visible;background-color:#fff;aspect-ratio:1 / 1}.frame-card-image-inner{position:relative;width:100%;height:100%;overflow:hidden}.frame-card-image{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.frame-card-link:hover .frame-card-image,.group:hover .frame-card-image{transform:scale(1.05)}.frame-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.frame-card-placeholder-icon{width:3rem;height:3rem;color:#cbd5e1}.favorite-card-btn{opacity:1;transition:color .2s ease,transform .2s ease}.favorite-card-btn[aria-pressed=true]{color:#f43f5e}.favorite-card-btn[aria-pressed=true] svg{fill:currentColor}.favorite-card-btn.favorite-card-bounce{animation:card-favorite-bounce .3s ease}@keyframes card-favorite-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@media(prefers-reduced-motion:reduce){.recommend-badge:before{animation:none}.frame-card-image{transition:none}}
