.ppp-box {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 80px;
  margin: 8px;
  overflow: hidden;
}
.ppp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid #ddd;
}
.ppp-spinner {
  position: absolute;
  top:50%; left:50%;
  width:24px; height:24px;
  margin:-12px 0 0 -12px;
  border:3px solid rgba(0,0,0,0.1);
  border-top-color:#3498db;
  border-radius:50%;
  animation:ppp-spin 1s linear infinite;
  z-index:10;
}
@keyframes ppp-spin{to{transform:rotate(360deg);}}
.ppp-remove {
  position: absolute;
  top:4px; right:4px;
  width:24px; height:24px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.55); color:#fff; border:none; border-radius:50%;
  cursor:pointer; z-index:20; font-size:16px; line-height:1;
}
.ppp-error-overlay{
  position:absolute; inset:0; background:rgba(200,0,0,.75); color:#fff;
  display:flex; align-items:center; justify-content:center; text-align:center; padding:6px;
}
.ppp-retry{
  position:absolute; bottom:4px; right:4px;
  background:#fff; border:1px solid #ccc; border-radius:4px; padding:2px 6px; cursor:pointer;
}
