.card{--card-bg:#ffffff;--card-accent:#928aa4;--card-text:#1e293b;--card-shadow:0 10px 15px -3px rgba(0,0,0,0.05);width:100%;height:254px;border-radius:20px;position:relative;overflow:hidden;transition:all .5s cubic-bezier(.16,1,.3,1);box-shadow:var(--card-shadow);border:1px solid hsla(0,0%,100%,.2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.card__shine{position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.8) 50%,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .3s ease}.card__content{padding:1.25em;height:100%;display:flex;flex-direction:column;gap:.75em;position:relative;z-index:2}.card__badge{position:absolute;top:12px;right:12px;background:#10b981;padding:.25em .5em;border-radius:999px;font-size:.7em;font-weight:600;transform:scale(.8);opacity:0;transition:all .4s ease .1s}.card__image{width:70%;height:100px;border-radius:12px;transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.card__image:after{content:"";position:absolute;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1) 0,transparent 30%),repeating-linear-gradient(45deg,rgba(139,92,246,.1),rgba(139,92,246,.1) 2px,transparent 0,transparent 4px);opacity:.5}.card__text{display:flex;flex-direction:column;gap:.25em}.card__title{font-size:1.1em;font-weight:700}.card__description,.card__title{margin:0;transition:all .3s ease}.card__description{font-size:.75em;opacity:.7}.card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.card__type{font-weight:700;transition:all .3s ease}.card:hover{transform:translateY(-10px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border-color:rgba(39,3,100,.2)}.card:hover .card__glow{opacity:1}.card:hover .card__badge{transform:scale(1);opacity:1;z-index:1}.card:hover .card__image{transform:translateY(-5px) scale(1.03);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.card:hover .card__title{color:var(--card-accent);transform:translateX(2px)}.card:hover .card__description{opacity:1;transform:translateX(2px)}.card:hover .card__price{transform:translateX(2px)}.card:hover .card__button{transform:scale(1);box-shadow:0 0 0 4px rgba(143,140,149,.2)}.card:hover .card__button svg{animation:pulse 1.5s infinite}.card:active{transform:translateY(-5px) scale(.98)}@keyframes shine{0%{background-position:-100% 0}to{background-position:200% 0}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}