.blog-gallery [hidden], .blog-gallery-editor [hidden] { display: none !important; }
.blog-gallery-stage { aspect-ratio: 6 / 5; width: 100%; max-height: 550px; background: #f3f6f5; border-radius: .8rem; overflow: hidden; }
.blog-gallery .blog-gallery-stage img { width: 100%; height: 100%; max-height: none; border-radius: 0; object-fit: contain; }
.blog-gallery-controls { display: flex; gap: .6rem; align-items: center; justify-content: center; flex-wrap: wrap; margin: .85rem 0; color: #617570; font-size: .8rem; }
.blog-gallery-controls button { margin: 0; padding: .5rem .75rem; min-height: 40px; border: 1px solid #cddad6; border-radius: .5rem; background: #fff; color: #30554b; font: inherit; cursor: pointer; }
.blog-gallery-controls button:hover { background: #eef5f2; }
.blog-gallery-thumbnails { display: flex; gap: .6rem; overflow-x: auto; padding: .4rem; margin-top: .75rem; }
.blog-gallery-thumbnails a { flex: 0 0 90px; border: 3px solid transparent; border-radius: .6rem; padding: 2px; }
.blog-gallery .blog-gallery-thumbnails img { width: 100%; height: 72px; object-fit: cover; border-radius: .3rem; }
.blog-gallery-thumbnails [aria-current="true"] { border-color: #367f6d; }
.blog-gallery :focus-visible { outline: 3px solid #37818a; outline-offset: 3px; }
.blog-gallery-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.blog-gallery-editor > article { min-width: 0; padding: .8rem; border: 1px solid #dde5ec; border-radius: .7rem; background: #fafcfc; }
.blog-gallery-editor > article.is-selected { border-color: #256b73; }
.admin-page .blog-gallery-select { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: #21364b; text-align: left; }
.blog-gallery-select img { display: block; width: 100%; height: 130px; object-fit: contain; background: #edf1f2; border-radius: .5rem; }
.blog-gallery-select strong, .blog-gallery-select small { display: block; margin-top: .4rem; overflow-wrap: anywhere; }
.blog-gallery-select small { color: #627589; font-size: .75rem; }
.blog-gallery-editor label { margin-top: .7rem; font-size: .8rem; }
.blog-gallery-editor .admin-actions { margin-top: .65rem; gap: .35rem; }
@media(max-width: 420px) { .blog-gallery-editor { grid-template-columns: 1fr; } .blog-gallery-thumbnails a { flex-basis: 72px; } .blog-gallery .blog-gallery-thumbnails img { height: 58px; } }
