@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap");

/* Bahtal tanıtım sitesi — tasarım sistemi.

   PALET: yalnızca beyaz ve turuncu. Marka turuncusu #FF4500; zeminler beyaz
   ya da beyaza çok yakın sıcak gri; metin nötr kömür tonları (saf siyah yok).
   Yeşil, amber, altın, mavi, mor, kırmızı yok — durum bilgisi bile turuncu
   yoğunluğu ve nötr griyle anlatılıyor.

   Palet dışı ad da yok: yasak renkleri çağrıştıran eski takma değişkenler
   (--amber, --yesil …) ve sınıflar silindi, kimse kazara geri getirmesin.

   GÖLGE: dış parıltı yok. Gölgeler zemin tonuna (sıcak kahve) boyanmış,
   geniş yarıçaplı ve düşük opaklıkta — kenarı belli eden değil, kâğıdı
   masadan ayıran türden.

   YAZI: Outfit. Başlık ve gövde aynı aileden, ayrım ağırlık ve harf
   aralığıyla kuruluyor. Türkçe için latin-ext alt kümesi Google tarafında
   otomatik geliyor.

   HAREKET: hareket.js GSAP + ScrollTrigger yükleyebilirse <html> üzerine
   data-hareket="acik" yazar; başlangıç durumları yalnızca o kapının
   arkasında. GSAP gelmezse hiçbir şey gizlenmez. */

:root {
  /* ---------------------------------------------------------- turuncu ---- */
  --turuncu:         #FF4500;  /* marka */
  --turuncu-acik:    #FF8533;
  --turuncu-koyu:    #C84314;  /* beyaz üstünde 4.5:1 — metin için güvenli */
  --turuncu-derin:   #952800;
  --turuncu-kok:     #5E2109;
  --turuncu-cizgi:   #FFCBA0;
  --turuncu-yumusak: #FFF0E5;
  --turuncu-sis:     #FFF8F4;

  /* ------------------------------------------------------------ nötr ---- */
  --beyaz:      #FFFFFF;
  --kum:        #FDF8F5;   /* beyaza yakın sıcak gri */
  --kum-koyu:   #F8F0EA;
  --cizgi:      #EFE3DB;
  --cizgi-koyu: #E0CFC3;
  /* Alt bilginin zemini: Stitch'in en koyu sıcak yüzeyinin yumuşatılmışı. */
  --zemin-alt:  #FBE9DF;

  /* Metin: kömür ve ısıtılmış gri. Saf siyah kullanılmıyor. */
  --metin:         #1C1618;  /* beyaz üstünde ~16:1 */
  --metin-yumusak: #4A4145;  /* ~8.5:1 */
  --metin-soluk:   #6E6167;  /* ~5.3:1 */
  --metin-silik:   #7C6E75;  /* ~4.5:1 — en açık kullanılabilir nötr */

  /* Bağlantı rengi ayrı bir belirteç: metin içi bağlantılar tek yerden
     ayarlansın diye. */
  --baglanti: var(--turuncu-koyu);

  /* -------------------------------------------------------- yarıçap ---- */
  --r-sm:  8px;
  --r-md:  12px;
  --r-lg:  16px;
  --r-xl:  22px;
  --r-hap: 999px;

  /* --------------------------------------------------------- gölge ---- */
  /* Zemin tonuna boyalı sıcak kahve; geniş, yumuşak, parıltısız. */
  --golge:        0 1px 2px rgba(74, 42, 26, 0.04),
                  0 14px 34px -14px rgba(74, 42, 26, 0.12);
  --golge-yuksek: 0 2px 6px rgba(74, 42, 26, 0.05),
                  0 40px 78px -34px rgba(74, 42, 26, 0.20);
  --golge-kagit:  0 1px 2px rgba(74, 42, 26, 0.035),
                  0 20px 44px -22px rgba(74, 42, 26, 0.11);

  /* --------------------------------------------------------- ölçek ---- */
  --genislik: 1180px;
  --dar:      760px;
  --okuma:    65ch;         /* gövde metni ölçüsü */

  --bosluk-bolum: 88px;
  --gecis-yumusak: 700ms cubic-bezier(0.16, 0.84, 0.24, 1);

  /* ---------------------------------------------------------- yazı ---- */
  --yazi: "Outfit", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif;
  --yazi-baslik: var(--yazi);
}


/* =============================================================== taban ==== */

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  /* Yatay kaydırma hiçbir ölçekte olmayacak. `clip`, `hidden`in aksine
     kaydırma kabı YARATMIYOR — .ust'teki position:sticky ve .adim
     yığını bu yüzden bozulmuyor. Desteklemeyen tarayıcıda kural düşer,
     düzen zaten taşmıyor. */
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: var(--yazi);
  font-size: 16.5px;
  font-weight: 400;
  line-height: 1.62;
  color: var(--metin);
  background-color: var(--beyaz);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg { max-width: 100%; display: block; }
img { height: auto; }

a { color: var(--baglanti); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--yazi-baslik);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
p { margin: 0; }

/* Yapışkan üst çubuk çapa hedeflerini örtmesin. :where() özgüllüğü sıfırlar,
   sayfa içi kurallar bunu her koşulda yener. */
:where([id]) { scroll-margin-top: 96px; }

:focus-visible {
  outline: 2px solid var(--turuncu-koyu);
  outline-offset: 3px;
  border-radius: 4px;
}

::selection { background: var(--turuncu); color: var(--beyaz); }

.atla {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--turuncu-koyu);
  color: var(--beyaz);
  padding: 12px 18px;
  border-radius: 0 0 var(--r-md) 0;
  font-weight: 700;
  z-index: 100;
}
.atla:focus { left: 0; }


/* ============================================================ yerleşim ==== */

.kabuk,
.kap {
  width: 100%;
  max-width: var(--genislik);
  margin: 0 auto;
  padding: 0 22px;
}

.kabuk-dar,
.kap-dar { max-width: var(--dar); }

/* Eleman seçicisi yalnızca taban değer; :where() ile özgüllüğü sıfır olduğu
   için .bolum / .bolum-sik / .sayfa-basi her koşulda yener. Çift seçici
   çakışması yok. */
:where(main section) { padding: var(--bosluk-bolum) 0; }

.bolum     { padding: var(--bosluk-bolum) 0; }
.bolum-sik { padding: calc(var(--bosluk-bolum) * 0.46) 0; }

