/* =============================================================
   gallery3d.css — Yaşam Alanları 3D sonsuz kavisli carousel.
   Konkav silindir: kartlar rotateY(i*step) translateZ(-R); merkez uzak/küçük,
   kenarlar viewer'a kıvrılır + açıya göre solar/bulanır (depth-of-field).
   .track (ring) sürekli döner; sürükle + momentum. SCOPE: .mcy-gal3d kökünden.
   ============================================================= */

.mcy-gal3d {
  --g3-display: "Poppins", sans-serif;
  display: flex;
  justify-content: center;
  background: var(--bg-color);
  padding: clamp(56px, 9vh, 110px) 0;
  position: relative;
}
.mcy-gal3d .mcy-gal3d__inner { position: relative; z-index: 1; width: 100%; max-width: 1500px; }

/* Üstten kırmızı ışıma — LightRays (ŞEFFAF overlay, beyaz/paper zeminde).
   top-center origin: huzmeler üstte yoğun, aşağı doğru shader'ın kendi
   brightness/length falloff'uyla söner. Blend/maske yok; içerik z-index:1 ile üstte. */
.mcy-gal3d .mcy-gal3d__rays {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: clamp(340px, 46vh, 600px);
  margin-top: clamp(-80px, -5vw, -44px); /* ışıma biraz yukarı çıksın */
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.mcy-gal3d .mcy-gal3d__raysfx { position: absolute; inset: 0; }

/* ---------- Header ---------- */
.mcy-gal3d .mcy-gal3d__head {z-index: 2;position: relative; text-align: center; max-width: 56ch; margin: 0 auto clamp(10px, 1.6vw, 22px); padding: 0 24px; }
.mcy-gal3d .mcy-gal3d__eyebrow {
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--primary-color);
}
.mcy-gal3d .mcy-gal3d__title {
  margin: 0;
  font-family: var(--g3-display);
  font-weight: 700;
  font-size: clamp(2rem, 3vw, 2.85rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--text-dark);
  white-space: nowrap;
}
.mcy-gal3d .mcy-gal3d__title b { font-weight: 700; color: var(--primary-color); }
.mcy-gal3d .mcy-gal3d__intro {
  margin: 13px auto 0;
  max-width: 46ch;
  font-size: clamp(0.95rem, 1.25vw, 1.05rem);
  line-height: 1.5;
  color: rgba(28, 22, 18, 0.58);
}
@media (max-width: 560px) { .mcy-gal3d .mcy-gal3d__title { white-space: normal; } }

/* ---------- 3D viewport ---------- */
.mcy-gal3d .mcy-gal3d__stage {
  position: relative;
  height: clamp(480px, 62vh, 680px);
  margin-top: -8vh;
  perspective: 1000px;
  perspective-origin: 50% 50%;
  overflow: hidden;
  z-index: 1;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%);
}
/* Ring: kart boyutunda, merkeze sabitli; sürekli döner (JS) */
.mcy-gal3d .mcy-gal3d__track {
  position: absolute;
  left: 50%;
  top: 50%;
  transform-style: preserve-3d;
  will-change: transform;
  cursor: grab;
}
.mcy-gal3d .mcy-gal3d__track.is-grab { cursor: grabbing; }

/* Kart: konkav silindire dizili (transform JS'te) */
.mcy-gal3d .mcy-gal3d__card {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 26px;
  overflow: hidden;
  background: #1c1612;
  box-shadow: 0 22px 48px -14px rgba(28, 22, 18, 0.42);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.mcy-gal3d .mcy-gal3d__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

/* Header CTA */
.mcy-gal3d .mcy-gal3d__hcta { margin-top: 24px; }

/* Alt: minimal tek-satır bilgi şeridi (carousel'e yakın) */
.mcy-gal3d .mcy-gal3d__foot {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(20px, 3.5vw, 54px);
  margin: clamp(-22px, -1.8vw, -8px) auto 0;
  padding: 0 24px;
}
.mcy-gal3d .mcy-gal3d__fitem {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--g3-display);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.01em;
  color: var(--text-dark);
}
.mcy-gal3d .mcy-gal3d__fitem .mcy-ico { width: 17px; height: 17px; color: var(--primary-color); flex-shrink: 0; }
