/* Only the description scrolls; all three photo actions stay in view. */
#viewer{height:min(820px,90dvh);max-height:90dvh;overflow:hidden}
.viewer-shell{height:100%;min-height:0;grid-template-columns:minmax(0,1fr) 340px}
.viewer-image{min-height:0;overflow:hidden}
.viewer-image img{height:100%;max-height:100%;display:block}
.viewer-info{display:flex;flex-direction:column;min-height:0;max-height:none;padding:0;overflow:hidden}
.viewer-details{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px 24px;scrollbar-width:thin}
.viewer-details .eyebrow{margin-bottom:16px}
.viewer-details h2{margin:0 0 22px;font-size:20px;line-height:1.4}
.viewer-details dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}
.viewer-details dl>div:nth-child(3),.viewer-details dl>div:nth-child(4){grid-column:1 / -1}
.viewer-details dt{margin:0;font-size:10px}
.viewer-details dd{margin:5px 0 0;font-size:12px}
.viewer-details #source-link{display:inline-block;margin-top:20px;padding:4px 0}
.viewer-actions{flex:none;margin:0;padding:16px 20px 20px;gap:8px;border-top:1px solid var(--line);background:var(--bg);box-shadow:0 -8px 20px #f8f9f6b3;z-index:1}
.viewer-actions .button{padding:11px 12px;line-height:1.3;font-size:12px;min-height:39px}
@media(max-width:700px){
 #viewer{height:92dvh;max-height:92dvh}
 .viewer-shell{height:100%;min-height:0}
 .viewer-image{flex:0 0 42%;height:42%}
 .viewer-image img{height:100%}
 .viewer-info{flex:1;min-height:0;max-height:none}
 .viewer-details{padding:18px 20px}
 .viewer-details h2{font-size:17px;margin-bottom:18px}
 .viewer-details dl{gap:14px}
 .viewer-actions{padding:12px 16px 16px;gap:6px}
 .viewer-actions .button{min-height:36px;padding:9px 12px;font-size:11px}
}
@media(max-height:500px) and (max-width:700px){
 .viewer-shell{flex-direction:row}
 .viewer-image{flex:0 0 48%;height:100%}
 .viewer-info{width:52%}
 .viewer-details{padding:12px 16px}
 .viewer-actions{padding:8px 12px;gap:5px}
 .viewer-actions .button{padding:7px 9px;min-height:30px}
}