.zemin-gri,
.bolum-kat {
  background: var(--kum);
  border-top: 1px solid var(--cizgi);
  border-bottom: 1px solid var(--cizgi);
}

.bolum-basi {
  max-width: 44ch;
  margin-bottom: clamp(30px, 4vw, 52px);
}
.bolum-basi.orta { margin-left: auto; margin-right: auto; text-align: center; }


/* ========================================================== tipografi ==== */

/* Ağırlık farkı taşıyıcı: başlık 700/800, gövde 400, üst etiket 600.
   Harf aralığı başlıkta sıkılaştırılıyor, küçük etiketlerde açılıyor. */

.baslik {
  font-family: var(--yazi-baslik);
  font-weight: 700;
  letter-spacing: -0.032em;
  line-height: 1.06;
}
.baslik-xl { font-size: clamp(40px, 7.4vw, 78px); font-weight: 800; }
.baslik-l  { font-size: clamp(28px, 4.2vw, 44px); }
.baslik-m  { font-size: clamp(21px, 2.4vw, 27px); }

h2 {
  font-size: clamp(27px, 4vw, 42px);
  font-weight: 700;
  letter-spacing: -0.032em;
  max-width: 24ch;
}
.ortala h2,
.bolum-basi.orta h2 { margin-left: auto; margin-right: auto; }

h3 {
  font-size: 19.5px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

/* Gövde ölçüsü: 65ch. Dar kaplarda yüzde kazansın diye min() ile. */
.metin,
.alt-metin,
.kahraman-alt,
.kart p,
.adim p,
.bolum-basi p {
  max-width: min(var(--okuma), 100%);
}

.metin   { color: var(--metin-yumusak); font-size: 16.5px; }
.metin-s { color: var(--metin-soluk); font-size: 14.5px; }

.alt-metin {
  margin-top: 16px;
  color: var(--metin-yumusak);
  font-size: 17px;
  line-height: 1.62;
}
.bolum-basi.orta .alt-metin,
.ortala .alt-metin { margin-left: auto; margin-right: auto; }

.etiket {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--turuncu-derin);
  background: var(--turuncu-yumusak);
  border: 1px solid var(--turuncu-cizgi);
  border-radius: var(--r-hap);
  padding: 6px 14px;
  margin-bottom: 18px;
}

.vurgu { color: var(--turuncu-koyu); }
.gizli { display: none !important; }

figure { margin: 0; }

.ortala { text-align: center; }
.ortala .dugme-sirasi,
.dugme-sirasi.ortala,
.magaza-sirasi.ortala { justify-content: center; }

.ust-bosluk   { margin-top: 26px; }
.ust-bosluk-l { margin-top: clamp(34px, 5vw, 64px); }


/* ======================================================= kâğıt yüzeyler ==== */

/* İçerik panelleri. Belirteçler burada yeniden tanımlanmıyor: :root zaten
   kâğıt paletinde, kopyalamak yalnızca :root değiştiğinde panellerin eski
   değerde kalması riskini doğurur. Renk yine de açıkça yazılıyor, çünkü
   panel koyu zeminli bir bandın (.serit) içine düşebilir. */
.kagit-yuzey,
.kart,
.adim,
.form-kutu,
.hukuk,
.icindekiler,
.ucret,
.dene-kutu,
.onizleme,
.tesekkur {
  color: var(--metin);
}

.kagit-yuzey,
.kart,
.adim,
.form-kutu,
.ucret,
.dene-kutu {
  background: var(--beyaz);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-xl);
  box-shadow: var(--golge-kagit);
}

/* Uzun metin kapları yüzmez: gölge yerine yalnızca çerçeve. */
.hukuk,
.icindekiler {
  background: var(--beyaz);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-xl);
}

/* :not(.dugme) şart: düğmeler kendi zemin/yazı çiftini taşıyor, bu kural
   onları da boyayınca turuncu düğmenin yazısı turuncu kalıp kayboluyordu. */
.kagit-yuzey a:not(.dugme),
.kart a:not(.dugme),
.hukuk a:not(.dugme),
.form-kutu a:not(.dugme),
.icindekiler a:not(.dugme) { color: var(--baglanti); }


/* ============================================================== düğme ==== */

.dugme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: var(--yazi);
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -0.005em;
  padding: 14px 26px;
  border-radius: var(--r-hap);
  border: 1px solid transparent;
  cursor: pointer;
  text-align: center;
  will-change: transform;
  transition: transform var(--gecis-yumusak),
              background-color 220ms ease,
              border-color 220ms ease,
              color 220ms ease,
              box-shadow var(--gecis-yumusak);
}
.dugme:hover { text-decoration: none; transform: translateY(-2px); }
.dugme:active { transform: translateY(0); }

/* Dolgu tam marka rengi #FF4500 — sahibin kararı (2026-08, uygulamalarla
   aynı): beyaz etiket 3.44:1'de kaldığı bilinerek kabul edildi. Üstüne
   gelme/basılı hal koyu basamağa iner, kontrast etkileşimde geri gelir. */
.dugme-birincil {
  background-color: var(--turuncu);
  color: var(--beyaz);
  box-shadow: 0 10px 24px -14px rgba(74, 42, 26, 0.55);
}
.dugme-birincil:hover {
  background-color: var(--turuncu-koyu);
  box-shadow: 0 16px 32px -16px rgba(74, 42, 26, 0.5);
}
.dugme-birincil:active { background-color: var(--turuncu-derin); }

.dugme-ikincil {
  background-color: var(--beyaz);
  color: var(--metin);
  border-color: var(--cizgi-koyu);
}
.dugme-ikincil:hover {
  background-color: var(--turuncu-yumusak);
  border-color: var(--turuncu-cizgi);
  color: var(--turuncu-derin);
}

.dugme-kucuk { padding: 10px 19px; font-size: 14.5px; }
.dugme-genis { width: 100%; }
.dugme[disabled] {
  opacity: 0.48;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.dugme-sirasi {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}


/* ========================================================= üst çubuk ==== */

.ust {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--beyaz);
  background: color-mix(in srgb, var(--beyaz) 84%, transparent);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--cizgi);
}

.ust-ic {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 74px;
}

.marka {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--yazi-baslik);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.05em;
  color: var(--turuncu-koyu);
  margin-right: auto;
}
.marka:hover { text-decoration: none; color: var(--turuncu-derin); }

