/* MISS VEGA — scroll ile sürülen film katmanı
   Öncelik: CSS Scroll-Driven Animations (animation-timeline).
   Desteklenmiyorsa assets/js/film.js `--ilerleme` / `--gorunum` değişkenlerini
   besler; aynı görünüm, JS ile. Tek bir kural iki yolda da çalışır. */

html:has(.sayfa-film), .sayfa-film { overflow-x: clip; }

/* ============ 0 · AÇILIŞ ============ */
.acilis {
  position: relative;
  height: 100dvh;
  display: grid;
  place-items: center;
  padding: calc(var(--mv-ust-pay, 116px)) 16px 120px;
  overflow: hidden;
}

.acilis-fon {
  position: absolute; inset: -10%;
  background: url('../img/intro-poster.jpg') center/cover no-repeat;
  filter: blur(72px) saturate(1.35) brightness(.5);
  opacity: .55;
  transform: scale(1.08);
}

.acilis-kadro {
  position: relative;
  height: 100%;
  max-height: 100%;
  aspect-ratio: 1440 / 2380;
  max-width: 100%;
  border-radius: 5px;
  /* DUVAR NİŞİ — kadro arka plana gömülü dursun, üstüne yapıştırılmış değil.
     Dışta kalın karanlık gölge (oyuk), içte üstten ışık + alttan karartma. */
  box-shadow:
    0 60px 150px -46px rgba(0,0,0,.98),          /* nişin dip gölgesi */
    0 0 0 1px rgba(212,175,55,.16),              /* altın kıl kenar */
    0 0 0 9px rgba(3, 16, 10, .92),              /* duvar kalınlığı */
    0 0 0 10px rgba(212,175,55,.09),             /* dış altın hat */
    0 0 46px 12px rgba(0,0,0,.55);               /* duvara oturan yumuşak gölge */
  transform-style: preserve-3d;
  will-change: transform, opacity;

  /* JS köprüsü (fallback) — native destek varsa aşağıda eziliyor */
  transform:
    perspective(1500px)
    rotateY(calc(var(--ilerleme, 0) * -26deg))
    rotateX(calc(var(--ilerleme, 0) * 6deg))
    scale(calc(1 - var(--ilerleme, 0) * 0.22))
    translateY(calc(var(--ilerleme, 0) * -8vh));
  opacity: calc(1 - var(--ilerleme, 0) * 0.85);
}

.acilis-ortam {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
}

.acilis-alt {
  position: absolute;
  left: 50%; bottom: 26px;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  text-align: center;
  z-index: 3;
}
.acilis-etiket {
  font-family: var(--mv-font-display);
  font-size: 11px; font-weight: 600;
  letter-spacing: .34em; text-transform: uppercase;
  color: var(--mv-gold-light);
  text-shadow: 0 2px 14px rgba(0,0,0,.95);
}
.kaydir-isaret {
  width: 1px; height: 42px;
  background: linear-gradient(to bottom, rgba(212,175,55,.85), transparent);
  animation: kaydir 2.4s ease-in-out infinite;
}
@keyframes kaydir {
  0%,100% { opacity: .25; transform: scaleY(.6); transform-origin: top; }
  50%     { opacity: 1;   transform: scaleY(1);  transform-origin: top; }
}

/* ============ Ortak bölüm girişi ============ */
.film-perde {
  position: relative;
  padding: 7vh 20px;          /* 12vh çift taraflı ölü boşluk doğuruyordu */
}
.film-govde {
  max-width: 780px; margin: 0 auto;
  /* JS köprüsü */
  opacity: var(--gorunum, 1);
  transform: translateY(calc((1 - var(--gorunum, 1)) * 34px));
}
.film-etiket {
  font-size: var(--mv-fs-label);
  letter-spacing: var(--mv-ls-label);
  color: var(--mv-gold);
  text-align: center;
  margin-bottom: 12px;
}
.film-h2 {
  font-family: var(--mv-font-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 4.6vw, 2.9rem);
  letter-spacing: .04em;
  color: var(--mv-gold-light);
  text-align: center;
  margin-bottom: 16px;
}
.film-metin {
  font-size: 1.06rem; line-height: 1.95;
  color: rgba(255,255,255,.80);
  text-align: left;              /* okuma akışı: uzun metin ortalanmaz */
  max-width: 58ch; margin: 0 auto;
  hyphens: auto; -webkit-hyphens: auto;
}

