.caarn-acervo-credit { color: #5d6670; font-size: .875rem; margin-top: .45rem; }
.caarn-acervo-public-gallery { margin: 2.5rem 0; }
.caarn-acervo-public-gallery h2 { margin-bottom: 1rem; }
.caarn-acervo-public-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.caarn-acervo-public-grid figure { margin: 0; }
.caarn-acervo-public-grid img { display: block; width: 100%; height: auto; }
.caarn-acervo-public-grid figcaption { color: #5d6670; font-size: .875rem; margin-top: .5rem; }
@media (max-width: 640px) { .caarn-acervo-public-grid { grid-template-columns: 1fr; } }
.caarn-acervo-figure { max-width: 100%; }
.caarn-acervo-trigger { display: block; cursor: zoom-in; }
button.caarn-acervo-trigger { font-size: .85rem; padding: .5rem .75rem; margin: .5rem 0; }
.caarn-acervo-caption { display: block; color: #4e5864; font-size: .75rem; line-height: 1.5; margin-top: .4rem; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.caarn-acervo-figure > figcaption.caarn-acervo-caption { font-size: .75rem; }
/* The theme clips featured-image captions against its 22px lower corners. */
.caarn-single-news__article figure.caarn-acervo-figure.caarn-single-news__featured { border-radius: 8px; }
.caarn-single-news__article figure.caarn-acervo-figure.caarn-single-news__featured > .caarn-acervo-caption { box-sizing: border-box; margin: 0; padding: 6px 10px 8px; }
/* One compact metadata line when space permits; never clip credits on small screens. */
.caarn-acervo-caption > span { display: inline; font-size: inherit; }
/* Keep the editorial description available to the lightbox, without repeating it in the article. */
.caarn-acervo-caption > .caarn-acervo-caption-editorial { display: none; }
.caarn-acervo-caption > .caarn-acervo-caption-credit + .caarn-acervo-caption-rights::before { content: "\00a0\2022\00a0"; }
.caarn-acervo-caption-credit, .caarn-acervo-caption-rights { font-size: inherit; }
.caarn-acervo-gallery-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.caarn-acervo-slider-controls { display: flex; gap: .5rem; }
.caarn-acervo-slider-controls button { padding: .45rem .85rem; min-width: 44px; min-height: 44px; border-radius: 5px; }
.caarn-acervo-public-gallery.is-slider .caarn-acervo-public-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem; overscroll-behavior-x: contain; padding-bottom: .75rem; }
.caarn-acervo-public-gallery.is-slider .caarn-acervo-figure { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.caarn-acervo-public-gallery.is-slider img { width: 100%; max-height: 560px; object-fit: contain; background: #f3f4f5; }
/* Progressive enhancement: the original scrollable figures remain the no-JS fallback. */
.caarn-acervo-focus-preview, .caarn-acervo-focus-details { display: none; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-card { overflow: hidden; border: 1px solid #e3e7ec; border-radius: 12px; background: #f6f7f9; box-shadow: 0 5px 20px #1426320b; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-stage { position: relative; isolation: isolate; overflow: hidden; height: clamp(250px, 43vw, 420px); padding: 16px 0 8px; border: 0; border-radius: 0; background: transparent; box-sizing: border-box; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-public-grid { position: relative; z-index: 2; display: block; width: 68%; height: 100%; margin: 0 auto; padding: 0; overflow: visible; touch-action: pan-y pinch-zoom; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-figure { display: block !important; width: 100% !important; max-width: 100% !important; height: 100% !important; margin: 0 !important; float: none !important; aspect-ratio: auto !important; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-figure[hidden] { display: none !important; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-figure > .caarn-acervo-trigger { display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 100% !important; border-radius: 8px; overflow: hidden; background: transparent; box-shadow: none; }
/* Existing site-wide article rules force inline links and auto-height images. */
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-figure img { display: block !important; width: 100% !important; height: 100% !important; max-height: 100% !important; object-fit: contain !important; background: transparent; border-radius: 0; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-figure > figcaption { display: none; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-preview { display: block; position: absolute; top: 12%; width: 46%; height: 76%; z-index: 1; opacity: .5; filter: blur(5px); pointer-events: none; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-preview.is-previous { left: -21%; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-preview.is-next { right: -21%; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-preview img { width: 100%; height: 100%; max-height: none; object-fit: cover; border-radius: 12px; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls { display: contents; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button { position: absolute; top: 50%; z-index: 3; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; min-width: 46px; min-height: 46px; margin: 0; padding: 0; transform: translateY(-50%); border: 1px solid #ffffffcc; border-radius: 8px; background: #d33b39; color: #fff !important; font-family: inherit; font-size: 24px; line-height: 1; box-shadow: 0 3px 10px #9f2b2926; cursor: pointer; text-decoration: none; transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button[data-caarn-slide="-1"] { left: 18px; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button[data-caarn-slide="1"] { right: 18px; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button:hover { background: #b82f2d; box-shadow: 0 4px 14px #9f2b2940; transform: translateY(-50%) scale(1.04); }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button:focus-visible, .caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-public-grid:focus-visible { outline: 3px solid #d33b39; outline-offset: 3px; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button:disabled { opacity: .35; cursor: default; }
.caarn-acervo-public-gallery.is-focus-ready.is-single-photo .caarn-acervo-focus-preview { display: none; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-details { display: block; margin: 0; padding: 9px 20px 15px; border-top: 1px solid #e6e9ed; text-align: center; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-counter { margin: 0 0 4px !important; color: #b23735; font-size: .73rem; font-weight: 700; letter-spacing: .025em; text-align: center; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-details .caarn-acervo-caption { margin: 0; color: #233041; font-size: .75rem; text-align: center; line-height: 1.5; }
.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-details .caarn-acervo-caption-credit, .caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-details .caarn-acervo-caption-rights { color: #65717c; font-size: inherit; }
@media (max-width: 640px) {
	.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-stage { height: 250px; padding: 12px 0 7px; }
	.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-public-grid { width: 72%; }
	.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; font-size: 21px; }
	.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button[data-caarn-slide="-1"] { left: 3px; }
	.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button[data-caarn-slide="1"] { right: 3px; }
	.caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-focus-details { padding: 8px 12px 13px; }
}
.caarn-acervo-lightbox { box-sizing: border-box; position: fixed; inset: 0; width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); background: #11151c; color: #fff; border: 0; border-radius: 0; overflow: hidden; z-index: 2147483647; font-family: inherit; }
.caarn-acervo-lightbox[open] { display: flex; flex-direction: column; gap: 8px; }
.caarn-acervo-lightbox::backdrop { background: rgba(0,0,0,.92); }
.caarn-acervo-lightbox-toolbar { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.caarn-acervo-lightbox-counter { margin-right: auto; font-size: .95rem; }
.caarn-acervo-lightbox button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px; background: #263140; color: #fff; border: 1px solid #697586; border-radius: 5px; line-height: 1; font-size: 25px; cursor: pointer; box-shadow: none; }
.caarn-acervo-lightbox button:focus-visible, .caarn-acervo-trigger:focus-visible { outline: 3px solid #79c7ff; outline-offset: 3px; }
.caarn-acervo-lightbox button:disabled { opacity: .45; cursor: default; }
.caarn-acervo-lightbox button[hidden] { display: none; }
.caarn-acervo-zoom-label { min-width: 42px; text-align: center; font-size: .8rem; }
.caarn-acervo-lightbox-viewer { position: relative; flex: 1 1 auto; min-height: 0; display: flex; align-items: stretch; gap: 8px; }
.caarn-acervo-lightbox-stage { display: flex; align-items: center; justify-content: center; flex: 1; min-width: 0; min-height: 0; overflow: hidden; touch-action: none; cursor: zoom-in; }
.caarn-acervo-lightbox-stage.is-zoomed { cursor: grab; }
.caarn-acervo-lightbox-stage.is-zoomed:active { cursor: grabbing; }
.caarn-acervo-lightbox-stage > img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; user-select: none; transform-origin: center; border: 0; margin: 0; }
.caarn-acervo-lightbox-previous, .caarn-acervo-lightbox-next { align-self: center; flex: 0 0 44px; }
.caarn-acervo-lightbox-caption { flex: 0 1 auto; max-height: 23dvh; overflow-y: auto; text-align: center; padding: 0 8px; }
.caarn-acervo-lightbox-caption figcaption { color: #fff; margin: 0; font-size: .75rem; line-height: 1.5; text-align: center; }
.caarn-acervo-lightbox-caption figcaption > span { display: inline; }
.caarn-acervo-lightbox-caption .caarn-acervo-caption > .caarn-acervo-caption-editorial { display: inline; }
.caarn-acervo-lightbox-caption .caarn-acervo-caption > span + span::before { content: "\00a0\2022\00a0"; }
.caarn-acervo-lightbox-hint { flex: 0 0 auto; font-size: .72rem; color: #c2cad5; text-align: center; margin: 0; }
@media (max-width: 640px) {
	.caarn-acervo-lightbox-toolbar { gap: 4px; flex-wrap: wrap; }
	.caarn-acervo-lightbox-counter { font-size: .8rem; }
	.caarn-acervo-lightbox-viewer { gap: 0; }
	.caarn-acervo-lightbox-previous, .caarn-acervo-lightbox-next { position: absolute; z-index: 2; top: calc(50% - 22px); background: rgba(38,49,64,.8); }
	.caarn-acervo-lightbox-previous { left: 0; }
	.caarn-acervo-lightbox-next { right: 0; }
	.caarn-acervo-lightbox-caption { max-height: 28dvh; }
	.caarn-acervo-lightbox-hint { font-size: .65rem; }
}
@media (prefers-reduced-motion: reduce) { .caarn-acervo-public-gallery.is-slider .caarn-acervo-public-grid { scroll-behavior: auto; } }
@media (prefers-reduced-motion: reduce) { .caarn-acervo-public-gallery.is-focus-ready .caarn-acervo-slider-controls button { transition: none; } }
