/* ═══════════════════════════════════════
   GALLERY PAGE
═══════════════════════════════════════ */
.gallery-cats{display:flex;gap:0.8rem;margin-bottom:2.5rem;flex-wrap:wrap}
.gallery-cat{
  padding:0.5rem 1.2rem;border:1px solid var(--border);border-radius:2px;
  font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--dim);cursor:pointer;transition:all 0.2s;background:transparent;
}
.gallery-cat.active,.gallery-cat:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,212,255,0.05)}
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:3px;border:1px solid var(--border);border-radius:3px;overflow:hidden;
}
.gallery-item{
  aspect-ratio:4/3;
  background:linear-gradient(135deg,rgba(7,18,40,0.95),rgba(26,106,255,0.08));
  border:none;display:flex;align-items:center;justify-content:center;
  cursor:pointer;position:relative;overflow:hidden;transition:all 0.3s;
}
.gallery-item:hover{background:linear-gradient(135deg,rgba(26,106,255,0.15),rgba(0,212,255,0.08))}
.gallery-item-label{
  position:absolute;bottom:0;left:0;right:0;
  padding:0.8rem;
  background:linear-gradient(0,rgba(2,8,19,0.9),transparent);
  font-family:'Space Mono',monospace;font-size:0.56rem;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--pale);
  transform:translateY(100%);transition:transform 0.3s;
}
.gallery-item:hover .gallery-item-label{transform:none}
.gallery-placeholder-icon{opacity:0.15}
.gallery-placeholder-icon svg{width:40px;height:40px;color:var(--cyan)}

.gallery-coming-soon {
  text-align: center;
  padding: 5rem 2rem;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: linear-gradient(160deg, rgba(4,12,26,0.9), rgba(7,18,40,0.5));
  display: flex;
  flex-direction: column;
  align-items: center;
}
.gallery-coming-soon h3 {
  font-family: 'Orbitron', monospace;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 0.8rem;
}
.gallery-coming-soon p {
  color: var(--pale);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 480px;
  margin: 0 auto;
}

@media(max-width:960px){
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .gallery-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .gallery-item-label{padding:0.5rem}
}