/* ============ 3 · DAVET ============ */
.davet-eylem {
  display: flex; flex-wrap: wrap; gap: 12px;
  justify-content: center; margin-top: 34px;
}
.mv-ios-yonerge {
  max-width: 420px; margin: 26px auto 0;
  padding: 18px 20px;
  border: 1px solid rgba(212,175,55,.26);
  background: var(--mv-cam-zemin);
  text-align: left;
}
.mv-ios-yonerge[hidden] { display: none; }
.mv-ios-yonerge p { font-size: 13px; line-height: 1.8; color: rgba(255,255,255,.72); }
.mv-ios-yonerge ol { margin: 12px 0 14px 18px; font-size: 13px; line-height: 2; color: rgba(255,255,255,.66); }
.mv-ios-yonerge b { color: var(--mv-gold-light); font-weight: 500; }

/* ============ Sabit tek satır CTA ============ */
.sabit-cta {
  position: fixed;
  left: 50%; bottom: 20px;
  transform: translateX(-50%);
  z-index: var(--mv-z-icerik);
  display: flex; gap: 10px; flex-wrap: nowrap;
  padding: 8px;
  background: var(--mv-cam-zemin);
  backdrop-filter: var(--mv-cam-bulan);
  border: 1px solid var(--mv-cam-kenar);
  border-radius: 3px;
  transition: opacity .5s var(--mv-ease-sahne), transform .5s var(--mv-ease-sahne);
}
.sabit-cta.gizle { opacity: 0; transform: translate(-50%, 24px); pointer-events: none; }

/* ============ Ses düğmesi ============ */
.ses-dugme {
  position: fixed;
  right: 16px; bottom: 84px;
  z-index: var(--mv-z-icerik);
  width: 44px; height: 44px;
  display: grid; place-items: center;
  background: var(--mv-cam-zemin);
  backdrop-filter: var(--mv-cam-bulan);
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 50%;
  color: var(--mv-gold);
  cursor: pointer;
}
.ses-dugme svg { width: 18px; height: 18px; fill: currentColor; }
.ses-dugme .dalga { opacity: 0; transition: opacity var(--mv-dur-mikro) linear; }
.ses-dugme[data-durum="acik"] .dalga { opacity: 1; }
.ses-dugme[data-durum="acik"] { color: var(--mv-gold-light); border-color: rgba(212,175,55,.6); }

/* ============ Toz tuvali ============ */
.toz {
  position: fixed; inset: 0;
  z-index: var(--mv-z-sahne);
  pointer-events: none;
}

/* ============ NATIVE Scroll-Driven Animations ============
   Destek varsa JS köprüsü devre dışı kalır, tarayıcı çekirdeği sürer. */
@supports (animation-timeline: view()) {
  .acilis-kadro {
    transform: none;
    opacity: 1;
    animation: acilis-donus linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 100vh;
  }
  @keyframes acilis-donus {
    from {
      transform: perspective(1500px) rotateY(0deg) rotateX(0deg) scale(1) translateY(0);
      opacity: 1;
    }
    to {
      transform: perspective(1500px) rotateY(-26deg) rotateX(6deg) scale(.78) translateY(-8vh);
      opacity: .15;
    }
  }

  .acilis-fon {
    animation: fon-ac linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 100vh;
  }
  @keyframes fon-ac { from { opacity: .55; transform: scale(1.08) } to { opacity: .9; transform: scale(1.2) } }

  .film-govde {
    opacity: 1; transform: none;
    animation: film-gir linear both;
    animation-timeline: view();
    animation-range: entry 6% cover 34%;
  }
  @keyframes film-gir {
    from { opacity: 0; transform: translateY(34px) }
    to   { opacity: 1; transform: translateY(0) }
  }

  .cesitler-gorsel {
    animation: gorsel-gir linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 42%;
  }
  @keyframes gorsel-gir {
    from { opacity: 0; transform: translateY(46px) scale(.94) }
    to   { opacity: 1; transform: translateY(0) scale(1) }
  }
}

/* ============ Mobil ============ */
@media (max-width: 860px) {
  .acilis { padding: calc(var(--mv-ust-pay, 142px)) 12px 110px; }
  .film-perde { padding: 5vh 18px; }
  .film-metin { font-size: 1rem; }
  .ses-dugme { bottom: 80px; right: 12px; }
  .sabit-cta { bottom: 16px; gap: 8px; }
}

