.studio-gallery .gallery-intro{margin:17px 0 20px;max-width:850px}
.gallery-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.gallery-select-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);min-width:230px;flex:1;max-width:420px}
.gallery-select-label select{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--strong);color:var(--ink);font:inherit;font-size:13px}
.gallery-metadata{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto;gap:14px;align-items:end;margin:0 0 22px}
.gallery-metadata label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.gallery-metadata button{min-height:43px;white-space:nowrap}
.gallery-upload-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:17px 0;border-top:1px solid var(--line)}
.gallery-upload-hint{font-size:11px}
.gallery-progress{display:flex;align-items:center;gap:14px;margin:0 0 12px}
.gallery-progress progress{flex:1;min-width:0;height:8px;accent-color:var(--accent-bright);border:0;border-radius:20px;overflow:hidden}
.gallery-progress progress::-webkit-progress-bar{background:var(--line);border-radius:20px}
.gallery-progress progress::-webkit-progress-value{background:var(--accent-bright);border-radius:20px}
.gallery-progress button{font-size:11px}
.gallery-status{min-height:22px;margin:0 0 15px;font-size:12px;overflow-wrap:anywhere}
.gallery-status-error{color:#a65d45}
.gallery-errors{margin:0 0 20px;padding:12px 18px 12px 34px;border-radius:14px;background:#b9754520;font-size:11px;overflow-wrap:anywhere}
.gallery-errors li+li{margin-top:5px}
.gallery-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 22px}
.gallery-photo-card{min-width:0;border-radius:20px;overflow:hidden;border:1px solid var(--border);background:var(--panel);box-shadow:0 8px 24px #7e5b4010}
.gallery-thumb{position:relative;aspect-ratio:4/3;background:#e4dfd2}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-cover-badge{position:absolute;left:10px;bottom:10px;padding:3px 9px;border-radius:20px;font-size:10px;background:#fffaf4df;color:#8b6b3c;backdrop-filter:blur(8px);border:1px solid #ffffff85}
.gallery-caption-label{display:block;padding:13px 14px 0;font-size:10px;color:var(--muted)}
.gallery-caption-label>span{display:block;margin-bottom:5px}
.gallery-caption-label .gallery-caption{min-height:67px;max-height:160px;resize:vertical;padding:9px 10px;font-size:12px;line-height:1.8;background:var(--strong)}
.gallery-photo-actions{display:flex;align-items:center;gap:6px;padding:12px 14px 14px;flex-wrap:wrap}
.gallery-photo-actions .quiet-button{font-size:10px;padding:6px 10px;min-height:32px}
.gallery-photo-actions .danger{margin-left:auto}
.gallery-photo-actions button:disabled{opacity:.35}
.gallery-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:20px;text-align:center;padding:35px 20px;color:var(--muted)}
.gallery-empty>span{display:block;font:35px/1.2 var(--serif);color:var(--accent);opacity:.7;margin-bottom:10px}
.gallery-empty p{font-size:12px;line-height:1.9}
.dark .gallery-thumb{background:#312e28}
.dark .gallery-status-error{color:#e2a087}
.studio-gallery[aria-busy=true] .gallery-upload-hint{opacity:.7}
@media(max-width:960px){.gallery-metadata{grid-template-columns:1fr 1.7fr}.gallery-metadata>button{justify-self:start;grid-column:1/-1;min-height:36px}.gallery-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gallery-toolbar{gap:10px}.gallery-select-label{min-width:100%;max-width:none}.gallery-toolbar .quiet-button{font-size:11px;padding:8px 13px}.gallery-metadata{grid-template-columns:1fr;gap:12px}.gallery-metadata>button{grid-column:auto}.gallery-upload-row{gap:10px}.gallery-upload-hint{font-size:10px;line-height:1.9}.gallery-photos{gap:14px}.gallery-caption-label{padding:11px 10px 0}.gallery-photo-actions{padding:9px 10px 12px;gap:5px}.gallery-photo-actions .quiet-button{font-size:9px;padding:6px 8px}.gallery-photo-actions .danger{margin-left:0}.gallery-status{font-size:11px}}
@media(max-width:390px){.gallery-photos{grid-template-columns:1fr}.gallery-thumb{aspect-ratio:16/10}.gallery-photo-actions .danger{margin-left:auto}}
