/* Pakistan Update archive controls and full-screen viewer refinements. */
.update-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; }
.update-filters label { display: grid; gap: .45rem; color: var(--muted); font-size: .92rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.update-filters select { min-width: 15rem; padding: .8rem 2.5rem .8rem .9rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper-strong); color: var(--ink); font: inherit; font-size: 1rem; letter-spacing: normal; text-transform: none; cursor: pointer; }
.update-card .update-category { margin-bottom: .35rem; font-size: .95rem; letter-spacing: .09em; }
.update-card-date { margin: 0 0 .45rem; color: var(--muted); font-size: .85rem; font-weight: 700; }
@media (min-width: 501px) { .update-card h2 { white-space: nowrap; font-size: clamp(1.55rem, 2.3vw, 1.8rem); } }
.updates-hero { max-width: 72rem; margin-inline: auto; padding: clamp(1rem, 2vw, 1.75rem) 0 1.5rem; text-align: center; }
.updates-hero > p:not(.eyebrow) { margin-inline: auto; font-size: 1.16rem; }
.updates-hero h1 { margin-block: .2rem .4rem; }
.update-filters { justify-content: center; margin-top: 1.25rem; }
.updates-archive { display: grid; gap: 2.5rem; }
.update-month-group { display: grid; gap: 1rem; }
.update-month-group > h2 { margin: 0; color: var(--accent-deep); font-family: var(--font-body); font-size: 1rem; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.updates-month-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 23rem)); justify-content: center; gap: 1.35rem; }
.update-card-media { position: relative; }
.update-card-media img { display: block; width: 100%; height: 14rem; object-fit: cover; }
.update-card-media time { position: absolute; top: .75rem; left: .75rem; padding: .5rem .72rem; border-radius: .35rem; background: rgba(23, 14, 10, .78); color: white; font-size: .9rem; font-weight: 800; letter-spacing: .03em; }
@media (max-width: 650px) { .updates-hero { padding-top: 1.5rem; }.update-filters select { min-width: min(100%, 17rem); } }
.lightbox-content { min-width: 0; min-height: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.lightbox-content img { display: block; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; }
.gallery-stage-context, .gallery-stage-meta { position: absolute; z-index: 2; margin: 0; }
.gallery-stage-context { top: .75rem; left: 50%; max-width: calc(100% - 8rem); padding: .45rem .75rem; border-radius: .35rem; background: rgba(0, 0, 0, .68); color: white; font-size: .86rem; font-weight: 800; text-align: center; transform: translateX(-50%); }
.gallery-stage-meta { right: 1rem; bottom: .8rem; left: 1rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; pointer-events: none; }
.gallery-stage-caption { grid-column: 2; margin: 0; padding: .45rem .75rem; border-radius: .35rem; background: rgba(0, 0, 0, .72); color: white; font-size: .86rem; font-weight: 700; text-align: center; }
.gallery-stage-position { grid-column: 3; justify-self: end; padding: .45rem .7rem; border-radius: .35rem; background: rgba(0, 0, 0, .72); color: white; font-size: .82rem; font-weight: 800; }
.lightbox-context { position: fixed; z-index: 2; top: 1rem; left: 50%; max-width: min(70vw, 48rem); margin: 0; padding: .6rem 1rem; border-radius: .45rem; background: rgba(0, 0, 0, .7); color: white; font-weight: 800; text-align: center; transform: translateX(-50%); }
.lightbox-meta { display: contents; }
.lightbox-caption { position: fixed; z-index: 2; left: 50%; bottom: 1rem; display: inline-block; margin: 0; padding: .65rem 1rem; border-radius: .45rem; background: rgba(0, 0, 0, .7); color: white; font-weight: 700; text-align: center; text-shadow: 0 1px 2px rgba(0,0,0,.75); transform: translateX(-50%); }
.lightbox-position { position: fixed; z-index: 2; right: 3rem; bottom: 1rem; padding: .65rem .9rem; border-radius: .45rem; background: rgba(0, 0, 0, .7); color: white; }
@media (max-width: 650px) { .lightbox-position { right: 1rem; } }