/* ============ Az hareket ============ */
@media (prefers-reduced-motion: reduce) {
  .acilis-kadro { animation: none !important; transform: none !important; opacity: 1 !important; }
  .acilis-fon { animation: none !important; }
  .film-govde, .cesitler-gorsel { animation: none !important; opacity: 1 !important; transform: none !important; }
  .kaydir-isaret { animation: none; }
  .toz { display: none; }
}


/* ============ ÜRETİCİ PANELİ & TAHSİSAT ============ */
.uretici .slogan {
  font-size: clamp(1.55rem, 5.6vw, 2.7rem);
  line-height: 1.22;
  letter-spacing: .02em;
  text-transform: none;
}

.uretim-kart {
  display: grid;
  grid-template-columns: 340px 1fr;   /* görsel TAM görünür, okunur — 220px'te eziliyordu */
  gap: 36px;
  align-items: center;
  max-width: 880px;
  margin: 42px auto 0;
  padding: 22px;
  border: 1px solid var(--mv-cam-kenar);
  background: var(--mv-cam-zemin);
  backdrop-filter: var(--mv-cam-bulan);
  box-shadow: var(--mv-cam-golge);
  border-radius: 5px;
  will-change: transform;
}
.uretim-gorsel { position: relative; }
.uretim-gorsel img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 420 / 996; object-fit: cover;
  border-radius: 4px;
}

.uretim-ad {
  font-family: var(--mv-font-display);
  font-size: 1.32rem; font-weight: 600; line-height: 1.3;
  letter-spacing: .02em; color: var(--mv-gold-light);
  margin-bottom: 5px;
}
.uretim-alt {
  font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--mv-gold); margin-bottom: 20px;
}

.kunye { margin-bottom: 24px; }
.kunye > div {
  padding: 12px 0;
  border-bottom: 1px solid rgba(212,175,55,.12);
}
.kunye dt {
  font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--mv-gold); margin-bottom: 5px;
}
.kunye dd { font-size: .94rem; line-height: 1.7; color: rgba(255,255,255,.82); }

.uretim-eylem { display: flex; flex-direction: column; gap: 10px; }
.luxury-btn.genis { width: 100%; }
.btn-ikon { margin-right: 9px; font-size: 13px; filter: saturate(1.2); }

.guvence {
  list-style: none;
  max-width: 760px; margin: 26px auto 0;
  display: grid; gap: 10px;
}
.guvence li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: .92rem; line-height: 1.7;
  color: rgba(255,255,255,.74);
}
.guvence li span {
  flex: 0 0 auto; width: 10px; height: 1px; margin-top: 13px;
  background: var(--mv-gold);
}
.guvence b { color: var(--mv-gold-light); font-weight: 500; }

