/* Shared article badges and local media library. Vendor artwork keeps its original colours. */
.blog-tags { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.blog-featured__media > .blog-tags, .blog-card__media > .blog-tags { position: absolute; z-index: 1; top: 1rem; left: 1rem; right: 1rem; }
.blog-tag { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2rem; max-width: 100%; padding: .4rem .6rem; border: 1px solid var(--line-strong); border-radius: var(--radius-xs); background: var(--ink-900); color: var(--text-soft); font-size: .6875rem; font-weight: 600; line-height: 1.3; }
.blog-tag > .icon { --icon-size: 1.125rem; color: var(--accent); flex: 0 0 auto; }
.blog-tag img { display: block; width: 1.375rem; height: 1.375rem; object-fit: contain; flex: 0 0 auto; }
.blog-tag--wordmark img { width: auto; height: 1rem; max-width: 7rem; }
.blog-tag--light { background: #fff; border-color: #fff; color: #142231; }
.page-hero__copy > .blog-tags { margin-bottom: 1.5rem; }
.page-hero__copy > .blog-tags .blog-tag { min-height: 2.5rem; padding: .55rem .8rem; font-size: .8125rem; }
.page-hero__copy > .blog-tags .blog-tag--wordmark img { height: 1.3rem; max-width: 9rem; }
.media-catalog { display: grid; gap: 1.5rem; }
.media-catalog__section { min-width: 0; margin: 0; padding: 0; border: 0; }
.media-catalog__section legend, .media-catalog__section h2 { margin: 0 0 1rem; padding: 0; font-size: 1.1rem; font-weight: 600; }
.media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr)); gap: .75rem; }
.media-grid--icons { grid-template-columns: repeat(auto-fill, minmax(min(8rem, 100%), 1fr)); }
.media-tile { position: relative; display: flex; flex-direction: column; min-width: 0; margin: 0; padding: .65rem; gap: .65rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--ink-900); }
label.media-tile { cursor: pointer; }
.media-tile:has(input:checked) { border-color: var(--accent); background: linear-gradient(135deg, var(--accent-soft), transparent), var(--ink-900); }
.media-tile:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.media-tile > input { position: absolute; z-index: 1; top: .9rem; left: .9rem; width: 1.2rem; height: 1.2rem; margin: 0; accent-color: var(--accent); }
.media-picker .media-tile { display: flex; }
.media-picker input[type=checkbox], .media-picker input[type=radio] { min-height: 0; padding: 0; border: initial; border-radius: initial; background: initial; }
.media-tile__visual { display: flex; align-items: center; justify-content: center; min-height: 5rem; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-xs); background: var(--ink-950); }
.media-tile__visual > img { width: 100%; height: 100%; object-fit: cover; }
.media-tile__visual--icon { aspect-ratio: auto; min-height: 6rem; padding: 1rem .25rem; }
.media-tile__visual--icon .blog-tag { border: 0; background: transparent; }
.media-tile__visual--icon .blog-tag--light { background: #fff; border: 1px solid #fff; }
.media-tile__visual--icon .blog-tag:not(.blog-tag--wordmark) { flex-direction: column; text-align: center; font-size: .75rem; }
.media-tile__visual--icon .blog-tag:not(.blog-tag--wordmark) > .icon { --icon-size: 1.75rem; }
.media-tile__visual--icon .blog-tag:not(.blog-tag--wordmark) > img { width: 2rem; height: 2rem; }
.media-tile__visual--icon .blog-tag--wordmark img { height: 1.35rem; max-width: 8rem; }
.media-tile__visual--icon .blog-tag > span { display: none; }
.media-tile__caption { display: grid; gap: .25rem; font-size: .8125rem; line-height: 1.45; }
.media-tile__caption small { color: var(--text-muted); font-size: .75rem; }
.media-tile__caption strong { font-weight: 600; }
.media-modes { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 1rem 0; }
.media-modes label { display: flex; gap: .5rem; align-items: center; min-height: 44px; font-size: .875rem; }
.media-modes input { width: 1.1rem; height: 1.1rem; accent-color: var(--accent); }
.media-picker { margin-block: 1rem; }
.media-picker__intro { margin: .25rem 0 1rem; color: var(--text-muted); font-size: .875rem; }
.media-picker details { border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1rem; }
.media-picker summary { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; min-height: 44px; cursor: pointer; list-style: none; }
.media-picker summary::after { content: '+'; margin-left: auto; font-size: 1.4rem; color: var(--accent); }
.media-picker details[open] > summary::after { content: '−'; }
.media-picker .media-catalog { margin-top: 1rem; }
.media-picker__selected { font-size: .8125rem; color: var(--text-muted); }
.media-picker__preview { display: block; max-width: 16rem; aspect-ratio: 16 / 9; object-fit: cover; margin-top: .75rem; border-radius: var(--radius-sm); }
.media-library-nav { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.media-library-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.media-library-section + .media-library-section { margin-top: 3rem; }
.admin-preview .blog-tags { margin-bottom: 1.5rem; }
@media (forced-colors: active) { .media-tile:has(input:checked) { outline: 2px solid Highlight; } }
