body { font-family: 'Montserrat', sans-serif; background: #ffffff; color: #0a0a0a; overflow-x: hidden; margin: 0; }
a { color: #C9A84C; }
a:hover { color: #e8c96a; }

.tab-btn { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #555; background: transparent; border: 1px solid #ddd; border-radius: 40px; padding: 12px 24px; cursor: pointer; transition: background 0.25s, color 0.25s, border-color 0.25s; white-space: nowrap; }
.tab-btn:hover { border-color: #C9A84C; color: #C9A84C; }
.tab-btn.on { background: #0a0a0a; border-color: #0a0a0a; color: #C9A84C; }
.tab-count { font-size: 10px; opacity: 0.6; margin-left: 6px; font-weight: 700; }

.gitem { position: relative; overflow: hidden; border-radius: 12px; cursor: zoom-in; background: #111; transition: opacity 0.35s ease, transform 0.35s ease; }
.gitem img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); }
.gitem:hover img { transform: scale(1.06); }
.gitem-veil { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 55%, transparent 100%); opacity: 0; transition: opacity 0.3s; }
.gitem:hover .gitem-veil { opacity: 1; }
.gitem-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 20px 22px; opacity: 0; transform: translateY(8px); transition: opacity 0.3s, transform 0.3s; }
.gitem:hover .gitem-cap { opacity: 1; transform: translateY(0); }
.gitem-tag { font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #C9A84C; margin: 0 0 4px; }
.gitem-ttl { font-size: 14px; font-weight: 600; color: #fff; margin: 0; line-height: 1.4; }
.gitem.hide { display: none; }

@media (max-width: 991px) {
  #lightbox > div { padding: 80px 20px !important; }
  #lbPrev { left: 10px !important; width: 44px !important; height: 44px !important; }
  #lbNext { right: 10px !important; width: 44px !important; height: 44px !important; }
  #lbClose { top: 14px !important; right: 14px !important; width: 40px !important; height: 40px !important; }
}
@media (max-width: 767px) {
  #grid { grid-template-columns: 1fr !important; grid-auto-rows: 220px !important; }
  #grid .gitem { grid-column: span 1 !important; grid-row: span 1 !important; }
  .tab-btn { padding: 10px 16px; font-size: 10px; }
}