.alan-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.alan select {
  width: 100%; min-height: 46px; padding: 12px 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(212,175,55,.26);
  color: #fff; font-family: var(--mv-font-body); font-size: 15px;
  border-radius: 2px; appearance: none;
}
.alan select:focus { outline: none; border-color: var(--mv-gold); }
.alan select option { background: #06170F; color: #fff; }

@media (max-width: 680px) {
  .uretim-kart { grid-template-columns: 1fr; gap: 30px; padding: 18px; }
  .uretim-gorsel { max-width: 240px; margin: 0 auto; }
  .uretim-ad { font-size: 1.18rem; }
  .alan-ikili { grid-template-columns: 1fr; gap: 0; }
}


/* Ana tema motifi — "İçimi soğuk, lezzeti anne sıcaklığında."
   Markanın kalp cümlesi: büyük konuşmaz, alçak sesle kalır. */
.icim-motif {
  margin-top: 26px;
  font-family: var(--mv-font-display);
  font-style: italic;
  font-size: clamp(1.05rem, 2.6vw, 1.3rem);
  letter-spacing: .04em;
  color: var(--mv-gold-light);
  text-align: center;
  opacity: .92;
}
.icim-motif::before, .icim-motif::after {
  content: '';
  display: inline-block; vertical-align: middle;
  width: 34px; height: 1px; margin: 0 14px;
  background: linear-gradient(to right, transparent, rgba(212,175,55,.55), transparent);
}

/* Arz notu — sessiz prestij: az kelime, altin vurgu */
.arz-notu { margin-top: 16px; font-size: .96rem; color: rgba(255,255,255,.66); }
.arz-notu .vurgu { color: var(--mv-gold-light); font-weight: 500; }

/* Kooperatif — kalite belgesi bloğu */
.kooperatif {
  max-width: 760px; margin: 40px auto 0;
  padding: 26px 24px;
  border-left: 2px solid var(--mv-gold);
  background: linear-gradient(90deg, rgba(15,81,56,.20), transparent 70%);
}
.kooperatif .film-etiket { text-align: left; margin-bottom: 8px; }
.kooperatif-baslik {
  font-family: var(--mv-font-display);
  font-size: 1.24rem; font-weight: 600; letter-spacing: .02em;
  color: var(--mv-gold-light); margin-bottom: 14px;
}
.kooperatif p {
  font-size: .98rem; line-height: 1.9;
  color: rgba(255,255,255,.80); max-width: 60ch;
}
.kooperatif .guvence { margin-top: 20px; }
@media (max-width: 680px) { .kooperatif { padding: 22px 18px; } }


/* ============ ÜRÜN SLIDER — derinlikli, çapraz geçişli ============ */
.uretim-gorsel {
  position: relative;
  perspective: 1200px;
  will-change: transform;
}

.slayt-kutu {
  position: relative;
  width: 100%;
  aspect-ratio: 620 / 1110;      /* üç görsel de 9:16 — kırpma yok */
  border-radius: 5px;
  overflow: hidden;
  transform-style: preserve-3d;
  box-shadow:
    0 40px 90px -34px rgba(0,0,0,.95),
    0 0 0 1px rgba(212,175,55,.16);
}

.slayt {
  position: absolute; inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 1.3s var(--mv-ease-sahne), transform 7s linear;
  will-change: opacity, transform;
}
.slayt.etkin {
  opacity: 1;
  transform: scale(1);           /* yavaş Ken Burns — kare canlı kalır */
}
.slayt img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;             /* üçü de aynı orana sahip, kayıp yok */
}

/* İç altın kenar + üstten ışık — cam vitrin hissi */
.slayt-cerceve {
  position: absolute; inset: 0;
  pointer-events: none;
  border-radius: 5px;
  box-shadow:
    inset 0 0 0 1px rgba(212,175,55,.20),
    inset 0 40px 80px -60px rgba(243,229,171,.55),
    inset 0 -70px 90px -70px rgba(0,0,0,.9);
}


/* Zemin yansıması — kart havada asılı kalmasın */
.slayt-yansima {
  width: 74%;
  height: 34px;
  margin: 10px auto 0;
  background: radial-gradient(ellipse at 50% 0%,
              rgba(142,27,42,.32), rgba(48,76,51,.16) 45%, transparent 72%);
  filter: blur(12px);
}

.slayt-gosterge {
  display: flex; justify-content: center; gap: 8px;
  margin-top: 12px;
}

@media (max-width: 680px) {
  .slayt-yansima { height: 26px; }
  .slayt-gosterge { margin-top: 10px; }
}


/* ============ ÇEŞİTLER VİTRİNİ ============ */
.cesit-vitrin {
  position: relative;
  width: min(100%, 420px);
  margin: 42px auto 0;
  perspective: 1200px;
  will-change: transform;
}
.cesit-vitrin img {
  display: block; width: 100%; height: auto;
  border-radius: 5px;
  box-shadow: 0 40px 100px -38px rgba(0,0,0,.95);
}
.vitrin-cerceve {
  position: absolute; inset: 0;
  pointer-events: none; border-radius: 5px;
  box-shadow:
    inset 0 0 0 1px rgba(212,175,55,.18),
    inset 0 40px 80px -60px rgba(243,229,171,.5),
    inset 0 -70px 90px -70px rgba(0,0,0,.85);
}


/* Niş içi derinlik: üstten düşen ışık, alttan ve kenarlardan karanlık */
.acilis-kadro::after {
  content: '';
  position: absolute; inset: 0;
  pointer-events: none;
  border-radius: 5px;
  z-index: 4;
  background:
    linear-gradient(to bottom, rgba(243,229,171,.10) 0%, transparent 22%),
    linear-gradient(to top,    rgba(0,0,0,.55) 0%, transparent 30%),
    linear-gradient(to right,  rgba(0,0,0,.42) 0%, transparent 12%,
                               transparent 88%, rgba(0,0,0,.42) 100%);
}