.marka-im {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: var(--turuncu);
  display: grid;
  place-items: center;
  color: var(--beyaz);
  line-height: 1;
  flex: none;
}
/* Marka imi artık harf değil kapak sembolü: isim değişince işaret kalıyor. */
.marka-im svg {
  width: 20px;
  height: 20px;
  display: block;
}

.menu { display: none; align-items: center; gap: 2px; }

.menu a {
  color: var(--metin-yumusak);
  font-size: 14.5px;
  font-weight: 500;
  padding: 9px 14px;
  border-radius: var(--r-hap);
  transition: background-color 220ms ease, color 220ms ease;
}
.menu a:hover {
  color: var(--turuncu-derin);
  background: var(--turuncu-yumusak);
  text-decoration: none;
}
/* Etkin bağlantı Stitch dilinde: hap dolgusu değil, 2px marka şeridi. */
.menu a[aria-current="page"] {
  color: var(--turuncu-koyu);
  background: none;
  border-radius: 0;
  box-shadow: inset 0 -2px 0 0 var(--turuncu);
}

.ust .dugme { margin-left: 6px; }
.ust-dugme { display: none; }

.menu-ac {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--cizgi-koyu);
  border-radius: var(--r-md);
  background: var(--beyaz);
  cursor: pointer;
  color: var(--metin);
  padding: 0;
}
.menu-ac svg { width: 20px; height: 20px; }

.menu-katman {
  display: none;
  border-top: 1px solid var(--cizgi);
  background: var(--kum);
  padding: 8px 0 20px;
}
.menu-katman.acik { display: block; }
.menu-katman a {
  display: block;
  padding: 14px 4px;
  font-weight: 500;
  color: var(--metin);
  border-bottom: 1px solid var(--cizgi);
}
.menu-katman a:last-of-type { border-bottom: 0; }
.menu-katman .dugme { margin-top: 18px; }


/* ============================================================ kahraman ==== */

/* Asimetrik bölünmüş düzen: metin geniş sütunda, fotoğraf dar sütunda ve
   biraz aşağıda. Ortalanmış kahraman yok. */
.kahraman {
  padding: clamp(46px, 7vw, 96px) 0 clamp(56px, 8vw, 104px);
  position: relative;
}

.kahraman h1 {
  font-size: clamp(40px, 7.6vw, 78px);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.97;
  /* İki–üç satırda kalsın: ölçü satır sayısını, <br> kırılma yerini tutuyor. */
  max-width: 19ch;
  text-wrap: balance;
}
.kahraman h1 em { font-style: normal; color: var(--turuncu); }

.kahraman-alt {
  margin-top: 24px;
  font-size: clamp(17px, 1.6vw, 19.5px);
  color: var(--metin-yumusak);
  line-height: 1.58;
}

.kahraman-not { margin-top: 20px; font-size: 13.5px; color: var(--metin-soluk); }

.kahraman-duzen {
  display: grid;
  gap: clamp(38px, 5vw, 76px);
  align-items: start;
}

/* Kapanış saatini sayfanın en üstünde bir kez sayıyla söylüyoruz. */
.saat-satiri {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--cizgi);
}
.saat-oge { display: flex; align-items: baseline; gap: 8px; }
.saat-oge b {
  font-family: var(--yazi-baslik);
  font-size: 23px;
  font-weight: 800;
  color: var(--turuncu-koyu);
  letter-spacing: -0.03em;
}
.saat-oge span { font-size: 13.5px; color: var(--metin-soluk); }
.saat-ayrac { color: var(--cizgi-koyu); }

.kahraman-gorsel {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--cizgi);
  box-shadow: var(--golge-yuksek);
  background: var(--kum);
}
.kahraman-gorsel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.03) contrast(1.02);
}
/* Alt kenardaki yazı fotoğrafın üstünde okunsun diye tek yönlü, sıcak
   kahve bir perde. Renk değil, okunaklılık aracı. */
.kahraman-gorsel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    rgba(46, 22, 12, 0.62) 0%,
    rgba(46, 22, 12, 0) 46%);
  pointer-events: none;
}
.gorsel-not {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 15px;
  z-index: 1;
  font-size: 12.5px;
  font-weight: 500;
  color: #FFF3EC;
  text-shadow: 0 1px 6px rgba(46, 22, 12, 0.65);
}

/* İşletme sayfası kahramanı Stitch'te eşit iki sütun, fotoğraf büyük ve
   dikeyde ortalı — aşağı kaydırma yok. */
.kahraman-es .kahraman-duzen { align-items: center; }
@media (min-width: 880px) {
  .kahraman-es .kahraman-duzen { grid-template-columns: 1.04fr 0.96fr; }
  .kahraman-es .kahraman-gorsel { margin-top: 0; aspect-ratio: 4 / 3.4; }
}

/* Kahraman dışındaki fotoğraflar için ortak çerçeve. */
.gorsel-cerceve {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--cizgi);
  box-shadow: var(--golge);
  background: var(--kum);
}
.gorsel-cerceve img {
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(1.02);
}

.izgara-orta { align-items: center; }


/* ====================================== kahraman: ortalanmış Stitch düzeni ==== */

/* Ana sayfa kahramanı Stitch ekranındaki gibi ortalanmış: rozet, iki satır
   başlık (ikinci satır marka renginde ve altı dalgalı), kısa metin, tek
   birincil çağrı. Fotoğraf yok; kenarlarda iki yüzen kart var. */
.kahraman-orta {
  position: relative;
  text-align: center;
  padding: clamp(56px, 9vw, 132px) 0 clamp(60px, 9vw, 124px);
  overflow: clip;
}
.kahraman-orta .kap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.kahraman-orta h1 {
  max-width: 17ch;
  margin: 0 auto;
  font-size: clamp(40px, 7.2vw, 76px);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1.02;
}
.kahraman-orta .kahraman-alt {
  margin: 0 auto;
  max-width: 44ch;
  font-size: clamp(17px, 1.6vw, 19.5px);
}
.kahraman-orta .dugme-sirasi { margin-top: 6px; justify-content: center; }
.kahraman-orta .saat-satiri {
  justify-content: center;
  border-top: 0;
  padding-top: 0;
  margin-top: clamp(18px, 3vw, 30px);
}
.kahraman-orta .etiket { margin-bottom: 0; }

