.project-gallery-controls,.photo-controls{flex-wrap:wrap}
.gallery-overview-open{font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;min-height:44px;cursor:pointer;white-space:nowrap}
.photo-controls .gallery-overview-open{width:auto;min-width:0;height:auto;padding:8px 0;border:0;border-bottom:1px solid var(--line);margin-right:8px;font-size:14px}
dialog.gallery-overview{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0 28px 28px;background:var(--blue,#1710b5);color:var(--ink,#f3f0e7);overflow-y:auto;overscroll-behavior:contain}
.gallery-overview[open]{display:block}
.gallery-overview [hidden]{display:none!important}
.gallery-overview button{position:static;inset:auto;background:transparent;color:inherit;border:0;font:inherit;padding:10px 0;min-height:44px;cursor:pointer;text-align:left}
.gallery-overview button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.gallery-overview .overview-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:24px;background:var(--blue,#1710b5);border-bottom:1px solid var(--line,#ffffff40);padding:18px 0;margin-bottom:24px}
.overview-title{font:inherit;font-size:20px;line-height:1.3;margin:0 auto 0 0;max-width:65%;overflow-wrap:anywhere}
.overview-close,.overview-back{flex-shrink:0}
.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:34px 24px}
.gallery-overview .overview-thumb{display:flex;flex-direction:column;gap:12px;min-width:0;padding:0;align-self:start}
.gallery-overview .overview-thumb img{display:block;width:100%;height:220px;max-width:100%;max-height:none;object-fit:contain;background:#00000018}
.overview-thumb-label{font-size:13px;line-height:1.45;color:var(--muted,#c4bfe4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gallery-overview .overview-image{display:block;width:100%;height:calc(100dvh - 240px);min-height:220px;max-width:100%;max-height:none;object-fit:contain;margin:0 auto}
.overview-bottom{display:flex;align-items:start;justify-content:space-between;gap:32px;margin-top:20px}
.overview-caption{font-size:15px;line-height:1.5;max-width:760px;margin:0}
.overview-controls{display:flex;align-items:center;gap:24px;flex-shrink:0;font-size:14px}
.overview-controls button:disabled{opacity:.35;cursor:default}.overview-count{white-space:nowrap;font-variant-numeric:tabular-nums}
.overview-error{padding:20px;text-align:center}
@media(max-width:700px){dialog.gallery-overview{padding:0 18px 24px}.gallery-overview .overview-top{gap:12px;flex-wrap:wrap;padding:12px 0;margin-bottom:20px}.overview-title{font-size:17px;max-width:calc(100% - 94px);flex:1}.overview-back{order:3;flex-basis:100%}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery-overview .overview-thumb img{height:150px}.overview-thumb-label{font-size:12px}.overview-bottom{flex-direction:column;gap:12px}.overview-controls{order:-1;width:100%;justify-content:space-between}.gallery-overview .overview-image{height:calc(100dvh - 310px);min-height:200px}.overview-caption{font-size:13px}.gallery-overview-open{font-size:12px}.photo-controls .gallery-overview-open{font-size:12px;margin:0}.project-gallery-controls{gap:12px}}
@media(prefers-reduced-motion:reduce){.gallery-overview{scroll-behavior:auto}}

.gallery-overview .overview-prev,.gallery-overview .overview-next{min-width:44px;text-align:center;font-size:24px;line-height:1}
