.gallery-filter .btn { border-radius: 20px; font-size: .85rem; }
.gallery-filter .btn.active { background: var(--primary); border-color: var(--primary); color: #fff; }
.gallery-item { display: none; }
.gallery-item.visible { display: block; }

.galeri-kart {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #e7ebf3;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 14px 35px rgba(13, 26, 48, .08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.galeri-kart:hover {
  transform: translateY(-4px);
  border-color: rgba(247, 162, 0, .45);
  box-shadow: 0 20px 46px rgba(13, 26, 48, .14);
  color: inherit;
  text-decoration: none;
}

.galeri-kart-img-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eef2f8;
}

.galeri-kart-img-wrap img,
.galeri-gorsel-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.galeri-kart-img-wrap img {
  transition: transform .35s ease;
}

.galeri-kart:hover .galeri-kart-img-wrap img {
  transform: scale(1.06);
}

.galeri-kart-overlay,
.galeri-gorsel-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: rgba(13, 26, 48, .62);
  color: #fff;
  font-size: .9rem;
  font-weight: 700;
  opacity: 0;
  transition: opacity .22s ease;
}

.galeri-kart:hover .galeri-kart-overlay,
.galeri-gorsel-wrap:hover .galeri-gorsel-overlay,
.galeri-gorsel-wrap:focus .galeri-gorsel-overlay {
  opacity: 1;
}

.galeri-kart-overlay i {
  color: var(--accent);
  font-size: 1.2rem;
}

.galeri-kart-bilgi {
  flex: 1;
  padding: 1rem 1rem 1.1rem;
}

.galeri-kart-baslik {
  margin: 0;
  color: var(--primary-dk);
  font-size: 1.02rem;
  line-height: 1.35;
  font-weight: 800;
}

.galeri-kart-alt {
  margin: .45rem 0 0;
  color: #6d7482;
  font-size: .9rem;
  line-height: 1.55;
}

.galeri-detay-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}

.galeri-detay-meta-item,
.galeri-geri-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 40px;
  padding: .55rem .85rem;
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 700;
}

.galeri-detay-meta-item {
  background: rgba(247, 162, 0, .12);
  color: var(--primary-dk);
}

.galeri-detay-meta-item i {
  color: var(--accent);
}

.galeri-geri-btn {
  border: 1px solid #dfe5ef;
  background: #fff;
  color: var(--primary-dk);
  text-decoration: none;
}

.galeri-geri-btn:hover {
  border-color: var(--accent);
  color: var(--primary-dk);
  text-decoration: none;
}

.galeri-detay-aciklama {
  padding: 1.15rem 1.25rem;
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: var(--light-bg);
  color: #4f5663;
  line-height: 1.75;
}

.galeri-gorsel-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 8px;
  background: #eef2f8;
  box-shadow: 0 12px 30px rgba(13, 26, 48, .08);
  cursor: zoom-in;
  outline: none;
}

.galeri-gorsel-wrap img {
  transition: transform .3s ease;
}

.galeri-gorsel-wrap:hover img,
.galeri-gorsel-wrap:focus img {
  transform: scale(1.05);
}

.galeri-gorsel-overlay i {
  color: var(--accent);
  font-size: 1.45rem;
}

.galeri-gorsel-baslik {
  position: absolute;
  left: .65rem;
  right: .65rem;
  bottom: .65rem;
  z-index: 1;
  padding: .45rem .6rem;
  border-radius: 6px;
  background: rgba(13, 26, 48, .82);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
}

.galeri-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 5rem 1rem 2rem;
}

.galeri-lightbox.is-open {
  display: flex;
}

.lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 12, 24, .88);
}

.lb-content {
  position: relative;
  z-index: 1;
  width: min(1100px, 100%);
  max-height: calc(100vh - 7rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lb-content img {
  max-width: 100%;
  max-height: calc(100vh - 10rem);
  border-radius: 8px;
  object-fit: contain;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .4);
}

.lb-close,
.lb-nav {
  position: fixed;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  color: var(--primary-dk);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lb-close { top: 1.2rem; right: 1.2rem; }
.lb-prev { left: 1.2rem; top: 50%; transform: translateY(-50%); }
.lb-next { right: 1.2rem; top: 50%; transform: translateY(-50%); }

.lb-footer {
  width: min(1100px, 100%);
  margin-top: .75rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #fff;
  font-size: .9rem;
}

.lb-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2rem;
}

@media (max-width: 767.98px) {
  .galeri-kart-bilgi { padding: .85rem; }
  .galeri-kart-baslik { font-size: .95rem; }
  .galeri-kart-alt { font-size: .84rem; }
  .galeri-detay-meta { align-items: stretch; }
  .galeri-geri-btn.ms-auto { margin-left: 0 !important; }
  .lb-nav { width: 38px; height: 38px; }
  .lb-prev { left: .5rem; }
  .lb-next { right: .5rem; }
  .lb-footer { flex-direction: column; gap: .25rem; }
}