/* Fon lekeleri: filtre yok, iki yumuşak radyal geçiş. */
.kahraman-fon {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.kahraman-fon::before,
.kahraman-fon::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.kahraman-fon::before {
  width: min(640px, 72vw);
  height: min(640px, 72vw);
  top: -180px;
  right: -140px;
  background: radial-gradient(closest-side, rgba(255, 133, 51, 0.20), transparent 72%);
}
.kahraman-fon::after {
  width: min(560px, 64vw);
  height: min(560px, 64vw);
  bottom: -200px;
  left: -140px;
  background: radial-gradient(closest-side, rgba(255, 69, 0, 0.12), transparent 72%);
}

/* Başlıktaki dalgalı alt çizgi: SVG başlığın içinde, renk soluk şeftali. */
.dalga { position: relative; display: inline-block; font-style: normal; color: var(--turuncu); }
.dalga svg {
  position: absolute;
  left: 0;
  bottom: -0.06em;
  width: 100%;
  height: 0.16em;
  color: var(--turuncu-cizgi);
  z-index: -1;
}

/* Kenarlardaki yüzen mini kartlar; yalnızca geniş ekranda ve süs. */
.kahraman-yuzen { position: absolute; inset: 0; pointer-events: none; display: none; }
.yuzen-kart {
  position: absolute;
  display: grid;
  place-items: center;
  background: var(--beyaz);
  border: 1px solid var(--cizgi);
  box-shadow: var(--golge-kagit);
}
.yuzen-kart svg { width: 38px; height: 38px; color: var(--turuncu); }
.yuzen-1 {
  top: 24%;
  left: 7%;
  width: 96px;
  height: 96px;
  border-radius: var(--r-lg);
  transform: rotate(12deg);
}
.yuzen-2 {
  bottom: 20%;
  right: 8%;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  transform: rotate(-12deg);
}
.yuzen-2 svg { width: 32px; height: 32px; color: var(--turuncu-koyu); }
@media (min-width: 1024px) { .kahraman-yuzen { display: block; } }


/* ============================================= bento: form + SSS yan yana ==== */

/* İşletme sayfasının başvuru bölümü Stitch'teki bento düzeninde: solda form,
   sağda sık sorulanlar paneli. Dar ekranda alt alta. */
.bento { display: grid; gap: 24px; align-items: start; }
.sss-kutu { padding: 26px 24px; }
.sss-kutu > h2 { font-size: clamp(21px, 2.4vw, 26px); margin-bottom: 18px; }
@media (min-width: 1024px) {
  .bento { grid-template-columns: 1.35fr 1fr; }
  .sss-kutu { position: sticky; top: 98px; }
}


/* ============================================ imza: canlı alım penceresi ==== */

/* Sunucudan gerçek kayıt gelene kadar bölüm gizli durur; canli.js açar. */
.canli[hidden] { display: none; }

.canli-basi {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px 24px;
  margin-bottom: 30px;
}

.canli-nabiz {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--turuncu-koyu);
}
/* Dolu turuncu nokta, çevresinde zemin tonunda düz bir halka.
   Parıltı ve nabız yok — halka sabit. */
.canli-nabiz::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--turuncu);
  box-shadow: 0 0 0 4px var(--turuncu-yumusak);
}

.canli-basi h2 { margin-top: 12px; }
.canli-sayac { font-size: 13.5px; color: var(--metin-soluk); }
.canli-sayac b { color: var(--metin); font-weight: 700; }

/* Dar ekranda yatay kaydırma, geniş ekranda ızgara. */
.canli-raf {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(262px, 78%);
  gap: 14px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0 22px 6px;
  margin: 0 -22px;
  scrollbar-width: thin;
  scrollbar-color: var(--cizgi-koyu) transparent;
}
.canli-raf::-webkit-scrollbar { height: 8px; }
.canli-raf::-webkit-scrollbar-thumb {
  background: var(--cizgi-koyu);
  border-radius: var(--r-hap);
}

.canli-raf > li { display: flex; scroll-snap-align: start; }

/* Stitch kart dili: üstte medya bloğu, altta gövde. Pakette fotoğraf verisi
   olmadığı için medya bloğu dürüst bir monogram taşıyor — sahte fotoğraf yok. */
.canli-kart {
  flex: 1 1 auto;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--beyaz);
  border: 1px solid var(--cizgi);
  border-radius: var(--r-lg);
  will-change: transform;
  transition: transform var(--gecis-yumusak),
              border-color 300ms ease,
              box-shadow var(--gecis-yumusak);
}
.canli-kart,
.canli-kart:hover { color: var(--metin); text-decoration: none; }
.canli-kart:hover {
  transform: translateY(-4px);
  border-color: var(--turuncu-cizgi);
  box-shadow: var(--golge);
}
/* Penceresi şu an açık olanı öne çıkar: düz turuncu üst şerit. */
.canli-kart.acik {
  border-color: var(--turuncu-cizgi);
  box-shadow: inset 0 3px 0 0 var(--turuncu);
}
.canli-kart.bitti { opacity: 0.52; }

.canli-medya {
  position: relative;
  height: 132px;
  flex: none;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--turuncu-yumusak) 0%, var(--turuncu-sis) 100%);
  border-bottom: 1px solid var(--cizgi);
}
.canli-monogram {
  font-family: var(--yazi-baslik);
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
  color: var(--turuncu);
}
.canli-kart:hover .canli-monogram { color: var(--turuncu-koyu); }
.canli-rozet {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 5px 11px;
  border-radius: var(--r-sm);
  background: var(--turuncu);
  color: var(--beyaz);
}
.canli-rozet.yok { background: var(--metin-soluk); }

.canli-govde {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 18px 18px;
}
.canli-ust { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.canli-ad {
  font-family: var(--yazi-baslik);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}
.canli-semt { font-size: 13px; color: var(--metin-soluk); white-space: nowrap; }
.canli-paket {
  font-size: 14.5px;
  color: var(--metin-yumusak);
  line-height: 1.45;
}

.canli-orta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.canli-pencere {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  align-self: flex-start;
  font-size: 12.5px;
  font-weight: 600;
  padding: 6px 13px;
  border-radius: var(--r-hap);
  border: 1px solid transparent;
  white-space: nowrap;
}
/* Üç durum, tek renk ailesi: dolu → soluk → nötr. */
.canli-pencere.simdi {
  color: var(--beyaz);
  background: var(--turuncu-koyu);
}
.canli-pencere.bugun {
  color: var(--turuncu-derin);
  background: var(--turuncu-yumusak);
  border-color: var(--turuncu-cizgi);
}
.canli-pencere.yarin {
  color: var(--metin-soluk);
  background: var(--kum);
  border-color: var(--cizgi);
}

.canli-alt {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--cizgi);
}
/* Stitch fiyat bloğu: üstte çizili normal değer, altında büyük marka renkli
   fiyat. Fiyat metni koyu basamakta — okunurluk kuralı uygulamayla aynı. */
