/* Album-only layout and viewer rules. */
#album .section-intro h2{margin-top:0;margin-bottom:15px}
#album .section-intro .album-instruction{font:15px/1.7 Arial,sans-serif;font-style:normal;color:var(--ink)}
#album .album-group{max-width:1150px;margin:38px auto 0}
#album .album-group h3{font-size:24px;letter-spacing:0;margin:0 0 20px;text-align:center}
#album .photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;align-items:stretch}
#album .photo-button{aspect-ratio:1;min-width:0;border:3px solid #fffef7;background:#fffef7;overflow:hidden}
#album .photo-button img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border:0;box-shadow:none}
#album .photo-button:focus-visible{outline:2px solid #9a6a37;outline-offset:4px}
#album .photo-button:hover{border-color:#8da4b5}
#photo-viewer{width:min(1280px,96vw);height:94svh;max-height:94svh;padding:14px;border:1px solid var(--line);overflow:hidden}
#photo-viewer[open]{display:flex;flex-direction:column;gap:8px}
#photo-viewer .photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
#photo-viewer .viewer-position{font:16px/1.5 Arial,sans-serif;color:var(--ink);margin:0;padding:0 8px}
#photo-viewer button{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 12px;font:15px/1.4 Arial,sans-serif;color:var(--ink);border:1px solid var(--line);background:var(--paper);gap:6px}
#photo-viewer button:hover:not(:disabled){background:var(--wash);border-color:var(--blue)}
#photo-viewer button:disabled{opacity:.45;cursor:default}
#photo-viewer button:focus-visible,#photo-viewer .photo-stage:focus-visible{outline:2px solid #9a6a37;outline-offset:2px}
#photo-viewer .viewer-close span{font-size:20px}
#photo-viewer .photo-zoom{display:flex;align-items:center;justify-content:center;gap:8px;flex:none}
#photo-viewer .photo-zoom output{font:14px/1.5 Arial,sans-serif;min-width:45px;text-align:center}
#photo-viewer .photo-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#f4f3ed;touch-action:none;user-select:none}
#photo-viewer .photo-stage.is-zoomed{cursor:grab}
#photo-viewer .photo-stage.is-zoomed:active{cursor:grabbing}
#photo-viewer .photo-stage img{position:absolute;top:50%;left:50%;display:block;max-width:none;max-height:none;object-fit:contain;pointer-events:none}
#photo-viewer .photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
#photo-viewer .photo-navigation p{font:12px/1.4 Arial,sans-serif;color:var(--muted);text-align:center;margin:0}
body.photo-open{overflow:hidden;overscroll-behavior:none}
@media(max-width:1000px){#album .photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#album .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#album .album-group h3{font-size:22px}#album .photo-button{border-width:2px}#photo-viewer{width:98vw;height:97svh;max-height:97svh;padding:8px}#photo-viewer[open]{gap:6px}#photo-viewer .photo-zoom{gap:6px}#photo-viewer .photo-navigation p{font-size:11px;max-width:84px}#photo-viewer button{padding:8px}#photo-viewer .viewer-position{font-size:16px;padding-left:4px}}
@media(max-height:500px) and (min-width:500px){#photo-viewer[open]{display:grid;grid-template-columns:1fr auto;grid-template-rows:44px minmax(0,1fr) 44px;gap:6px}#photo-viewer .photo-toolbar{grid-column:1;grid-row:1}#photo-viewer .photo-zoom{grid-column:2;grid-row:1}#photo-viewer .photo-stage{grid-column:1/-1;grid-row:2;height:100%}#photo-viewer .photo-navigation{grid-column:1/-1;grid-row:3}}
