/* One-album trial. Scoped to these four pages only. */
.photo-pilot .gallery-title{width:100%;padding:12px 16px;box-sizing:border-box;font-size:clamp(26px,5vw,36px);line-height:1.35;}
.photo-pilot .gallery-title p{margin:0 0 12px;}
.photo-album{width:100%;box-sizing:border-box;padding:0 12px 24px;}
.photo-album-return,.photo-open{display:inline-flex;align-items:center;min-height:44px;color:#ffe188;padding:8px 0;line-height:1.4;}
.photo-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:12px 0;}
.photo-controls[hidden]{display:none;}
.photo-controls button,.photo-controls select{font:inherit;min-width:44px;min-height:44px;border:1px solid #ffe188;background:#6f1a05;color:#ffe188;padding:8px;margin:0;flex:0 0 auto;}
.photo-controls select{max-width:110px;}
.photo-controls [data-photo-count]{min-width:65px;text-align:center;font-variant-numeric:tabular-nums;color:#ffe188;margin:0;flex:0 0 auto;}
.photo-frame{touch-action:pan-y;}
.photo-frame img{display:block;max-width:100%;height:auto;margin:12px auto;border:3px solid white;box-sizing:border-box;}
.photo-pilot-ready .photo-frame{display:flex;align-items:center;justify-content:center;width:100%;height:min(65vh,calc((100vw - 48px)*.75));min-height:180px;background:#d8d8d8;border:3px solid white;box-sizing:border-box;overflow:hidden;}
.photo-pilot.photo-pilot-ready .photo-frame img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:0;margin:0;}
.photo-frame img[hidden]{display:none;}
.photo-pilot .photo-frame:focus-visible,.photo-controls button:focus-visible,.photo-controls select:focus-visible{outline:3px solid #ffe188;outline-offset:4px;}
@media(max-width:400px){.photo-controls{gap:6px;}.photo-controls select{max-width:90px;}}

.photo-controls [data-photo-play]{flex:0 1 auto;max-width:100%;line-height:1.4;white-space:normal;}
.photo-index .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;width:100%;margin:0;padding:12px;box-sizing:border-box;}
.photo-index .gallery-title{grid-column:1 / -1;}
.photo-index .gallery-cover{display:block;width:auto;max-width:100%;margin:0;padding:12px;box-sizing:border-box;}
.photo-index .gallery-cover img{display:block;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:contain;margin:0 auto 12px;}
.photo-index .gallery-cover-description{line-height:1.5;overflow-wrap:anywhere;}
