/* PROJECT GALLERY (Bekur Guide, Ashu Geberew, Ethio Games) */
.gallery-section{
  background:linear-gradient(180deg,var(--cream-deep),var(--cream));
  border-top:1px solid rgba(56,37,63,0.06);
  border-bottom:1px solid rgba(56,37,63,0.06);
  position:relative;
}
.gallery-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:1.8rem;
  margin-bottom:2.8rem;
}
.gallery-header .header-left{max-width:600px;}
.gallery-header h2{font-size:clamp(2rem,3.6vw,2.9rem); margin-top:0.6rem;}
.gallery-header p{color:var(--plum-soft); margin-top:1rem; font-size:1.02rem;}

.gallery-filter-controls{display:flex; flex-direction:column; align-items:flex-end; gap:0.65rem;}
.gallery-filters{display:flex; flex-wrap:wrap; gap:0.5rem;}
.filter-btn{
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.03em;
  padding:0.55rem 1.2rem; border-radius:100px; border:1px solid rgba(56,37,63,0.14);
  background:rgba(255,255,255,0.65); color:var(--plum-soft); cursor:pointer;
  transition:all 0.35s cubic-bezier(.34,1.56,.64,1);
}
.filter-btn:hover, .filter-btn.active{
  background:var(--plum); color:var(--cream); border-color:var(--plum);
  transform:translateY(-2px); box-shadow:0 8px 20px rgba(56,37,63,0.18);
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:1.6rem;
}
.gallery-card{
  border-radius:22px; overflow:hidden; position:relative; cursor:pointer;
  display:flex; flex-direction:column; transition:transform 0.45s cubic-bezier(.16,1,.3,1), box-shadow 0.45s ease, border-color 0.45s ease;
  background:rgba(255,255,255,0.6); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,0.8);
}
.gallery-card.hidden{display:none;}
.gallery-card:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 24px 48px rgba(90,64,102,0.2);
  border-color:var(--lavender-deep);
}
.gallery-thumb{
  width:100%; aspect-ratio:9/16; background:var(--cream-deep); position:relative; overflow:hidden;
}
.gallery-thumb.square{aspect-ratio:1/1;}
.gallery-thumb img{
  width:100%; height:100%; object-fit:cover; transition:transform 0.6s cubic-bezier(.16,1,.3,1);
}
.gallery-card:hover .gallery-thumb img{transform:scale(1.08);}
.gallery-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(56,37,63,0) 35%, rgba(56,37,63,0.88) 100%);
  opacity:0; transition:opacity 0.35s ease;
  display:flex; flex-direction:column; justify-content:flex-end; padding:1.3rem; color:var(--cream);
}
.gallery-card:hover .gallery-overlay{opacity:1;}
.gallery-overlay-icon{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.6);
  width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,0.9);
  color:var(--plum); display:flex; align-items:center; justify-content:center; font-size:1.2rem;
  box-shadow:0 8px 24px rgba(0,0,0,0.25); transition:transform 0.35s cubic-bezier(.34,1.56,.64,1);
}
.gallery-card:hover .gallery-overlay-icon{transform:translate(-50%,-50%) scale(1);}
.gallery-tag{
  font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--gold-soft); margin-bottom:0.25rem; display:block;
}
.gallery-title{
  font-family:var(--font-display); font-style:italic; font-size:1.05rem; line-height:1.35; color:var(--cream);
}

@media (max-width: 720px){
  .gallery-filter-controls{align-items:flex-start; width:100%;}
}