.canli-fiyat {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.canli-fiyat b {
  font-family: var(--yazi-baslik);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
  color: var(--turuncu-koyu);
}
.canli-eski {
  font-size: 13px;
  color: var(--metin-silik);
  text-decoration: line-through;
}
.canli-indirim {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--turuncu-koyu);
  letter-spacing: 0.02em;
}
.canli-adet { font-size: 12.5px; color: var(--metin-soluk); text-align: right; white-space: nowrap; }
.canli-adet.az  { color: var(--turuncu-koyu); font-weight: 700; }
.canli-adet.yok { color: var(--metin-silik); font-weight: 700; }

/* Kartın sağ alt köşesindeki gidiş imi: dolu marka dairesi, içinde ok.
   Kartın tamamı bağlantı; bu yalnızca görsel bir işaret. */
.canli-git {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--turuncu);
  color: var(--beyaz);
  box-shadow: var(--golge-kagit);
  transition: background-color 220ms ease;
}
.canli-git svg { width: 18px; height: 18px; }
.canli-kart:hover .canli-git { background: var(--turuncu-koyu); }

.canli-dip {
  margin-top: 22px;
  font-size: 13px;
  color: var(--metin-silik);
  max-width: min(var(--okuma), 100%);
}


/* ================================================= yükleniyor / boş / hata ==== */

/* Üç durumun da karşılığı var. Yükleniyor iskelet, dönen çark değil. */

.iskelet {
  position: relative;
  overflow: hidden;
  background: var(--kum-koyu);
  border-radius: var(--r-sm);
  color: transparent;
  user-select: none;
}
.iskelet::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.85) 50%,
    rgba(255, 255, 255, 0) 100%);
  animation: iskelet-gec 1.5s ease-in-out infinite;
}
@keyframes iskelet-gec { to { transform: translateX(100%); } }

.iskelet-satir { height: 13px; margin-bottom: 10px; }
.iskelet-satir:last-child { margin-bottom: 0; width: 62%; }
.iskelet-baslik { height: 19px; width: 70%; margin-bottom: 14px; }
.iskelet-daire { width: 42px; height: 42px; border-radius: 50%; flex: none; }
.iskelet-kutu { height: 168px; border-radius: var(--r-lg); }

.durum-bos,
.durum-hata {
  display: grid;
  gap: 8px;
  justify-items: start;
  padding: 30px 26px;
  border-radius: var(--r-lg);
  border: 1px dashed var(--cizgi-koyu);
  background: var(--kum);
  max-width: min(var(--okuma), 100%);
}
.durum-bos b,
.durum-hata b {
  font-family: var(--yazi-baslik);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--metin);
}
.durum-bos p,
.durum-hata p { font-size: 14.5px; color: var(--metin-soluk); }
.durum-hata {
  border-style: solid;
  border-color: var(--turuncu-cizgi);
  background: var(--turuncu-yumusak);
}
.durum-hata b { color: var(--turuncu-derin); }
.durum-hata p { color: var(--metin-yumusak); }
.durum-bos .dugme,
.durum-hata .dugme { margin-top: 8px; }


/* ======================================================= kart ve ızgara ==== */

/* dense: bir hücre boş kalmasın. */
.izgara {
  display: grid;
  gap: 18px;
  grid-auto-flow: dense;
}
.izgara-2, .izgara-3, .izgara-4 { grid-template-columns: 1fr; }

.kart {
  padding: 26px 24px;
  will-change: transform;
  transition: transform var(--gecis-yumusak),
              box-shadow var(--gecis-yumusak),
              border-color 300ms ease;
}
/* Kart tıklanabilir değil: yükselmiyor, yalnızca çerçevesi ısınıyor. */
.kart:hover {
  border-color: var(--turuncu-cizgi);
}
.kart h3 { margin-bottom: 9px; }
.kart p { color: var(--metin-yumusak); font-size: 15.5px; }
.kart .liste { margin-top: 15px; }

.kart-im {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--turuncu-yumusak);
  color: var(--turuncu-koyu);
  border: 1px solid var(--turuncu-cizgi);
  margin-bottom: 16px;
}
.kart-im svg { width: 22px; height: 22px; }

