.media-picker { min-width: 0; color: #222; }
.media-picker-actions, .media-picker-file-actions, .media-picker-pagination { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.media-picker-actions { margin-bottom: 16px; }
.media-picker-name { font-weight: 600; overflow-wrap: anywhere; line-height: 1.4; }
.media-picker-help, .media-picker-empty { font-size: .875rem; color: #525252; line-height: 1.5; }
.media-picker-empty { padding: 12px 0; }
.media-picker-selected, .media-library-grid { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 16px; }
.media-picker-selected > li { display: flex; gap: 16px; padding: 12px; border: 1px solid #d5d0c6; align-items: flex-start; }
.media-picker-info { min-width: 0; flex: 1; }
.media-picker-preview { display: block; position: relative; border: 0; background: #f4f1ea; cursor: pointer; text-decoration: none; width: 100%; }
.media-picker-preview img { width: 100%; height: 150px; object-fit: contain; }
.media-picker-selected .media-picker-preview { width: 150px; flex-shrink: 0; }
.media-picker-preview span { display: block; text-align: center; padding: 4px; color: #222; }
.media-picker-document { display: inline-block; padding: 12px; color: #604016; text-decoration: underline; }
.media-picker-file-actions { margin-top: 12px; gap: 8px 16px; }
.media-picker-file-actions button, .media-picker-pagination button { color: #604016; text-decoration: underline; cursor: pointer; min-height: 40px; text-align: left; font-size: .875rem; }
.media-picker button:disabled { cursor: default; color: #737373; text-decoration: none; }
.media-library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.media-library-grid > li { border: 1px solid #d5d0c6; padding: 12px; min-width: 0; }
.media-library-grid > li.is-selected { outline: 2px solid #785221; outline-offset: -2px; background: #faf6ee; }
.media-library-choice { display: flex; gap: 10px; align-items: flex-start; padding: 12px 0; cursor: pointer; }
.media-library-choice input { margin-top: 3px; flex-shrink: 0; width: 18px; height: 18px; accent-color: #785221; }
.media-picker-usage { font-size: .875rem; margin-top: 8px; }
.media-picker-usage summary { cursor: pointer; text-decoration: underline; min-height: 32px; color: #604016; }
.media-picker-usage ul { padding-left: 18px; list-style: disc; color: #525252; overflow-wrap: anywhere; }
.media-picker-pagination { justify-content: space-between; margin-top: 18px; font-size: .875rem; }
.media-picker :focus-visible { outline: 3px solid #785221; outline-offset: 3px; }
.media-picker-zoom { position: fixed; inset: 0; margin: auto; max-width: 94vw; max-height: 94vh; padding: 16px; background: #fff; color: #222; border: 1px solid #d5d0c6; }
.media-picker-zoom::backdrop { background: rgba(0,0,0,.75); }
.media-picker-zoom button { padding: 8px 12px; border: 1px solid #785221; margin-bottom: 10px; cursor: pointer; }
.media-picker-zoom img { display: block; max-width: 88vw; max-height: 75vh; object-fit: contain; }
.media-upload-duplicates { padding: 12px; border-left: 3px solid #785221; color: #222; }
.media-upload-duplicates li { display: flex; align-items: center; gap: 12px; margin-top: 12px; overflow-wrap: anywhere; }
.media-upload-duplicates img { width: 90px; height: 70px; object-fit: contain; }
@media (max-width: 800px) { .media-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
    .media-library-grid { grid-template-columns: minmax(0, 1fr); }
    .media-picker-selected > li { flex-direction: column; }
    .media-picker-selected .media-picker-preview { width: 100%; }
    .media-picker-actions { align-items: stretch; flex-direction: column; }
    .media-picker-zoom img { max-width: 82vw; }
}
.media-details-preview img,
.media-details-preview video {
    max-height: 300px;
    max-width: 100%;
    object-fit: contain;
}
