.gallery-hero {
  position: relative;
  min-height: 520px;
  display: grid;
  place-items: center;
  padding: 150px 0 90px;
  overflow: hidden;
  background: var(--navy);
}

.gallery-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,17,31,.94), rgba(7,17,31,.62)),
    url('../gallery/proje3/50d940fa-9f00-43bb-bd31-1329a94e40bf.webp') center 54% / cover;
  transform: scale(1.02);
}

.gallery-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 150px;
  background: linear-gradient(transparent, var(--off-white));
}

.gallery-hero-content { position: relative; z-index: 1; max-width: 760px; }
.gallery-breadcrumb { display:flex; gap:8px; align-items:center; color:rgba(255,255,255,.6); font-size:.85rem; margin-bottom:24px; }
.gallery-breadcrumb a:hover { color:var(--green-light); }
.gallery-breadcrumb span:last-child { color:var(--green-light); font-weight:700; }
.gallery-hero h1 { color:var(--white); font-size:clamp(2.8rem,7vw,5.4rem); line-height:1.02; letter-spacing:-.045em; margin:12px 0 24px; }
.gallery-hero h1 span { color:var(--terracotta-light); }
.gallery-hero p { color:rgba(255,255,255,.72); font-size:clamp(1rem,2vw,1.2rem); max-width:650px; }

.gallery-section { padding:80px 0 110px; background:var(--off-white); }
.gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:36px; }
.gallery-filters { display:flex; flex-wrap:wrap; gap:10px; }
.gallery-filter { border:1px solid rgba(10,22,40,.12); background:rgba(255,255,255,.8); color:var(--text-secondary); padding:11px 18px; border-radius:999px; font:700 .86rem Arial,sans-serif; cursor:pointer; transition:.25s ease; }
.gallery-filter:hover { border-color:var(--green); color:var(--green-dark); transform:translateY(-2px); }
.gallery-filter.active { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--green),var(--green-dark)); box-shadow:0 8px 24px rgba(45,138,62,.25); }
.gallery-count { color:var(--text-muted); font-size:.9rem; white-space:nowrap; }

.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; gap:18px; }
.gallery-card { grid-column:span 4; height:320px; position:relative; overflow:hidden; border:0; border-radius:22px; background:var(--navy); padding:0; cursor:zoom-in; box-shadow:0 12px 34px rgba(10,22,40,.1); animation:galleryIn .5s both; }
.gallery-card:nth-child(7n+1), .gallery-card:nth-child(7n+5) { grid-column:span 6; height:410px; }
.gallery-card:nth-child(7n+2) { grid-column:span 6; height:410px; }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.gallery-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(7,17,31,.8)); opacity:.55; transition:.3s ease; }
.gallery-card-info { position:absolute; z-index:2; inset:auto 20px 18px; display:flex; align-items:flex-end; justify-content:space-between; color:white; text-align:left; transform:translateY(8px); opacity:.86; transition:.3s ease; }
.gallery-card-category { display:block; font:700 .72rem Arial,sans-serif; color:var(--green-light); text-transform:uppercase; letter-spacing:.08em; }
.gallery-card-zoom { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(10px); font-size:1.3rem; }
.gallery-card:hover img { transform:scale(1.07); filter:saturate(1.08); }
.gallery-card:hover::after { opacity:.9; }
.gallery-card:hover .gallery-card-info { transform:none; opacity:1; }
.gallery-card[hidden] { display:none; }

.gallery-empty { text-align:center; padding:80px 20px; color:var(--text-secondary); }

.gallery-lightbox { position:fixed; z-index:9999; inset:0; display:none; align-items:center; justify-content:center; padding:32px 90px; background:rgba(4,10,18,.94); backdrop-filter:blur(16px); }
.gallery-lightbox.open { display:flex; animation:lightboxIn .25s ease; }
.gallery-lightbox-image { max-width:min(1200px,100%); max-height:calc(100vh - 110px); object-fit:contain; border-radius:12px; box-shadow:0 30px 100px rgba(0,0,0,.55); }
.lightbox-close,.lightbox-prev,.lightbox-next { position:absolute; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.09); color:#fff; display:grid; place-items:center; cursor:pointer; transition:.2s; }
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover { background:var(--terracotta); border-color:transparent; }
.lightbox-close { top:24px; right:24px; width:48px; height:48px; border-radius:50%; font-size:1.8rem; }
.lightbox-prev,.lightbox-next { top:50%; transform:translateY(-50%); width:54px; height:70px; border-radius:16px; font-size:2rem; }
.lightbox-prev { left:22px; } .lightbox-next { right:22px; }
.lightbox-caption { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.75); font-size:.9rem; text-align:center; }
.lightbox-caption strong { color:#fff; }

@keyframes galleryIn { from { opacity:0; transform:translateY(18px); } }
@keyframes lightboxIn { from { opacity:0; } }

@media(max-width:850px) {
  .gallery-hero { min-height:460px; padding-top:130px; }
  .gallery-toolbar { align-items:flex-start; flex-direction:column; }
  .gallery-card,.gallery-card:nth-child(7n+1),.gallery-card:nth-child(7n+2),.gallery-card:nth-child(7n+5) { grid-column:span 6; height:300px; }
  .gallery-lightbox { padding:80px 16px; }
  .lightbox-prev,.lightbox-next { top:auto; bottom:18px; width:48px; height:48px; border-radius:50%; transform:none; }
  .lightbox-prev { left:20px; } .lightbox-next { right:20px; }
}

@media(max-width:560px) {
  .gallery-section { padding:60px 0 80px; }
  .gallery-grid { gap:12px; }
  .gallery-card,.gallery-card:nth-child(7n+1),.gallery-card:nth-child(7n+2),.gallery-card:nth-child(7n+5) { grid-column:span 12; height:310px; border-radius:16px; }
  .gallery-count { display:none; }
  .gallery-filter { padding:9px 13px; font-size:.78rem; }
  .gallery-card-info { inset:auto 16px 15px; }
}

@media(prefers-reduced-motion:reduce) {
  .gallery-card,.gallery-lightbox { animation:none; }
  .gallery-card img,.gallery-card-info { transition:none; }
}