.kart-ust {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.kart-ust .kart-im { margin-bottom: 0; }

/* Emoji yerine çizgi ikon; ikon kutusu markanın turuncusunu taşır. */
.kart-im > svg { width: 22px; height: 22px; }
.kart-im-yazi {
  font-family: var(--yazi-baslik);
  font-weight: 700;
  font-size: 21px;
  line-height: 1;
}


/* ============================================================== adımlar ==== */

/* Stitch "Bahtal Marketing Website Redesign" düzeni: adımlar geniş ekranda
   yan yana üç ortalanmış kart, aralarında kısa bağlayıcı çizgi. Yapışkan
   yığın kaldırıldı; tasarım otoritesi Stitch ekranı. */
.adimlar {
  counter-reset: adim;
  display: grid;
  gap: clamp(16px, 2.4vw, 26px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.adim {
  counter-increment: adim;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 30px 26px 28px;
}
/* Numara çipi: yumuşak zeminde marka rengi, Stitch ikon dairesi dilinde. */
.adim::before {
  content: counter(adim);
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--turuncu-yumusak);
  border: 1px solid var(--turuncu-cizgi);
  color: var(--turuncu-koyu);
  font-family: var(--yazi-baslik);
  font-size: 21px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 16px;
}
.adim h3 { margin-bottom: 8px; }
.adim p { color: var(--metin-yumusak); font-size: 15.5px; }
.adim .sure { margin-top: auto; padding-top: 14px; margin-bottom: 0; }

/* Çizimli adımda numara çipi yerine çizim durur; sıra numarası başlığa
   geçer. :has desteklemeyen eski tarayıcıda çip de görünür — bozulmaz. */
.adim:has(.adim-cizim)::before { display: none; }
.adim:has(.adim-cizim) h3::before {
  content: counter(adim) ". ";
  color: var(--turuncu-koyu);
}

@media (min-width: 880px) {
  .adimlar { grid-template-columns: repeat(3, 1fr); gap: 48px; }
  /* Kartlar arasındaki bağlayıcı çizgi; yalnızca satır içinde. */
  .adim:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -48px;
    width: 48px;
    height: 2px;
    background: var(--cizgi-koyu);
  }
}


/* =============================================================== liste ==== */

/* Tik işareti bilerek kullanılmıyor: bu maddeler satılan bir fayda değil,
   uyulması gereken kural. Onay işareti hepsini vaade çeviriyordu.
   Hukuk sayfalarındaki turuncu madde imi deseniyle aynı. */
.liste { margin: 18px 0 0; padding-left: 22px; display: grid; gap: 12px; }
.liste li {
  font-size: 15.5px;
  color: var(--metin-yumusak);
  line-height: 1.55;
}
.liste li::marker { color: var(--turuncu); }
.liste li b { color: var(--metin); font-weight: 700; }


/* =============================================================== ücret ==== */

.ucret { padding: 8px 24px; }

.ucret-satir {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 19px 0;
  border-bottom: 1px solid var(--cizgi);
}
.ucret-satir:last-child { border-bottom: 0; }
.ucret-satir .ad { font-size: 16px; font-weight: 600; }
.ucret-satir .aciklama {
  font-size: 13.5px;
  color: var(--metin-soluk);
  margin-top: 3px;
}
.ucret-satir .deger {
  margin-left: auto;
  font-family: var(--yazi-baslik);
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
/* "Yok" da bir satış argümanı: nötrde bırakmak yerine turuncu. */
.ucret-satir.yok .deger { color: var(--turuncu-koyu); }


/* ==================================================== mağaza düğmeleri ==== */

.magaza-sirasi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}

.magaza {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 11px 21px 11px 18px;
  border-radius: var(--r-md);
  border: 1px solid var(--cizgi-koyu);
  background: var(--beyaz);
  color: var(--metin);
  will-change: transform;
  transition: transform var(--gecis-yumusak),
              border-color 300ms ease,
              background-color 300ms ease;
}
.magaza:hover {
  text-decoration: none;
  transform: translateY(-2px);
  border-color: var(--turuncu-cizgi);
  background-color: var(--turuncu-sis);
}
.magaza svg { width: 24px; height: 24px; flex: none; color: var(--turuncu-koyu); }
.magaza .yazi { display: flex; flex-direction: column; line-height: 1.2; text-align: left; }
.magaza .kucuk {
  font-size: 10.5px;
  color: var(--metin-soluk);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.magaza .buyuk { font-size: 15px; font-weight: 700; letter-spacing: -0.02em; }
.magaza[aria-disabled="true"] { opacity: 0.66; cursor: default; }
.magaza[aria-disabled="true"]:hover {
  transform: none;
  border-color: var(--cizgi-koyu);
  background-color: var(--beyaz);
}

.yakinda {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--turuncu-derin);
  background: var(--turuncu-yumusak);
  border: 1px solid var(--turuncu-cizgi);
  border-radius: var(--r-hap);
  padding: 4px 12px;
}

.dene-kutu { padding: 26px 24px; }
.dene-kutu p { color: var(--metin-yumusak); font-size: 14.5px; margin-top: 6px; }
.dene-kutu .dugme { margin-top: 18px; }


/* ========================================================== CTA şeridi ==== */

/* Düz derin turuncu alan. Radyal parıltı kaldırıldı. */
.serit {
  padding: clamp(38px, 5vw, 62px) clamp(26px, 4vw, 48px);
  border-radius: var(--r-xl);
  text-align: center;
  background: linear-gradient(152deg, var(--turuncu-koyu) 0%, var(--turuncu-derin) 100%);
  border: 1px solid var(--turuncu-derin);
  box-shadow: var(--golge-yuksek);
  color: var(--beyaz);
}
.serit h2 { color: var(--beyaz); margin-left: auto; margin-right: auto; }
.serit p {
  color: rgba(255, 243, 236, 0.92);
  margin: 16px auto 0;
  max-width: min(var(--okuma), 100%);
}
.serit .dugme-sirasi { justify-content: center; }
.serit .dugme-birincil {
  background-color: var(--beyaz);
  color: var(--turuncu-derin);
  box-shadow: 0 12px 26px -16px rgba(46, 22, 12, 0.7);
}
.serit .dugme-birincil:hover { background-color: var(--turuncu-yumusak); }
.serit .dugme-ikincil {
  background-color: transparent;
  color: var(--beyaz);
  border-color: rgba(255, 255, 255, 0.5);
}
.serit .dugme-ikincil:hover {
  background-color: rgba(255, 255, 255, 0.14);
  border-color: var(--beyaz);
  color: var(--beyaz);
}


/* ====================================================== önizleme kartı ==== */

.onizleme { padding: 14px; max-width: 380px; }
.onizleme-gorsel {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: var(--kum);
}
.onizleme-gorsel img { width: 100%; height: 100%; object-fit: cover; }

.rozet {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 5px 12px;
  border-radius: var(--r-hap);
  background: rgba(255, 255, 255, 0.95);
  color: var(--turuncu-derin);
}

.onizleme-govde { padding: 15px 6px 4px; }
.onizleme-govde .ad {
  font-family: var(--yazi-baslik);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.025em;
}
.onizleme-govde .alt {
  font-size: 13.5px;
  color: var(--metin-soluk);
  margin-top: 3px;
  background: none;
  border: 0;
  padding: 0;
}

.onizleme-satir {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--cizgi);
}
.pencere {
  font-size: 13px;
  font-weight: 600;
  color: var(--turuncu-derin);
  background: var(--turuncu-yumusak);
  border: 1px solid var(--turuncu-cizgi);
  border-radius: var(--r-hap);
  padding: 6px 12px;
  white-space: nowrap;
}
.fiyat {
  font-family: var(--yazi-baslik);
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.035em;
}
.fiyat-eski {
  font-size: 13.5px;
  color: var(--metin-silik);
  text-decoration: line-through;
  margin-left: 8px;
}


/* ================================================================ form ==== */

