.carousel{border-radius:var(--radius-lg);position:relative;overflow:hidden}.carousel-track-wrap{padding:20px 0;overflow:hidden}.carousel-track{align-items:center;transition:transform .5s cubic-bezier(.4,0,.2,1);display:flex}.carousel-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);opacity:.45;filter:blur(.5px);cursor:pointer;text-align:left;color:inherit;font-family:inherit;line-height:inherit;grid-template-columns:38% 62%;transition:opacity .28s,transform .28s,box-shadow .28s,border-color .28s,filter .28s;display:grid;overflow:hidden;transform:scale(.88)}.carousel-card:not(.ready){transition:none}.carousel-card.active{opacity:1;box-shadow:var(--shadow-lg);filter:blur();z-index:2;border-color:#689f384d;transform:scale(1)}.carousel-card:hover{border-color:var(--primary)}.carousel-card .part-card-image{background:var(--bg);height:100%;min-height:220px;color:var(--text-muted);border-right:1px solid var(--border-light);flex-direction:column;justify-content:center;align-items:center;font-size:.82rem;display:flex;position:relative}.part-image{object-fit:cover;width:100%;height:100%}.part-image-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0}.carousel-card .part-card-image .part-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:800;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #689f3859}.carousel-card .part-card-image .size-hint{opacity:.6;margin-top:4px;font-size:.7rem}.carousel-card .part-card-body{flex-direction:column;justify-content:center;padding:28px 26px;display:flex}.carousel-card .part-card-body .part-name{color:var(--dark);margin-bottom:12px;font-size:1.2rem;font-weight:700;display:block}.carousel-card .part-card-body .part-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.carousel-card .part-card-body .part-tags .tag-chip{background:var(--primary-soft);color:var(--primary-dark);border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.carousel-card .part-card-body .part-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.88rem;line-height:1.7;display:block}.carousel-card .part-card-body .part-model{color:var(--accent-blue);background:var(--accent-blue-soft);border-radius:10px;align-self:flex-start;align-items:center;gap:4px;padding:5px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.carousel-arrow{background:var(--surface);border:2px solid var(--border-light);width:48px;height:48px;box-shadow:var(--shadow-lg);cursor:pointer;z-index:10;color:var(--text-secondary);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-50%)scale(1.1)}.carousel-arrow.prev{left:8px}.carousel-arrow.next{right:8px}.carousel-arrow.hidden{display:none}.carousel-labels{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:24px;display:flex}.carousel-label{color:var(--text-muted);border:1.5px solid var(--border-light);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border-radius:20px;padding:6px 16px;font-size:.82rem;font-weight:600}.carousel-label:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.carousel-label.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 10px #689f384d}.carousel-progress{background:var(--border-light);border-radius:2px;max-width:200px;height:3px;margin-top:16px;margin-left:auto;margin-right:auto;overflow:hidden}.carousel-progress-bar{background:var(--primary);border-radius:2px;height:100%;transition:width .4s}@media (width<=768px){.carousel-card{opacity:.6;grid-template-columns:1fr;transform:scale(.92)}.carousel-card.active{opacity:1;transform:scale(1)}.carousel-card .part-card-image{border-right:none;border-bottom:1px solid var(--border-light);height:160px;min-height:160px}.carousel-card .part-card-body{padding:18px 20px}.carousel-arrow{display:none}.carousel-labels{gap:4px}.carousel-label{padding:4px 10px;font-size:.75rem}}
