.product-card-3d-wrapper{width:100%}.product-card-3d{position:relative;border-radius:24px;background:var(--bg-surface,#0d0f18);border:1px solid rgba(255,255,255,.08);overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .3s ease,border-color .3s ease;display:flex;flex-direction:column;height:100%;box-shadow:0 10px 30px rgba(0,0,0,.5)}.product-card-3d:hover{border-color:rgba(255,255,255,.16);box-shadow:0 20px 48px rgba(0,0,0,.7),0 0 24px rgba(255,49,49,.15)}.product-card-3d__glow{position:absolute;inset:0;pointer-events:none;z-index:1;border-radius:24px;opacity:0;transition:opacity .25s ease}.product-card-3d__media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-base,#08090e);border-top-left-radius:24px;border-top-right-radius:24px}.product-card-3d__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-card-3d:hover .product-card-3d__media img{transform:scale(1.06)}.product-card-3d__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--grey-400,#8b92b0);gap:.5rem;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(229,9,20,.04))}.product-card-3d__media-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,15,24,.5) 0,transparent 60%);pointer-events:none}.product-card-3d__content{position:relative;z-index:3;padding:1.25rem;display:flex;flex-direction:column;gap:.9rem;flex:1 1}.product-card-3d__meta-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.product-card-3d__badge-category{display:inline-flex;align-items:center;gap:6px;background:rgba(255,49,49,.05);border:1px solid rgba(255,49,49,.25);padding:.3rem .75rem;border-radius:var(--r-pill,9999px);font-family:var(--font-body,"Inter",sans-serif);font-size:.7rem;font-weight:800;color:#8b92b0;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65%}.product-card-3d__badge-category svg{color:#ff3131;flex-shrink:0}.product-card-3d__badge-price{background:#ff3131;padding:.35rem .95rem;border-radius:var(--r-pill,9999px);font-size:1.18rem;font-weight:900;box-shadow:0 0 20px rgba(255,49,49,.55);flex-shrink:0}.product-card-3d__badge-price,.product-card-3d__title{font-family:var(--font-body,"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);color:#ffffff;letter-spacing:-.01em}.product-card-3d__title{font-size:1.22rem;font-weight:800;line-height:1.3;transition:color .2s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-3d:hover .product-card-3d__title{color:#ffffff}.product-card-3d__frameworks{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.fw-chip{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body,"Inter",sans-serif);font-size:.74rem;font-weight:600;padding:.3rem .7rem;border-radius:8px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);color:#4b5568;white-space:nowrap;transition:all .2s ease}.fw-chip.active{background:rgba(255,49,49,.08);border-color:rgba(255,49,49,.35);color:#ffffff;font-weight:700}.product-card-3d__actions{display:grid;grid-template-columns:1fr 1.35fr;grid-gap:.6rem;gap:.6rem;margin-top:auto;padding-top:.35rem}.product-card-3d__btn{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.68rem .85rem;border-radius:12px;font-family:var(--font-body,"Inter",sans-serif);font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s ease;border:none}.product-card-3d__btn.btn-view{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#e2e8f0}.product-card-3d__btn.btn-view:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#ffffff}.product-card-3d__btn.btn-cart{background:#ff3131;color:#ffffff;box-shadow:0 4px 18px rgba(255,49,49,.4)}.product-card-3d__btn.btn-cart:hover{background:#e02424;transform:translateY(-1px);box-shadow:0 6px 22px rgba(255,49,49,.55)}.skeleton-card{border-radius:var(--r-lg,16px);overflow:hidden;display:flex;flex-direction:column;background:rgba(18,20,32,.6);border:1px solid rgba(255,255,255,.05);transform:translateZ(0)}.skeleton-image{width:100%;aspect-ratio:16/9;background:rgba(255,255,255,.04)}.skeleton-content{padding:var(--sp-4,16px);display:flex;flex-direction:column;gap:var(--sp-3,12px)}.skeleton-line{border-radius:var(--r-sm,6px);background:rgba(255,255,255,.05)}.skeleton-line--tags{width:45%;height:14px}.skeleton-line--title{width:75%;height:22px}.skeleton-line--price{width:35%;height:24px}.skeleton-actions{display:flex;gap:var(--sp-2,8px);padding:0 var(--sp-4,16px) var(--sp-4,16px)}.skeleton-btn{flex:1 1;height:42px;border-radius:var(--r-md,10px);background:rgba(255,255,255,.05)}.skeleton-tabs{display:flex;gap:12px;padding:12px;overflow:hidden}.skeleton-tab-pill{width:120px;height:42px;border-radius:9999px;background:rgba(255,255,255,.05);flex-shrink:0}.product-detail-skeleton{padding-top:2rem;padding-bottom:4rem}.skeleton-breadcrumb{width:260px;height:18px;margin-bottom:24px;border-radius:4px}.skeleton-banner{width:100%;height:420px;border-radius:var(--r-lg,16px);margin-bottom:32px;background:rgba(255,255,255,.04)}.skeleton-detail-grid{display:grid;grid-template-columns:1fr 340px;grid-gap:32px;gap:32px}@media (max-width:992px){.skeleton-detail-grid{grid-template-columns:1fr}}.skeleton-box{width:100%;border-radius:var(--r-lg,16px);background:rgba(255,255,255,.04)}.checkout-skeleton{padding-top:3rem;padding-bottom:5rem}.checkout-skeleton-grid{display:grid;grid-template-columns:1fr 380px;grid-gap:32px;gap:32px}@media (max-width:900px){.checkout-skeleton-grid{grid-template-columns:1fr}}.checkout-skeleton-left{display:flex;flex-direction:column;gap:20px}.route-skeleton-container{padding:4rem 1.5rem;text-align:center}.shimmer{background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(229,9,20,.12) 50%,rgba(255,255,255,.03));background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;will-change:background-position}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}