.price-input-wrap{position:relative;flex:1}
.skeleton-card{border-radius:1rem;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,0.05);padding:1rem;display:flex;flex-direction:column;gap:.8rem}
.skeleton{position:relative;overflow:hidden;background:#eef1f6}
.skeleton::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 100%);transform:translateX(-100%);animation:shimmer 1200ms infinite}
@keyframes shimmer{100%{transform:translateX(100%)}}
.skeleton-image{height:180px;border-radius:.8rem}
.skeleton-line{height:14px;border-radius:.6rem}
.skeleton-line.short{width:60%}
.skeleton-line.medium{width:80%}
.skeleton-line.long{width:100%}
.spinner-controls{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:row;gap:.35rem}
.spinner-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#fff;color:#1a1a1a;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.08);font-size:1rem;line-height:1;border:1px solid rgba(102,126,234,.35)}
.spinner-btn.up{background:#667eea;color:#fff;border-color:transparent}
.spinner-btn.down{background:#f3f4f6;color:#111827;border-color:#d1d5db}
.spinner-btn:hover{filter:brightness(1.05)}
.spinner-btn:focus{outline:2px solid rgba(79,70,229,.4);outline-offset:2px}
@media (pointer:coarse){.spinner-btn{width:2.4rem;height:2.4rem;font-size:1.1rem}}

.price-input-wrap input[type=number]{padding-right:4.8rem;min-height:3.2rem}
.price-input-wrap input[type=number]::-webkit-outer-spin-button,
.price-input-wrap input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.price-input-wrap input.bump{animation:bump .25s ease}
@keyframes bump{0%{box-shadow:0 0 0 0 rgba(79,70,229,.35)}50%{box-shadow:0 0 0 6px rgba(79,70,229,.15)}100%{box-shadow:none}}