/* Nişin oturduğu duvar — kadronun arkasında hafif dokulu bir yüzey */
.acilis::before {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  width: min(94vw, 640px);
  height: min(96%, 1180px);
  transform: translate(-50%, -50%);
  border-radius: 10px;
  pointer-events: none;
  background:
    radial-gradient(ellipse 120% 80% at 50% 0%, rgba(15,81,56,.30), transparent 62%),
    linear-gradient(160deg, rgba(6,32,22,.55), rgba(3,14,9,.80));
  box-shadow: inset 0 1px 0 rgba(243,229,171,.07);
  filter: blur(1px);
}


/* ============ MOBİL: açılış videosu ekranı SARAR ============
   Dikey videoyu çerçeveye hapsetmek mobilde küçük bırakıyordu.
   Tam kanama (full-bleed): video ekranı doldurur, derinlik nişten değil
   iç vinyetten gelir. */
@media (max-width: 860px) {
  .acilis {
    padding: 0;
    height: 100dvh;
    align-items: stretch;
  }
  .acilis::before { display: none; }        /* duvar yüzeyi masaüstüne özel */

  .acilis-kadro {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    max-width: none; max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
    box-shadow: none;
  }
  .acilis-ortam { object-fit: cover; }      /* ekranı sarar, boşluk bırakmaz */

  /* Derinlik: kenarlardan içeri karartma + üstten ışık */
  .acilis-kadro::after {
    border-radius: 0;
    background:
      linear-gradient(to bottom, rgba(5,29,20,.92) 0%, rgba(5,29,20,.35) 18%, transparent 34%),
      linear-gradient(to top,    rgba(5,29,20,.95) 0%, rgba(5,29,20,.45) 22%, transparent 42%),
      radial-gradient(ellipse 96% 72% at 50% 45%, transparent 50%, rgba(0,0,0,.48) 100%);
  }

  /* Tagline kutunun kendi yazısının üstüne binmesin: alt karanlık banda in.
     Kaydırma çizgisi de gizlenir — dock zaten "devamı var" diyor, ikisi birden
     gürültü olur. */
  .acilis-alt { bottom: 74px; }
  .acilis-alt .kaydir-isaret { display: none; }
  .acilis-etiket { font-size: 10px; letter-spacing: .30em; }
  .sabit-cta { display: none; }             /* görevi dock devraldı */
  .ses-dugme { bottom: 82px; right: 14px; }
}


/* ============ ÜRÜN VİTRİNİ (veritabanından) ============ */
.urun-izgara {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 360px));
  justify-content: center;
  gap: 40px;
  margin: 42px auto 0;
  max-width: 1100px;
}
.urun-izgara.tekli { grid-template-columns: minmax(0, 380px); }

.urun-kart {
  position: relative;
  margin: 0;
  perspective: 1100px;
  will-change: transform;
}
.urun-kart img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 620 / 1110; object-fit: cover;
  border-radius: 5px;
  box-shadow: 0 34px 84px -34px rgba(0,0,0,.95);
}
.urun-kart figcaption { text-align: center; padding: 16px 6px 0; }
.urun-kart figcaption b {
  display: block;
  font-family: var(--mv-font-display);
  font-size: 1.18rem; font-weight: 600; letter-spacing: .03em;
  color: var(--mv-gold-light); margin-bottom: 8px;
}
.urun-ozet {
  display: block; font-size: .98rem; line-height: 1.75;
  color: rgba(255,255,255,.80); margin-bottom: 10px;
}
.urun-kunye {
  display: block; font-size: 9.5px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--mv-gold);
}
.urun-kunye .ayirac { color: rgba(212,175,55,.45); margin: 0 7px; }

@media (max-width: 680px) {
  .urun-izgara { grid-template-columns: minmax(0, 300px); gap: 34px; }
}


/* Etiket cümlesi — iddiasız, küçük, altın kıl çizgiyle ayrılmış */
.film-metin.alt-not {
  margin-top: 20px;
  padding-top: 18px;
  font-size: .92rem;
  color: rgba(255,255,255,.56);
  border-top: 1px solid rgba(212,175,55,.14);
  max-width: 44ch;
}
.film-h2 br { display: block; content: ''; }


/* ============ YARDIMCI EYLEMLER ============
   Ana eylem tek: ÖN SİPARİŞ. Bunlar onunla yarışmaz — küçük, çerçevesiz, sessiz. */