.form-kutu { padding: 28px 24px; }

.alanlar { display: grid; gap: 17px; grid-template-columns: 1fr; }
.alan { display: flex; flex-direction: column; gap: 6px; }
.alan.tam { grid-column: 1 / -1; }
.alan label { font-size: 13.5px; font-weight: 600; color: var(--metin); }
.alan .ipucu { font-size: 12.5px; color: var(--metin-soluk); font-weight: 400; }

.alan input,
.alan select,
.alan textarea {
  font-family: var(--yazi);
  font-size: 15.5px;
  font-weight: 400;
  color: var(--metin);
  background: var(--beyaz);
  border: 1px solid var(--cizgi-koyu);
  border-radius: var(--r-md);
  padding: 12px 14px;
  width: 100%;
  transition: border-color 220ms ease, box-shadow 220ms ease;
}
.alan textarea { resize: vertical; min-height: 96px; line-height: 1.55; }
.alan input::placeholder, .alan textarea::placeholder { color: var(--metin-silik); }

/* Odak halkası görünür kalsın — parıltı değil, düz turuncu bir halka. */
.alan input:focus,
.alan select:focus,
.alan textarea:focus {
  outline: none;
  border-color: var(--turuncu);
  box-shadow: 0 0 0 3px var(--turuncu-yumusak);
}

.alan select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%236E6167%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 6l4 4 4-4%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 16px;
  padding-right: 38px;
}

.zorunlu { color: var(--turuncu-koyu); }

.form-ayrac {
  margin: 26px 0 22px;
  border: 0;
  border-top: 1px solid var(--cizgi);
}

.form-alt {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 24px;
}
.form-alt .kvkk { font-size: 13px; color: var(--metin-soluk); }

.uyari {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: var(--r-md);
  font-size: 14.5px;
}
/* Hata da turuncu ailesinde: kırmızı yok, ayrım kenarlık ve koyu metinle. */
.uyari-hata {
  background: var(--turuncu-yumusak);
  color: var(--turuncu-derin);
  border: 1px solid var(--turuncu-cizgi);
}

.tesekkur {
  text-align: center;
  padding: 36px 26px;
  background: var(--turuncu-yumusak);
  border: 1px solid var(--turuncu-cizgi);
  border-radius: var(--r-xl);
}
.tesekkur .im {
  width: 56px;
  height: 56px;
  margin: 0 auto 18px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--turuncu-koyu);
  color: var(--beyaz);
}
.tesekkur .im svg { width: 28px; height: 28px; }
.tesekkur h3 { color: var(--turuncu-derin); font-size: 22px; }
.tesekkur p {
  color: var(--metin-yumusak);
  margin: 12px auto 0;
  max-width: min(var(--okuma), 100%);
}

.taslak-uyari {
  display: flex;
  gap: 14px;
  padding: 16px 18px;
  background: var(--turuncu-yumusak);
  border: 1px solid var(--turuncu-cizgi);
  border-radius: var(--r-lg);
}
.taslak-uyari svg {
  width: 22px;
  height: 22px;
  flex: none;
  color: var(--turuncu-koyu);
  margin-top: 2px;
}
.taslak-uyari b { display: block; color: var(--turuncu-derin); font-size: 15.5px; }
.taslak-uyari p { color: var(--metin-yumusak); font-size: 14px; margin-top: 4px; }


/* ========================================================= hukuk metni ==== */

.sayfa-basi { padding: clamp(44px, 6vw, 72px) 0 8px; }
.sayfa-basi h1 {
  font-size: clamp(31px, 5vw, 48px);
  font-weight: 800;
  letter-spacing: -0.038em;
  max-width: 20ch;
}
.sayfa-basi .alt-metin { max-width: min(var(--okuma), 100%); }
.guncelleme { margin-top: 15px; font-size: 13.5px; color: var(--metin-silik); }

.icindekiler { padding: 22px 24px; margin-bottom: 26px; }
.icindekiler b { display: block; font-size: 14px; font-weight: 700; margin-bottom: 4px; }
.icindekiler ol { margin: 10px 0 0; padding-left: 20px; }
.icindekiler li { margin-bottom: 6px; font-size: 14.5px; color: var(--metin-yumusak); }

.hukuk { padding: 32px 26px 36px; }
/* Bölüm başlıkları Stitch yasal ekranındaki gibi marka renginde. */
.hukuk h2 {
  font-size: 22px;
  max-width: none;
  margin-top: 38px;
  padding-top: 26px;
  border-top: 1px solid var(--cizgi);
  color: var(--turuncu-koyu);
}
.hukuk > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.hukuk h3 { font-size: 17px; margin-top: 24px; }
.hukuk p, .hukuk li { color: var(--metin-yumusak); font-size: 15.5px; }
.hukuk p { margin-top: 13px; }
.hukuk ul, .hukuk ol { margin: 13px 0 0; padding-left: 22px; }
.hukuk li { margin-bottom: 8px; }
.hukuk table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 17px;
  font-size: 14.5px;
  min-width: 460px;
}
.hukuk th, .hukuk td {
  border: 1px solid var(--cizgi);
  padding: 11px 13px;
  text-align: left;
  vertical-align: top;
  color: var(--metin-yumusak);
}
.hukuk th { background: var(--kum); color: var(--metin); font-weight: 700; }
/* Geniş tablo kendi kutusunda kaysın; sayfa gövdesi yatay kaymasın. */
.tablo-kaydir { overflow-x: auto; }

/* Doldurulacak yer işareti */
.yer {
  background: var(--turuncu-yumusak);
  border-bottom: 2px dotted var(--turuncu);
  border-radius: 3px;
  padding: 1px 5px;
  color: var(--turuncu-derin);
  font-weight: 600;
  font-size: 0.94em;
}


/* =========================================================== alt bilgi ==== */

.alt-bilgi,
.alt {
  background: var(--zemin-alt);
  border-top: 1px solid var(--turuncu-cizgi);
  padding: clamp(44px, 5vw, 66px) 0 32px;
  margin-top: 0;
}
.alt .alt-cizgi { border-top-color: var(--turuncu-cizgi); }

.alt-duzen { display: grid; gap: 30px; }
.alt-marka p {
  margin-top: 14px;
  color: var(--metin-soluk);
  font-size: 14.5px;
  max-width: 34ch;
}
.alt-marka .eposta {
  display: inline-block;
  margin-top: 14px;
  font-weight: 600;
  color: var(--turuncu-koyu);
  font-size: 14.5px;
}

