/* Interactive controls extend the approved media-library layout. */
[data-media-library] [hidden]{display:none!important}
.media-library-sidebar>button{display:flex;align-items:center;gap:9px;padding:10px 8px;font:400 11px/1.4 var(--sans);color:#364e68;border:0;border-radius:4px;background:transparent;white-space:nowrap;text-align:left;min-height:44px;cursor:pointer}
.media-library-sidebar>button:hover{background:#faf4e9;color:#80501b}
[data-media-library] button{font-family:var(--sans);cursor:pointer}
[data-media-library] button:disabled{cursor:default;opacity:.55}
[data-media-library] :is(a,button,input,select):focus-visible{outline:3px solid #2877df;outline-offset:3px}
.media-library-toolbar{flex-wrap:wrap}
.media-search{padding:0 10px;min-height:38px;gap:7px}
.media-search input{font:400 11px/1.4 var(--sans);color:#173b5b;background:transparent;border:0;padding:10px 0;min-width:0;width:100%;border-radius:3px}
.media-search:focus-within{outline:2px solid #2877df;outline-offset:2px}
.media-search input:focus-visible{outline:none}
.media-search .icon{flex-shrink:0}
button.media-upload{border:1px solid #113250;min-height:40px;white-space:nowrap}
button.media-upload:hover{background:#204b6c}
a.media-library-tile{display:block;text-decoration:none;cursor:zoom-in}
a.media-library-tile img{transition:transform .2s ease,filter .2s ease}
a.media-library-tile:hover img{transform:scale(1.025);filter:brightness(1.05)}
a.media-library-tile:focus-visible{outline-offset:3px}
.media-library-status{font:400 11px/1.5 var(--sans);color:#52677c;margin:15px 0 0}
.media-empty{font:400 13px/1.7 var(--sans);color:#52677c;padding:28px 20px;margin:0;background:#faf8f3;border:1px dashed #d7c8b1;border-radius:4px;min-height:160px}
.media-dialog{position:fixed;inset:0;margin:auto;padding:25px;width:min(820px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #ded6cb;border-radius:12px;background:#fcfbf8;color:#173653;box-shadow:0 24px 90px #061b3266;box-sizing:border-box}
.media-dialog::backdrop{background:rgba(6,25,44,.76)}
.media-dialog-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:18px}
.drupal-page main .media-dialog-heading h3{font:500 28px/1.15 var(--serif);letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}
.media-dialog-heading button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #d8cec0;background:#fffaf2;border-radius:50%;font:400 28px/1 var(--sans);color:#173653}
.media-dialog-heading button:hover{background:#eee4d5}
.media-preview-image{display:block;width:100%;max-height:60dvh;object-fit:contain;background:#f0eae1;border-radius:6px}
.media-dialog>p{font:400 14px/1.7 var(--sans);margin:18px 0;color:#445a70}
.media-dialog .text-link{font-size:14px!important}
.media-upload-dialog{max-width:520px}
.media-upload-dialog form{display:grid;gap:16px}
.media-upload-dialog label{display:grid;gap:7px;font:600 13px/1.5 var(--sans);color:#173653}
.media-upload-dialog label span{font-weight:400;color:#52677c}
.media-upload-dialog :is(input,select){display:block;width:100%;min-width:0;box-sizing:border-box;min-height:44px;border:1px solid #c7cdd3;border-radius:5px;background:#fff;padding:10px;font:400 14px/1.5 var(--sans);color:#173653}
.media-upload-dialog input[type=file]{font-size:12px}
.media-upload-dialog #media-file-help{font:400 12px/1.5 var(--sans);margin:-8px 0 0;color:#52677c}
.media-upload-dialog .media-upload{font-size:14px;justify-content:center;min-height:46px}
.media-upload-error{font:500 13px/1.5 var(--sans);color:#a13221;margin:0}
.media-upload-error:empty{display:none}
@media(max-width:1270px){.media-library-sidebar>button{font-size:10px;padding-inline:6px}.media-search{flex:1;min-width:100px}}
@media(max-width:1100px){.media-library-toolbar>.media-search{order:3;flex:1 1 100%;border:1px solid #ddd8cf;justify-content:flex-start;font-size:11px}.media-search input{font-size:12px}}
@media(max-width:800px){.media-library-sidebar>button{font-size:12px}.media-library-toolbar>.media-search{order:0;flex:1.5;min-width:100px}}
@media(max-width:600px){.media-library-sidebar>button{padding:8px 7px;font-size:11px;gap:5px}.media-library-toolbar>.media-search{order:3;flex:1 1 100%}.media-library-status{font-size:11px}.media-dialog{padding:18px}.drupal-page main .media-dialog-heading h3{font-size:24px}.media-library-figure figcaption{font-size:11px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){a.media-library-tile img{transition:none}}