.yardimci-eylem {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px;
  max-width: 760px; margin: 30px auto 0;
  padding-top: 22px;
  border-top: 1px solid rgba(212,175,55,.12);
}
.ince-btn {
  background: none; border: none; cursor: pointer;
  font-family: var(--mv-font-body);
  font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.48);
  padding: 8px 2px;
  border-bottom: 1px solid transparent;
  transition: color var(--mv-dur-mikro) var(--mv-ease-sahne),
              border-color var(--mv-dur-mikro) var(--mv-ease-sahne);
}
.ince-btn:hover, .ince-btn:focus-visible {
  color: var(--mv-gold-light);
  border-bottom-color: rgba(212,175,55,.5);
  outline: none;
}
.ince-btn[hidden] { display: none; }
.ince-btn[disabled] { opacity: .4; cursor: default; }

/* Son bölümün altına nefes — sabit CTA metni ezmesin */
.film-perde:last-of-type { padding-bottom: 20vh; }


/* Parti mührü — KÜÇÜK, sağ üst köşe, görseli asla kapatmaz */
.parti-muhur {
  position: absolute;
  top: 10px; right: 10px;
  display: inline-block;
  padding: 4px 10px;
  font-size: 8px; font-weight: 600;
  letter-spacing: .22em;
  color: #100c02;
  background: var(--mv-gold);
  border-radius: 20px;
  white-space: nowrap;
  line-height: 1.4;
  box-shadow: 0 4px 14px rgba(0,0,0,.45);
  z-index: 3;
  pointer-events: none;
}

/* Video slider'a canlılık: karanlık boğuyordu */
.acilis-ortam { filter: saturate(1.14) brightness(1.09) contrast(1.03); }
.sahne-ustluk, .sahne-taban { filter: saturate(1.1) brightness(1.06); }

/* Başlıklar sönük kalmasın — altın ışık nefesi */
.film-h2 {
  color: var(--mv-gold-light);
  text-shadow: 0 0 26px rgba(212,175,55,.35), 0 2px 10px rgba(0,0,0,.8);
}
/* Okunabilirlik: gövde metni tam beyazlığa yakın, ağırlık bir tık dolgun */
.film-metin { color: rgba(255,255,255,.95); font-weight: 400; }
.film-metin b, .film-metin .vurgu { color: var(--mv-gold-light); }
.film-etiket { color: var(--mv-gold); text-shadow: 0 0 14px rgba(212,175,55,.3); }


/* ============ BÖLÜM KÖPRÜLERİ — sayfa TEK parça aksın ============
   Sorun: her bölüm ayrı kart gibi bitiyordu; scroll'da kesik hissi.
   Çözüm: bölümlerin alt/üst kenarları birbirinin içine erir. */
.acilis::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 26vh;
  pointer-events: none;
  z-index: 5;
  background: linear-gradient(to bottom, transparent, var(--mv-night) 88%);
}
.film-perde { position: relative; }
.film-perde::before {
  content: '';
  position: absolute;
  left: 50%; top: 0;
  transform: translateX(-50%);
  width: min(70vw, 340px); height: 1px;
  background: linear-gradient(to right, transparent, rgba(212,175,55,.28), transparent);
}
.film-perde.ritüel::before { display: none; }   /* açılışın erimesi yeter */

/* Sahne slider bölümü akışın içinde erisin */
#ritüel .sahne-alan::before,
#ritüel .sahne-alan::after {
  content: '';
  position: absolute; left: 0; right: 0;
  height: 60px; pointer-events: none; z-index: 3;
}
#ritüel .sahne-alan::before { top: -30px;  background: linear-gradient(to bottom, var(--mv-night), transparent); }
#ritüel .sahne-alan::after  { bottom: -30px; background: linear-gradient(to top, var(--mv-night), transparent); }

/* Dock arkası: içerik dock'un altından akarken kesik durmasın */
@media (max-width: 860px) {
  body::after {
    content: '';
    position: fixed;
    left: 0; right: 0; bottom: 0;
    height: 92px;
    pointer-events: none;
    z-index: calc(var(--mv-z-header) - 1);
    background: linear-gradient(to top, rgba(5,29,20,.94), transparent);
  }
}

/* SLIDER-SCROLL SENKRONU: bölüm görünürken oynar, çıkınca durur —
   sahne.js IntersectionObserver'ı zaten yapıyor; buradaki katkı görsel:
   bölüm görünür olduğunda hale nefes almaya başlar */
