.za-gallery { min-width:0; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 12px 35px rgba(15,45,29,.09); }
.za-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.za-slide { flex:0 0 100%; min-width:0; margin:0; scroll-snap-align:start; }
.za-slide > a { display:block; background:#14211a; }
.za-slide img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.za-slide figcaption { display:flex; flex-direction:column; gap:5px; padding:18px 22px 8px; min-height:100px; }
.za-slide figcaption strong { font-size:1rem; line-height:1.45; }
.za-slide figcaption span { color:var(--site-muted); font-size:.85rem; line-height:1.6; }
.za-gallery-controls { display:flex; align-items:center; gap:12px; padding:10px 18px 16px; font-size:.82rem; }
.za-gallery-controls > span:first-child { min-width:34px; font-variant-numeric:tabular-nums; font-weight:700; }
.za-gallery-hint { color:var(--site-muted); flex:1; font-size:.7rem; }
.za-gallery-controls > div { display:flex; gap:7px; margin-left:auto; }
.za-gallery-controls button { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--site-line); border-radius:50%; background:#f5f9f6; color:var(--site-green); cursor:pointer; }
.za-gallery-controls button:hover { background:#dcece1; }
.za-gallery-controls button:disabled { color:#8c9f94; cursor:default; background:#f2f5f3; }
.za-gallery-controls svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.za-track::-webkit-scrollbar { display:none; }
.za-gallery-controls button { width:44px; height:44px; }
.site-gallery { width:100%; border-radius:0; box-shadow:none; }
.site-gallery .za-slide > a { position:relative; aspect-ratio:var(--gallery-ratio, 4 / 3); max-height:620px; background:var(--site-soft); }
.site-gallery .za-slide img { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.site-gallery .za-gallery-controls { background:var(--site-paper); padding:14px 20px; }
.site-gallery .za-gallery-hint { font-size:.75rem; }
@media (max-width:600px) {
  .site-gallery .za-gallery-controls { padding:12px 14px; gap:8px; }
  .site-gallery .za-gallery-hint { max-width:160px; font-size:.68rem; }
}
