/* OING's existing white gallery, with the same layout controls as the editor. */
.home-masthead h1 {overflow-wrap:anywhere; max-width:16em}
.home-masthead p {white-space:normal; overflow-wrap:anywhere; letter-spacing:.16em}
.home-story-caption strong {overflow-wrap:anywhere; line-height:1.5}
.detail-intro h2 {overflow-wrap:anywhere}
.detail-description,.story-section p,.photo-story-caption {white-space:pre-wrap; overflow-wrap:anywhere}
.story-section {margin:28px 0}
.story-section h3 {font-size:17px; line-height:1.6; font-weight:500; margin:0 0 8px}
.story-section p {font-size:14px; line-height:1.9; color:#666; margin:0}
.arranged-gallery {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:28px 14px; padding:0 20px}
.arranged-gallery .layout-full {grid-column:1 / -1}
.arranged-gallery .layout-half {grid-column:span 1}
.arranged-gallery .detail-frame {min-width:0}
.arranged-gallery .detail-photo-link {width:100%; margin:0}
.arranged-gallery .photo-frame {width:100%; max-width:100%; margin:auto}
.arranged-gallery .fit-contain .photo-frame {aspect-ratio:var(--photo-ratio,2/3)}
.arranged-gallery .fit-contain .photo-image {object-fit:contain}
.arranged-gallery .fit-cover .photo-frame {aspect-ratio:4/5}
.arranged-gallery .fit-cover .photo-image {object-fit:cover; width:100%; height:100%; max-height:none; max-width:none}
.arranged-gallery .detail-frame figcaption {padding:10px 0; font-size:10px}
.photo-story-caption {margin:0; font-size:13px; line-height:1.9; color:#666}
.site-footer {display:flex; justify-content:space-between; padding:32px 5px 12px; color:#888; font-size:10px; letter-spacing:.15em; border-top:1px solid #eee; margin-top:28px}
.site-footer a {color:#777; padding:10px; margin:-10px; letter-spacing:0; text-decoration:none; min-height:44px}
.contact-qr-dialog {border:0; border-radius:2px; padding:32px 24px 24px; width:min(360px,calc(100vw - 40px)); color:#171717; background:#fff; text-align:center; box-shadow:0 24px 100px #0003; max-height:calc(100svh - 40px); overflow:auto}
.contact-qr-dialog::backdrop {background:rgba(0,0,0,.48)}
.contact-qr-dialog .qr-close {position:absolute; top:4px; right:4px; width:44px; height:44px; font-size:26px; border:0; background:none}
.contact-qr-dialog h2 {font-size:23px; font-weight:500; margin:10px 0 20px}
.contact-qr-dialog img {width:100%; height:auto; max-height:52svh; object-fit:contain}
.contact-qr-dialog p {font-size:13px; line-height:1.7; color:#666}
.contact-qr-dialog .qr-error {color:#984534}
@media(min-width:960px) {
  .app {max-width:1080px}
  .bottom-nav {width:min(1080px,100%)}
  .screen {padding-left:40px; padding-right:40px}
  .home-masthead {padding:48px 44px 36px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px}
  .home-masthead h1 {font-size:60px; max-width:12em}
  .home-masthead p {font-size:12px; line-height:1.8; max-width:240px; padding-bottom:10px}
  .home-hero .photo-frame {aspect-ratio:1.8}
  .home-gallery {gap:40px 36px}
  .home-mat {padding:20px}
  .arranged-gallery {padding:0 40px; gap:40px 24px}
  .detail-sheet {max-width:1080px; width:100%}
}
@media(max-width:360px) {
  .arranged-gallery {padding:0 12px; gap:24px 10px}
  .arranged-gallery .detail-frame figcaption {font-size:9px; flex-wrap:wrap}
}
.detail-share-url{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);font:inherit;box-sizing:border-box}
.detail-share-dialog>label{display:block;margin-top:18px}
.detail-share-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.detail-share-buttons>button{min-height:44px;flex:1}
.detail-share-dialog [data-detail-share-status]{line-height:1.6}
.album-view-controls{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}
.album-view-controls>label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:130px;font-size:12px;color:var(--muted)}
.album-view-controls select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;padding:8px 10px;background:var(--photo-surface,#fff);color:var(--text);font-size:14px}
.album-view-controls select:focus-visible{outline:2px solid var(--photo-accent,#171717);outline-offset:3px}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout]{display:grid;gap:var(--display-gap,18px);align-items:start}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout=cards]{grid-template-columns:repeat(2,minmax(0,1fr))}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout=story]{grid-template-columns:minmax(0,1fr)}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout] .album-card{display:flex;flex-direction:column;min-width:0;width:100%;margin:0;padding:0 0 16px;gap:12px;border-bottom:1px solid var(--line)}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout] .album-card .photo-frame{height:auto;aspect-ratio:4/5}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout] .album-card .photo-image{object-fit:contain}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout=story] .album-card .photo-frame{aspect-ratio:4/3}
.screen[data-page=albums] .album-visitor-list[data-visitor-layout] .empty{grid-column:1/-1}