.alt-sutun b {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--metin-silik);
  margin-bottom: 14px;
}
.alt-sutun a,
.alt-sutun span {
  display: block;
  font-size: 14.5px;
  color: var(--metin-yumusak);
  margin-bottom: 10px;
}
.alt-sutun a:hover { color: var(--turuncu-koyu); }
.alt-sutun span { color: var(--metin-silik); }

.alt-cizgi {
  margin-top: 38px;
  padding-top: 24px;
  border-top: 1px solid var(--cizgi);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  font-size: 13.5px;
  color: var(--metin-silik);
}
.alt-cizgi a { color: var(--metin-soluk); }


/* ====================================================== hareket altyapısı ==== */

/* hareket.js GSAP + ScrollTrigger'ı yükleyebilirse <html data-hareket="acik">
   yazar; yükleyemezse "kapali" yazar ve buradaki başlangıç durumları hiç
   uygulanmaz. Yani betik gelmezse de içerik tam görünür — kritik kural.
   Yalnızca transform ve opacity; top/left/width/height asla. */

[data-hareket="acik"] .hrk-gorsel {
  transform: scale(0.94);
  transform-origin: center;
  will-change: transform, opacity;
}

[data-hareket="acik"] .hrk-yukari {
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  will-change: transform, opacity;
}

/* Kelime kelime belirme: hiçbir kelime tamamen görünmez olmuyor (0.15),
   betik yarıda kalırsa bile metin okunur kalsın diye. Sarmalayıcı `inline`
   kalıyor — yalnızca opaklık animasyonlandığı için inline-block gerekmiyor,
   böylece satır kırılması ve ekran okuyucu davranışı bozulmuyor. */
[data-hareket="acik"] .hrk-kelime {
  display: inline;
  opacity: 0.15;
  will-change: opacity;
}

/* Yapışkan adım yığını kaldırıldı: adımlar artık Stitch'in üçlü kart
   düzeninde (yukarıda). hareket.js'teki yığın animasyonu da söküldü. */


/* ============================================================= ölçekler ==== */

@media (min-width: 600px) {
  .alanlar { grid-template-columns: 1fr 1fr; }
  .izgara-2 { grid-template-columns: 1fr 1fr; }
  .izgara-4 { grid-template-columns: 1fr 1fr; }
  .form-kutu { padding: 34px 32px; }
  .kart, .dene-kutu { padding: 30px 28px; }
  .adim { padding: 32px 30px 30px; }
  .hukuk { padding: 40px 36px 44px; }
  .form-alt { flex-direction: row; align-items: center; justify-content: space-between; }
  .form-alt .dugme { min-width: 220px; }
  .canli-raf { grid-auto-columns: minmax(280px, 46%); }
}

@media (min-width: 880px) {
  :root { --bosluk-bolum: 136px; }

  .kabuk, .kap { padding: 0 36px; }
  .menu { display: flex; }
  .ust-dugme { display: inline-flex; }
  .menu-ac { display: none; }
  .menu-katman { display: none !important; }

  .izgara { gap: 24px; }

  /* Asimetrik ikili: sütunlar eşit değil, ikincisi biraz aşağıda. */
  .izgara-2 { grid-template-columns: 1.14fr 0.86fr; }
  .izgara-2 > :nth-child(even) { margin-top: clamp(18px, 3.4vw, 46px); }

  /* Üç eşit kart yerine dalgalı, eşit olmayan üçlü. */
  .izgara-3 {
    grid-template-columns: 1.2fr 0.94fr 1.06fr;
    align-items: start;
  }
  .izgara-3 > :nth-child(3n + 2) { margin-top: clamp(20px, 3.6vw, 54px); }
  .izgara-3 > :nth-child(3n + 3) { margin-top: clamp(8px, 1.6vw, 22px); }

  .izgara-4 { grid-template-columns: repeat(4, 1fr); }

  /* Kahraman: metin geniş, fotoğraf dar ve aşağı kaydırılmış. */
  .kahraman-duzen { grid-template-columns: 1.16fr 0.84fr; }
  .kahraman-gorsel { margin-top: clamp(24px, 4vw, 62px); aspect-ratio: 4 / 5; }
  .kahraman-gorsel img { height: 100%; }

  .adim { padding: 40px 42px 38px; }
  .adim::before { width: 44px; height: 44px; font-size: 18px; }

  .onizleme { margin-left: auto; }
  .alt-duzen { grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 44px; }

  /* Geniş ekranda kaydırma yerine ızgara: dört pencere aynı anda görünsün. */
  .canli-raf {
    grid-auto-flow: row;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-columns: auto;
    overflow-x: visible;
    margin: 0;
    padding: 0;
  }
}

@media (min-width: 1160px) {
  .izgara-2 { grid-template-columns: 1.2fr 0.8fr; }
  .kahraman-duzen { grid-template-columns: 1.2fr 0.8fr; }
}


/* ================================================ hareketi azalt: her şey kapalı ==== */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .dugme:hover,
  .kart:hover,
  .canli-kart:hover,
  .magaza:hover { transform: none; }
  .canli-raf { scroll-snap-type: none; }
  .iskelet::after { display: none; }
  /* Başlangıç durumları hiç uygulanmasın — hareket.js zaten bağlanmıyor. */
  [data-hareket="acik"] .hrk-gorsel,
  [data-hareket="acik"] .hrk-yukari,
  [data-hareket="acik"] .hrk-kelime {
    opacity: 1;
    transform: none;
  }
}

/*
 * Adım çizimleri.
 *
 * Fotoğraflar sahneyi anlatıyor, çizimler adımı anlatıyor. Üçlü kart
 * düzeninde çizim numara çipinin altında, ortalanmış durur.
 */
.adim-cizim {
  width: clamp(96px, 14vw, 128px);
  height: auto;
  margin: 2px 0 14px;
}

/*
 * Saat/rakam şeridi dar ekranda ikinci satıra ayraçla başlıyor ve sarkık
 * duruyordu. 560px altında ayraçları gizleyip öğeleri alt alta diziyoruz.
 */
@media (max-width: 560px) {
  .saat-satiri { flex-direction: column; align-items: flex-start; gap: var(--bosluk-m); }
  .saat-ayrac { display: none; }
}
