/* Portable image layouts shared by pages, posts, draft previews and the editor. */
.article-body .voa-media-layout,.layout-preview .voa-media-layout{padding:0;margin:1.5rem 0;display:flow-root;--image-share:40%;overflow-wrap:anywhere}
.voa-media-layout.voa-image-small{--image-share:25%}.voa-media-layout.voa-image-medium{--image-share:40%}.voa-media-layout.voa-image-large{--image-share:60%}.voa-media-layout.voa-image-full{--image-share:100%}
.voa-media-layout>.voa-layout-image{margin:0 0 1rem;width:var(--image-share);max-width:100%}
.voa-media-layout>.voa-layout-image img{display:block;width:100%;height:auto;border-radius:.35rem}
.voa-media-layout>.voa-layout-image figcaption{margin-top:.5rem;font-size:.9em;line-height:1.5}
.voa-layout-text>:first-child{margin-top:0}.voa-layout-text>:last-child{margin-bottom:0}
.voa-layout-center>.voa-layout-image{margin-left:auto;margin-right:auto}
.voa-layout-right>.voa-layout-image{margin-left:auto}
.voa-layout-wrap-left>.voa-layout-image{float:left;margin:0 1.25rem 1rem 0}
.voa-layout-wrap-right>.voa-layout-image{float:right;margin:0 0 1rem 1.25rem}
.article-body .voa-layout-split-left,.article-body .voa-layout-split-right,.layout-preview .voa-layout-split-left,.layout-preview .voa-layout-split-right{display:grid;grid-template-columns:minmax(0,var(--image-share)) minmax(0,1fr);gap:1.5rem;align-items:start}
.voa-layout-split-left>.voa-layout-image,.voa-layout-split-right>.voa-layout-image{width:100%;margin:0}
.article-body .voa-layout-split-right,.layout-preview .voa-layout-split-right{grid-template-columns:minmax(0,1fr) minmax(0,var(--image-share))}
.voa-layout-split-right>.voa-layout-image{grid-column:2;grid-row:1}.voa-layout-split-right>.voa-layout-text{grid-column:1;grid-row:1}
.voa-layout-text{min-width:0}
@media(max-width:600px){.voa-media-layout>.voa-layout-image{float:none;width:100%;margin:0 0 1rem}.article-body .voa-layout-split-left,.article-body .voa-layout-split-right,.layout-preview .voa-layout-split-left,.layout-preview .voa-layout-split-right{display:block}.voa-layout-text{clear:both}}
@media print{.voa-media-layout{break-inside:avoid}}

