.public-photo-grid { display:grid !important; gap:2px; width:100%; height:auto !important; aspect-ratio:6/5; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:3fr 2fr; overflow:hidden; background:#fff; }
.public-photo-grid .feed-tile { position:relative; padding:0; border:0; min-height:0; min-width:0; overflow:hidden; cursor:pointer; background:#eee; grid-column:span 2; }
.public-photo-grid .feed-tile:nth-child(-n+2) { grid-column:span 3; }
.public-photo-grid .feed-tile img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.public-photo-grid[data-count="1"] { aspect-ratio:1; grid-template-columns:1fr; grid-template-rows:1fr; }
.public-photo-grid[data-count="2"] { aspect-ratio:2; grid-template-columns:repeat(2,1fr); grid-template-rows:1fr; }
.public-photo-grid[data-count="3"] { aspect-ratio:1; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
.public-photo-grid[data-count="3"] .feed-tile:first-child { grid-row:auto; grid-column:span 2; }
.public-photo-grid[data-count="4"] { aspect-ratio:1; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
.public-photo-grid[data-count="1"] .feed-tile,.public-photo-grid[data-count="2"] .feed-tile,.public-photo-grid[data-count="3"] .feed-tile,.public-photo-grid[data-count="4"] .feed-tile { grid-column:auto; }
.feed-more { position:absolute; inset:0; background:#0008; color:white; display:grid; place-items:center; font:600 clamp(26px,5vw,40px) system-ui; }
.feed-caption { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.5; }
.feed-caption.collapsed { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.feed-see-more { border:0; background:none; color:#65676b; font-weight:600; cursor:pointer; padding:8px 0; }
.feed-album-dialog { border:0; border-radius:16px; padding:14px; max-width:95vw; background:#18191a; color:white; }
.feed-album-dialog::backdrop { background:#000c; }
.feed-album-dialog img { display:block; width:80vw; height:75vh; object-fit:contain; }
.feed-album-controls { display:flex; gap:16px; justify-content:center; align-items:center; }
.feed-album-controls button { padding:10px 18px; cursor:pointer; }

.public-photo-grid[data-count="3"] .feed-tile:first-child { grid-column:span 2; }
