.article-rich-content .article-gallery { width:100%; min-width:0; margin:1.8rem 0; }
.article-gallery-track { display:grid; gap:16px; }
.article-gallery--grid .article-gallery-track { grid-template-columns:repeat(3,minmax(0,1fr)); }
.article-gallery--carousel .article-gallery-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; gap:16px; padding-bottom:10px; }
.article-gallery--carousel .article-gallery-item { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
.article-rich-content .article-gallery-item { margin:0; }
.article-rich-content .article-gallery-item img { width:100%; height:auto; max-height:650px; object-fit:contain; margin:0; }
.article-gallery--grid .article-gallery-item img { aspect-ratio:4/3; object-fit:cover; }
.article-gallery-item figcaption { text-align:center; }
.article-gallery-controls { display:flex; justify-content:space-between; gap:12px; margin-top:10px; }
.article-gallery-controls[hidden] { display:none; }
.article-gallery-controls button { border:1px solid #cad3db; border-radius:8px; padding:10px 15px; min-height:44px; background:#fff; color:#1e405b; font:600 14px/1.3 Arial,sans-serif; cursor:pointer; }
.article-gallery-controls button:disabled { opacity:.4; cursor:default; }
.article-gallery-track:focus-visible,.article-gallery-controls button:focus-visible { outline:3px solid #3778c2; outline-offset:3px; }
@media(max-width:600px) { .article-gallery--grid .article-gallery-track { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } }
@media print { .article-gallery--carousel .article-gallery-track { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; } .article-gallery-controls { display:none; } }