/* Gallery originals keep their full frame; phones use a single reading order. */
.article-body .voa-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0;padding:0;align-items:center}
.article-body .voa-gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.article-body .voa-gallery>figure{min-width:0;margin:0}
.article-body .voa-gallery img{display:block;width:100%;max-width:100%;height:auto;border-radius:.35rem}
.article-body .voa-gallery figcaption{font-size:.9em;line-height:1.5;margin-top:.5rem;overflow-wrap:anywhere}
.article-body .voa-callout{background:rgba(217,165,103,.10);border:1px solid rgba(217,165,103,.35);border-left:4px solid #d9a567;border-radius:.55rem;padding:1.25rem;margin:1.5rem 0;overflow-wrap:anywhere}
.article-body .voa-callout>h3{margin:0 0 .75rem;font-size:1.25rem}
.voa-callout-body>:first-child{margin-top:0}.voa-callout-body>:last-child{margin-bottom:0}
@media(max-width:600px){.article-body .voa-gallery,.article-body .voa-gallery-three{grid-template-columns:minmax(0,1fr)}.article-body .voa-callout{padding:1rem}}
@media print{.voa-gallery>figure,.voa-callout{break-inside:avoid}}

/* Optional per-placement framing; original files and default proportions remain intact. */
figure.voa-frame-wide>img,figure.voa-frame-square>img,figure.voa-frame-portrait>img{display:block;width:100%;height:auto;object-fit:cover;max-height:none}
figure.voa-frame-wide>img{aspect-ratio:4/3}figure.voa-frame-square>img{aspect-ratio:1}figure.voa-frame-portrait>img{aspect-ratio:3/4}
figure.voa-focus-top-left>img{object-position:left top}figure.voa-focus-top>img{object-position:center top}figure.voa-focus-top-right>img{object-position:right top}
figure.voa-focus-left>img{object-position:left center}figure.voa-focus-center>img{object-position:center}figure.voa-focus-right>img{object-position:right center}
figure.voa-focus-bottom-left>img{object-position:left bottom}figure.voa-focus-bottom>img{object-position:center bottom}figure.voa-focus-bottom-right>img{object-position:right bottom}
.framing-preview{margin:.5rem 0;max-width:15rem}.framing-preview>img{margin:0;max-width:100%;height:auto}
figure.framing-preview[class*="voa-frame-"]{width:10rem}
.website-workspace figure.framing-preview[class*="voa-frame-"]>.selected-image{max-height:none;max-width:100%;width:100%;height:auto}

/* Equal image areas retain complete originals, center mixed proportions and align captions. */
.article-body .voa-gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.25rem}
.article-body .voa-gallery>figure{flex:0 1 calc((100% - 1.25rem)/2);margin:0;min-width:0}
.article-body .voa-gallery-three>figure{flex-basis:calc((100% - 2.5rem)/3)}
.article-body .voa-gallery>figure>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;max-height:none;margin:0;border-radius:.35rem}
.article-body .voa-gallery>figure>figcaption{margin:.5rem 0 0;font-size:.9rem;line-height:1.5;text-align:center}
@container voa-column (max-width:700px){.article-body .voa-gallery-three>figure{flex-basis:calc((100% - 1.25rem)/2)}}
@container voa-column (max-width:420px){.article-body .voa-gallery>figure,.article-body .voa-gallery-three>figure{flex-basis:100%}}
@media(max-width:600px){.article-body .voa-gallery>figure,.article-body .voa-gallery-three>figure{flex-basis:100%}}

/* Keep explicitly selected crop shapes as per-placement overrides. */
.article-body .voa-gallery>figure.voa-frame-wide>img{aspect-ratio:4/3;object-fit:cover}
.article-body .voa-gallery>figure.voa-frame-square>img{aspect-ratio:1;object-fit:cover}
.article-body .voa-gallery>figure.voa-frame-portrait>img{aspect-ratio:3/4;object-fit:cover}

/* Approved gallery thumbnails: square crop previews, full original in the viewer. */
.article-body .voa-gallery[data-gallery-ready] figure img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;max-height:none;object-position:center}
.article-body .voa-gallery .voa-gallery-open{display:block;width:100%;margin:0;border-radius:.35rem;overflow:hidden}
.article-body .voa-gallery .voa-gallery-open:focus-visible{outline:3px solid #d9a567;outline-offset:4px}
.article-body .voa-gallery.voa-carousel[data-gallery-ready]{display:block}
.article-body .voa-carousel>figure{width:100%;margin:0}
.article-body .voa-carousel>[hidden]{display:none!important}
.voa-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.75rem 0 0}
.voa-carousel-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:.5rem .75rem;border:1px solid #a78351;border-radius:.35rem;background:#d9a567;color:#171410;cursor:pointer}
.voa-carousel-controls button:disabled{opacity:.45;cursor:default}
.voa-gallery-viewer{position:fixed;inset:0;width:min(96vw,90rem);max-width:96vw;max-height:94dvh;margin:auto;padding:1rem;background:#171410;color:#f2e3c6;border:1px solid #a78351;border-radius:.5rem;overflow:auto}
.voa-gallery-viewer::backdrop{background:rgba(0,0,0,.86)}
.voa-viewer-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.voa-viewer-tools button{min-width:44px;min-height:44px;margin:0;padding:.5rem 1rem;background:#d9a567;color:#171410;border:1px solid #a78351;border-radius:.35rem;font:600 1rem/1.4 'Open Sans',sans-serif}
.voa-viewer-tools button:disabled{opacity:.5}
.voa-gallery-viewer>img{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain;margin:0 auto}
.voa-viewer-caption,.voa-viewer-count{text-align:center;max-width:70ch;margin:.65rem auto 0;line-height:1.5}
@media(prefers-reduced-motion:reduce){.voa-gallery-viewer,.voa-carousel{scroll-behavior:auto}}
