/* Round 46: unobtrusive, full-screen gallery and image controls. */
.eco45-card-name span{white-space:normal;max-width:137px;text-align:right;line-height:1.45;flex-shrink:0}
.eco45-primary{position:relative}
.eco45-primary img{cursor:zoom-in}
.eco45-primary img:focus-visible{outline:3px solid #b89456;outline-offset:-5px}
.eco46-main-prev,.eco46-main-next{position:absolute;top:170px;transform:translateY(-50%);z-index:2;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.66);border-radius:50%;background:rgba(14,35,29,.72);color:#fff;font:400 35px/1 Georgia,serif;cursor:pointer;backdrop-filter:blur(5px);transition:background .15s}
.eco46-main-prev{left:13px}.eco46-main-next{right:13px}
.eco46-main-prev:hover,.eco46-main-next:hover{background:#234d3d}.eco46-main-prev:focus-visible,.eco46-main-next:focus-visible{outline:3px solid #e6bc78;outline-offset:2px}
.eco45-primary figcaption{gap:13px;align-items:center;flex-wrap:wrap}
.eco45-primary figcaption button{border:0;background:none;color:#275b49;font:750 12px system-ui,Arial,sans-serif;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px;margin-left:auto}
.eco46-count{font:700 11px system-ui,Arial,sans-serif;color:#65776c;white-space:nowrap}
.eco45-thumbs{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity;padding:1px 1px 8px}
.eco45-thumbs button{flex:0 0 94px;scroll-snap-align:start}
.eco45-thumbs button:focus-visible{outline:3px solid #a87e40;outline-offset:2px}
.eco45-thumbs img{height:68px}
.eco46-zoom-dialog{width:min(97vw,1800px);max-width:97vw;max-height:95dvh;height:min(95dvh,1200px);border:0;border-radius:13px;background:#071811;color:#fff;padding:0;box-shadow:0 28px 100px #000a;overflow:hidden}
.eco46-zoom-dialog::backdrop{background:rgba(3,12,8,.90)}
.eco46-zoom-wrap{height:100%;min-height:0;display:flex;flex-direction:column}
.eco46-zoom-top{padding:14px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff27;font:750 12px system-ui,Arial,sans-serif;letter-spacing:.6px}
.eco46-zoom-top button{border:1px solid #e8e6df66;border-radius:30px;background:#ffffff17;color:#fff;font:700 13px system-ui,Arial,sans-serif;padding:10px 16px;cursor:pointer}
.eco46-zoom-stage{flex:1;min-height:0;display:grid;grid-template-columns:minmax(48px,6%) minmax(0,1fr) minmax(48px,6%);align-items:center;gap:5px;padding:12px 13px}
.eco46-zoom-stage img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;min-height:0}
.eco46-zoom-stage button{width:44px;height:52px;border:1px solid #ffffff45;border-radius:28px;background:#ffffff19;color:#fff;font:400 38px/1 Georgia,serif;cursor:pointer;margin:auto}
.eco46-zoom-stage button:hover{background:#ffffff38}
.eco46-zoom-stage button:focus-visible,.eco46-zoom-top button:focus-visible{outline:3px solid #f0c68b;outline-offset:2px}
.eco46-zoom-meta{padding:9px 20px 14px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:15px;font:13px/1.45 system-ui,Arial,sans-serif;color:#e2e9df}
@media(max-width:1060px){.eco46-main-prev,.eco46-main-next{top:145px}}
@media(max-width:700px){.eco45-card-name{align-items:flex-start}.eco45-card-name span{font-size:11px;max-width:145px}.eco46-main-prev,.eco46-main-next{top:132px;width:40px;height:40px;font-size:31px}.eco46-main-prev{left:9px}.eco46-main-next{right:9px}.eco45-thumbs button{flex-basis:85px}.eco46-zoom-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.eco46-zoom-top{padding:12px 14px}.eco46-zoom-stage{grid-template-columns:39px minmax(0,1fr) 39px;padding:8px 3px;gap:0}.eco46-zoom-stage button{width:35px;height:44px;font-size:32px}.eco46-zoom-meta{padding:8px 14px 13px;font-size:12px}}
/* Protect narrow dialog layouts from thumbnail min-content overflow. */
.eco45-gallery,.eco45-model-details,.eco45-modal-layout,.eco45-primary,.eco45-dialog-content{min-width:0;max-width:100%}
.eco45-gallery,.eco45-primary,.eco45-thumbs{width:100%}
.eco45-thumbs{max-width:100%;min-width:0;overflow-x:auto;flex-wrap:nowrap}
@media(max-width:1060px){.eco45-modal-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.eco45-primary figcaption{font-size:11px;column-gap:8px}.eco45-primary figcaption button{font-size:11px}.eco45-thumbs button{flex:0 0 79px}}
