/* v3.9.120 — ordenação de fotos por arrastar + upload em lotes individuais */
.social-photo-picker-help{
    display:block;
    margin-top:7px;
    color:var(--muted,#6b7280);
    font-size:.9rem;
    line-height:1.45;
}

.social-photo-sort-strip,
.social-existing-photo-strip{
    display:flex;
    gap:10px;
    margin-top:12px;
    padding:4px 2px 10px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
}

.social-photo-sort-strip:empty,
.social-existing-photo-strip:empty{
    display:none;
}

.social-photo-sort-item,
.social-existing-photo-item{
    position:relative;
    flex:0 0 122px;
    width:122px;
    overflow:hidden;
    border:2px solid color-mix(in srgb,var(--primary) 18%,#d9dce5);
    border-radius:14px;
    background:#fff;
    box-shadow:0 5px 16px rgba(15,23,42,.08);
    scroll-snap-align:start;
    user-select:none;
    transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,opacity .14s ease;
}

.social-photo-sort-item.is-dragging,
.social-existing-photo-item.is-dragging{
    opacity:.72;
    transform:scale(.97);
    border-color:var(--primary);
    box-shadow:0 12px 28px rgba(15,23,42,.18);
    z-index:8;
}

.social-photo-sort-item.is-uploaded{
    border-color:#2e9d57;
}

.social-photo-sort-item.is-upload-error{
    border-color:#c73c49;
}

.social-photo-sort-thumb,
.social-existing-photo-thumb{
    display:block;
    width:100%;
    height:94px;
    object-fit:cover;
    background:#f3f4f6;
    pointer-events:none;
}

.social-photo-sort-meta,
.social-existing-photo-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:5px;
    min-height:34px;
    padding:6px 8px;
    font-size:11px;
    font-weight:800;
}

.social-photo-sort-position,
.social-existing-photo-position{
    overflow:hidden;
    color:var(--primary);
    white-space:nowrap;
    text-overflow:ellipsis;
}

.social-photo-sort-handle,
.social-existing-sort-handle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:29px;
    height:29px;
    flex:0 0 29px;
    padding:0;
    border:0;
    border-radius:8px;
    background:color-mix(in srgb,var(--primary) 11%,#fff);
    color:var(--primary);
    cursor:grab;
    font:inherit;
    font-size:16px;
    touch-action:none;
}

.social-photo-sort-handle:active,
.social-existing-sort-handle:active{
    cursor:grabbing;
}

.social-photo-sort-remove{
    position:absolute;
    top:6px;
    right:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:27px;
    height:27px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(20,20,30,.78);
    color:#fff;
    cursor:pointer;
    font-size:16px;
    line-height:1;
    z-index:3;
}

.social-photo-sort-cover,
.social-existing-photo-cover{
    position:absolute;
    left:6px;
    top:6px;
    padding:4px 7px;
    border-radius:999px;
    background:var(--primary);
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.02em;
    z-index:2;
}

.social-photo-upload-state{
    display:none;
    margin-top:12px;
    padding:11px 12px;
    border:1px solid color-mix(in srgb,var(--primary) 18%,#dfe3eb);
    border-radius:12px;
    background:color-mix(in srgb,var(--primary) 4%,#fff);
}

.social-photo-upload-state.is-visible{display:block;}

.social-photo-upload-bar{
    height:8px;
    overflow:hidden;
    border-radius:999px;
    background:#e9edf3;
}

.social-photo-upload-bar > span{
    display:block;
    width:0;
    height:100%;
    background:var(--primary);
    border-radius:inherit;
    transition:width .18s ease;
}

.social-photo-upload-copy{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:7px;
    font-size:.85rem;
}

.social-photo-picker.is-upload-locked input[type=file],
.social-photo-picker.is-upload-locked .social-photo-sort-handle{
    pointer-events:none;
    opacity:.55;
}

body.social-photo-sorting{
    user-select:none !important;
    cursor:grabbing !important;
}

.social-existing-photo-item .remove-photo-control{
    display:flex;
    align-items:flex-start;
    gap:6px;
    padding:7px 8px 9px;
    font-size:11px;
    line-height:1.3;
}

@media(max-width:700px){
    .social-photo-sort-item,
    .social-existing-photo-item{
        flex-basis:108px;
        width:108px;
    }

    .social-photo-sort-thumb,
    .social-existing-photo-thumb{
        height:84px;
    }
}

/* ===== v3.9.152 — prévia e ordenação de fotos + vídeos ===== */
.social-photo-sort-thumb:is(video),
.social-existing-photo-thumb:is(video){
    background:#111827;
}
.social-photo-sort-video-badge,
.social-existing-media-badge{
    position:absolute;
    left:6px;
    bottom:40px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    padding:4px 7px;
    border-radius:999px;
    background:rgba(15,23,42,.78);
    color:#fff;
    font-size:10px;
    font-weight:900;
    line-height:1;
}
