.media-source-choice{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    margin-top:8px;
}
.media-library-field{margin-top:10px}
.media-library-field-actions{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}
.media-library-field-summary{
    font-size:.86rem;
    color:var(--muted,#667085);
}
.media-library-selected-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:10px 2px 2px;
    scrollbar-width:thin;
}
.media-library-selected-item{
    position:relative;
    flex:0 0 92px;
    width:92px;
    height:92px;
    border-radius:12px;
    overflow:hidden;
    border:2px solid rgba(99,102,241,.18);
    background:#f3f4f6;
}
.media-library-selected-item img{width:100%;height:100%;object-fit:cover;display:block}
.media-library-selected-remove{
    position:absolute;
    top:5px;
    right:5px;
    width:26px;
    height:26px;
    border:0;
    border-radius:50%;
    background:rgba(17,24,39,.8);
    color:#fff;
    cursor:pointer;
    font-size:18px;
    line-height:1;
}
.media-library-modal{
    position:fixed;
    inset:0;
    z-index:100050;
    display:none;
    padding:22px;
}
.media-library-modal.is-open{display:grid;place-items:center}
.media-library-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}
.media-library-dialog{
    position:relative;
    z-index:1;
    width:min(1180px,96vw);
    height:min(820px,92vh);
    display:grid;
    grid-template-rows:auto auto 1fr auto;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 25px 80px rgba(15,23,42,.35);
}
.media-library-modal-header,
.media-library-modal-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 18px;
    border-bottom:1px solid #e5e7eb;
}
.media-library-modal-footer{border-bottom:0;border-top:1px solid #e5e7eb}
.media-library-modal-header strong{font-size:1.05rem}
.media-library-close{
    border:0;
    background:transparent;
    font-size:30px;
    cursor:pointer;
    line-height:1;
}
.media-library-toolbar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    padding:12px 18px;
    background:#f8fafc;
    border-bottom:1px solid #e5e7eb;
}
.media-library-toolbar input,
.media-library-toolbar select{max-width:320px;margin:0}

.media-library-bulk-actions{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}
.media-library-bulk-actions[hidden]{display:none!important}
.media-library-bulk-actions .btn{white-space:nowrap}
.media-library-browser{
    overflow:auto;
    padding:16px;
}
.media-library-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
    gap:12px;
}
.media-library-tile{
    border:2px solid transparent;
    padding:0;
    border-radius:12px;
    overflow:hidden;
    background:#f3f4f6;
    cursor:pointer;
    position:relative;
    aspect-ratio:1;
}
.media-library-tile img{width:100%;height:100%;object-fit:cover;display:block}
.media-library-tile:hover{border-color:#c7d2fe}
.media-library-tile.is-selected{border-color:#4f46e5;box-shadow:0 0 0 2px rgba(79,70,229,.18)}
.media-library-check{
    position:absolute;
    right:7px;
    top:7px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#4f46e5;
    font-weight:900;
    opacity:0;
}
.media-library-tile.is-selected .media-library-check{opacity:1}
.media-library-tile-label{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:18px 8px 7px;
    color:#fff;
    font-size:.72rem;
    text-align:left;
    background:linear-gradient(transparent,rgba(15,23,42,.78));
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.media-library-empty{text-align:center;padding:50px 20px;color:#667085}
body.media-library-modal-open{overflow:hidden}

.media-admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px}
.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.media-admin-card{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff}
.media-admin-thumb{aspect-ratio:1;background:#f3f4f6;display:block;width:100%;object-fit:cover}
.media-admin-body{padding:12px}
.media-admin-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.media-admin-meta{font-size:.78rem;color:#667085;line-height:1.45}
.media-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.media-admin-upload-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}

@media (max-width:680px){
    .media-library-modal{padding:0}
    .media-library-dialog{width:100vw;height:100dvh;border-radius:0}
    .media-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
    .media-library-browser{padding:10px}
    .media-library-toolbar{padding:10px}
    .media-library-toolbar input,.media-library-toolbar select{max-width:none;width:100%}
    .media-library-bulk-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
    .media-library-bulk-actions .btn{width:100%;justify-content:center}
    .media-library-modal-header,.media-library-modal-footer{padding:12px}
    .media-admin-upload-grid{grid-template-columns:1fr}
    .media-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

/* ===== v3.9.152 — Biblioteca de Mídia (fotos + vídeos) ===== */
.media-library-selected-preview,
.media-library-tile-preview{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    background:#111827;
}
.media-library-selected-item video,
.media-library-tile video{pointer-events:none}
.media-library-kind-badge,
.media-library-video-badge{
    position:absolute;
    left:7px;
    top:7px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:4px 7px;
    border-radius:999px;
    background:rgba(15,23,42,.76);
    color:#fff;
    font-size:.68rem;
    font-weight:800;
    line-height:1;
    backdrop-filter:blur(6px);
}
.media-library-selected-item .media-library-video-badge{
    left:5px;
    top:auto;
    bottom:5px;
}
.media-admin-thumb-video{
    aspect-ratio:1;
    display:block;
    width:100%;
    object-fit:cover;
    background:#111827;
}
.media-admin-type-badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-bottom:6px;
    padding:4px 7px;
    border-radius:999px;
    background:#f3f4f6;
    font-size:.72rem;
    font-weight:800;
}
