/* ── PORTFOLIO GRID & FILTERS ── */
.filters { display: flex; align-items: center; gap: 0; padding: 1.2rem 2.5rem; border-bottom: 0.5px solid rgba(242,239,233,0.08); overflow-x: auto; }
.filter-btn { background: none; border: none; font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(242,239,233,0.35); cursor: pointer; padding: 0.4rem 1.2rem; border-right: 0.5px solid rgba(242,239,233,0.1); transition: color 0.2s; white-space: nowrap; }
.filter-btn:first-child { padding-left: 0; }
.filter-btn:last-child { border-right: none; }
.filter-btn:hover { color: rgba(242,239,233,0.7); }
.filter-btn.active { color: #C8935A; }
.count-label { margin-left: auto; font-size: 10px; letter-spacing: 0.1em; color: rgba(242,239,233,0.2); padding-left: 1.5rem; white-space: nowrap; }

.masonry-grid { columns: 3; column-gap: 3px; padding: 3px; }
@media (max-width: 700px) { .masonry-grid { columns: 2; } }

.photo-item { break-inside: avoid; margin-bottom: 3px; position: relative; overflow: hidden; cursor: pointer; display: block; }
.photo-item.hidden { display: none; }
.photo-thumb { width: 100%; display: block; object-fit: cover; background: #1a1a1a; transition: transform 0.5s ease, opacity 0.4s ease; opacity: 0; }
.photo-thumb.loaded { opacity: 1; }
.photo-item:hover .photo-thumb { transform: scale(1.03); }

.photo-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,13,13,0.85) 0%, transparent 50%); opacity: 0; transition: opacity 0.35s ease; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.2rem; }
.photo-item:hover .photo-overlay { opacity: 1; }
.photo-title { font-family: 'Cormorant Garamond', serif; font-size: 17px; font-weight: 300; font-style: italic; color: #F2EFE9; line-height: 1.2; margin-bottom: 4px; }
.photo-meta { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(242,239,233,0.5); }
