/* Galeri modülü: albüm kartları, sıkı görsel ızgarası, önce/sonra çiftleri ve lightbox.
   Yalnızca tema token'ları; sabit renk yok. Lightbox işaretlemesi mod-gallery.js tarafından üretilir (class adları sabit). */

/* Admin galeri ekranı (mod-gallery.css yüklenir) */
.gal-drop { border: 2px dashed var(--color-line); border-radius: var(--radius); padding: var(--space-5); text-align: center; cursor: pointer; background: var(--color-surface); }
.gal-drop:focus-visible,
.gal-drop.is-over { outline: 2px solid var(--color-primary); border-color: var(--color-primary); }
.gal-items img { border-radius: var(--radius); object-fit: cover; }

/* Sayfa iskeleti */
.gal-page { max-width: 1140px; margin: 0 auto; padding: var(--space-6) 20px var(--section-y); color: var(--color-text); }
.gal-page.wrap { max-width: calc(var(--wrap) + var(--gutter) * 2); padding: 0 var(--gutter) clamp(48px, 8vw, 112px); }
.gal-page h1 { font-family: var(--font-heading); font-size: var(--text-h1); font-weight: 400; line-height: 1.15; letter-spacing: -0.01em; margin: var(--space-3) 0 var(--space-6); text-wrap: balance; }
.gal-page .pg-head h1 { margin: 0; }
.gal-page > p:first-child { margin: 0; }
.gal-page > p:first-child a { display: inline-flex; align-items: center; min-height: 44px; color: var(--color-muted); text-decoration: none; }
.gal-page > p:first-child a:hover { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }

.gal-page a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; border-radius: 4px; }
.muted { color: var(--color-muted); }

/* Albüm listesi: ilk albüm masaüstünde iki sütun genişliğinde (öne çıkan) */
.gal-albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--space-6) var(--space-5); list-style: none; margin: 0; padding: 0; }
@media (min-width: 46em) {
  .gal-albums > li:first-child { grid-column: span 2; }
}
.gal-album { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; color: var(--color-text); text-decoration: none; }
.gal-album img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); background: var(--color-line); }
.gal-albums > li:first-child .gal-album img { aspect-ratio: 16 / 9; }
.gal-album__name { font-family: var(--font-heading); font-size: var(--text-h3); font-weight: 500; line-height: 1.3; }
.gal-album .muted { font-size: 0.9rem; }
.gal-album:hover .gal-album__name { color: var(--color-primary); }
.gal-album:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; border-radius: var(--radius); }

/* Görsel ızgarası: tutarlı oranlar (4:5), mobilde 2 sütun, masaüstünde 3 sütun */
.gal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-3); list-style: none; margin: 0; padding: 0; }
@media (min-width: 44em) {
  .gal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6) var(--space-4); }
  .gal-item--pair { grid-column: span 2; }
}
.gal-item { min-width: 0; }

.gal-single { margin: 0; }
.gal-single a { display: block; border-radius: var(--radius); }
.gal-single img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); background: var(--color-line); }
.gal-single figcaption,
.gal-pair figcaption { margin-top: var(--space-2); font-size: 0.9rem; color: var(--color-muted); }

/* Önce/sonra çifti: etiketler fotoğrafın üstünde, metin olarak (üstüne bindirilmez) */
.gal-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: 0; }
.gal-pair__col { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.gal-pair__col a { display: block; border-radius: var(--radius); }
.gal-pair__col img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); background: var(--color-line); }
.gal-tag { font-size: 0.8rem; font-weight: 600; color: var(--color-primary); line-height: 1.2; }
.gal-pair figcaption { grid-column: 1 / -1; }

/* Lightbox (mod-gallery.js işaretlemesi) */
.gal-lb {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  padding: var(--space-4);
  background: color-mix(in srgb, var(--color-text) 88%, transparent);
}
.gal-lb[hidden],
.gal-lb [hidden] { display: none !important; }
.gal-lb__panel { position: relative; display: flex; flex-direction: column; gap: var(--space-3); width: min(960px, 100%); max-height: 100%; }
.gal-lb__close { align-self: flex-end; }
.gal-lb__fig { margin: 0; text-align: center; }
.gal-lb__fig img { display: block; width: auto; max-width: 100%; max-height: 74vh; margin: 0 auto; object-fit: contain; border-radius: var(--radius); }
.gal-lb__fig figcaption { margin-top: var(--space-2); color: var(--color-bg); font-size: 0.95rem; }
.gal-lb__nav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); color: var(--color-bg); }
.gal-lb__count { font-variant-numeric: tabular-nums; font-size: 0.95rem; }
.gal-lb button {
  min-height: 44px; padding: 0 var(--space-5);
  background: var(--color-surface); color: var(--color-text);
  border: 1px solid var(--color-line); border-radius: var(--radius-btn);
  font: inherit; cursor: pointer;
}
.gal-lb button:hover { border-color: var(--color-primary); color: var(--color-primary); }
.gal-lb button:focus-visible { outline: 2px solid var(--color-bg); outline-offset: 3px; }

@media (max-width: 30em) {
  .gal-lb { padding: var(--space-3); }
  .gal-lb__nav button { padding: 0 var(--space-4); }
}


/* ---- Galeri: filtre + masonry (premium) ---- */
.gal-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-6)}
.gal-filter a{padding:.55rem 1.15rem;border:1px solid var(--color-line);border-radius:var(--radius-btn);color:var(--color-text);background:var(--color-surface);text-decoration:none;font-size:.95rem}
.gal-filter a:hover{border-color:var(--color-primary)}
.gal-filter a.is-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
.gal-masonry{column-count:2;column-gap:var(--space-3);list-style:none;margin:0;padding:0}
@media(min-width:760px){.gal-masonry{column-count:3;column-gap:var(--space-4)}}
@media(min-width:1280px){.gal-masonry{column-count:4;column-gap:var(--space-5)}}
.gal-m{break-inside:avoid;margin:0 0 var(--space-3)}
@media(min-width:760px){.gal-m{margin-bottom:var(--space-4)}}
@media(min-width:1280px){.gal-m{margin-bottom:var(--space-5)}}
.gal-m__a{display:block;overflow:hidden;border-radius:var(--radius);background:var(--tint)}
.gal-m__a img{display:block;width:100%;height:auto;transition:transform .7s var(--ease),opacity .3s}
.gal-m__a:hover img{transform:scale(1.04)}
.gal-m .gal-pair{gap:var(--space-2)}
.gal-m .gal-pair__col img{aspect-ratio:auto;border-radius:var(--radius)}
@media(prefers-reduced-motion:reduce){.gal-m__a img{transition:none}.gal-m__a:hover img{transform:none}}
