/* ==========================================================================
   ANALİZ SÜRÜCÜ KURSU — ANA STİL DOSYASI
   Renk paleti kurum logosundan türetilmiştir (#AE0001 / beyaz / #BCBCBC).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TASARIM DEĞİŞKENLERİ
   -------------------------------------------------------------------------- */
:root {
  /* Marka kırmızısı — logodan alınmıştır */
  --marka:      #ae0001;
  --marka-600:  #970001;
  --marka-700:  #7c0001;
  --marka-800:  #5a0000;
  --marka-900:  #380000;
  --marka-400:  #d02b2c;
  --marka-300:  #e6706f;
  --marka-100:  #fbe6e6;
  --marka-50:   #fdf5f5;

  /* Logodaki direksiyon grisi */
  --gri-logo:   #bcbcbc;

  /* Nötrler — hafif sıcak tonlu */
  --murekkep:   #17090b;
  --murekkep-2: #4b3b3d;
  --murekkep-3: #7c6e70;
  /* Not: bu ton beyaz zeminde en az 4.5:1 kontrast verecek şekilde
     koyulaştırılmıştır (WCAG AA — küçük yardımcı metinler için). */
  --murekkep-4: #78696b;
  --cizgi:      #ece4e4;
  --cizgi-koyu: #d9cdcd;
  --yuzey:      #ffffff;
  --yuzey-2:    #faf7f7;
  --yuzey-3:    #f4eeee;

  --yildiz:     #f5b301;
  --yesil:      #157f4b;

  /* Tipografi */
  --font-baslik: "Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-metin:  "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;

  /* Ölçek */
  --kap-en:     1200px;
  --kap-dar:    880px;
  --bosluk:     clamp(1rem, 3vw, 1.75rem);
  --bolum-y:    clamp(4.5rem, 9vw, 7.5rem);

  /* Köşe yarıçapları */
  --r-s:  10px;
  --r-m:  16px;
  --r-l:  22px;
  --r-xl: 32px;
  --r-tam: 999px;

  /* Gölgeler */
  --golge-s:  0 1px 2px rgba(23, 9, 11, .06), 0 2px 6px rgba(23, 9, 11, .04);
  --golge-m:  0 4px 10px rgba(23, 9, 11, .06), 0 14px 30px rgba(23, 9, 11, .07);
  --golge-l:  0 10px 24px rgba(23, 9, 11, .08), 0 30px 60px rgba(23, 9, 11, .10);
  --golge-marka: 0 10px 24px rgba(174, 0, 1, .22), 0 4px 8px rgba(174, 0, 1, .16);

  --gecis: 220ms cubic-bezier(.22, .61, .36, 1);
  --ust-yukseklik: 84px;
}

/* --------------------------------------------------------------------------
   2. TEMEL SIFIRLAMA
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

* { margin: 0; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--ust-yukseklik) + 16px);
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-metin);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--murekkep-2);
  background: var(--yuzey);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

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

a { color: inherit; text-decoration: none; }

button, input, textarea, select { font: inherit; color: inherit; }

ul, ol { list-style: none; padding: 0; }

h1, h2, h3, h4, h5 {
  font-family: var(--font-baslik);
  color: var(--murekkep);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -.02em;
  text-wrap: balance;
  /* Uzun Türkçe kelimeler dar ekranlarda kesilmesin */
  overflow-wrap: break-word;
}

h1 { font-size: clamp(2.2rem, 5.2vw, 3.9rem); }
h2 { font-size: clamp(1.8rem, 3.9vw, 2.85rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }
h4 { font-size: 1.05rem; }

p { text-wrap: pretty; }

::selection { background: var(--marka); color: #fff; }

:focus-visible {
  outline: 3px solid var(--marka-400);
  outline-offset: 3px;
  border-radius: 4px;
}

/* İçeriğe atla bağlantısı (erişilebilirlik) */
.atla {
  position: absolute;
  left: 50%;
  top: -100px;
  transform: translateX(-50%);
  background: var(--marka);
  color: #fff;
  padding: .8rem 1.4rem;
  border-radius: 0 0 var(--r-m) var(--r-m);
  z-index: 999;
  font-weight: 700;
  transition: top var(--gecis);
}
.atla:focus { top: 0; }

/* --------------------------------------------------------------------------
   3. DÜZEN YARDIMCILARI
   -------------------------------------------------------------------------- */
.kap {
  width: 100%;
  max-width: var(--kap-en);
  margin-inline: auto;
  padding-inline: var(--bosluk);
}
.kap--dar { max-width: var(--kap-dar); }

.bolum { padding-block: var(--bolum-y); position: relative; }
.bolum--sikis { padding-block: clamp(3rem, 6vw, 4.5rem); }
.bolum--acik  { background: var(--yuzey-2); }
.bolum--gri   { background: var(--yuzey-3); }

.izgara { display: grid; gap: clamp(1.1rem, 2.4vw, 1.9rem); }
.izgara--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.izgara--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.izgara--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.merkez { text-align: center; }

/* Yol çizgisi ayracı — logodaki yol motifinden esinlenmiştir */
.yol-ayrac {
  height: 4px;
  background-image: linear-gradient(90deg, var(--gri-logo) 0 26px, transparent 26px 52px);
  background-size: 52px 4px;
  opacity: .5;
  border: 0;
  margin: 0;
}

/* --------------------------------------------------------------------------
   4. BÖLÜM BAŞLIKLARI
   -------------------------------------------------------------------------- */
.bolum-basi { max-width: 660px; margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.bolum-basi--merkez { margin-inline: auto; text-align: center; }

.ustbaslik {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--marka);
  background: var(--marka-50);
  border: 1px solid var(--marka-100);
  padding: .42rem .95rem;
  border-radius: var(--r-tam);
  margin-bottom: 1.1rem;
}
.ustbaslik::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--marka);
  flex: none;
}

.bolum-basi p {
  margin-top: 1rem;
  font-size: clamp(1rem, 1.4vw, 1.09rem);
  color: var(--murekkep-3);
}

/* Koyu zeminlerde başlık */
.koyu .ustbaslik {
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .22);
}
.koyu .ustbaslik::before { background: #fff; }
.koyu h1, .koyu h2, .koyu h3, .koyu h4 { color: #fff; }
.koyu p { color: rgba(255, 255, 255, .78); }

/* --------------------------------------------------------------------------
   5. DÜĞMELER
   -------------------------------------------------------------------------- */
.dugme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  font-family: var(--font-baslik);
  font-weight: 700;
  font-size: .98rem;
  letter-spacing: -.01em;
  padding: .95rem 1.7rem;
  border-radius: var(--r-tam);
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform var(--gecis), box-shadow var(--gecis),
              background-color var(--gecis), color var(--gecis),
              border-color var(--gecis);
  white-space: nowrap;
  text-align: center;
}
.dugme svg { width: 19px; height: 19px; flex: none; }
.dugme:hover { transform: translateY(-2px); }
.dugme:active { transform: translateY(0); }

.dugme--birincil {
  background: var(--marka);
  color: #fff;
  box-shadow: var(--golge-marka);
}
.dugme--birincil:hover { background: var(--marka-600); }

.dugme--ikincil {
  background: var(--murekkep);
  color: #fff;
}
.dugme--ikincil:hover { background: #2a1417; }

.dugme--hayalet {
  background: transparent;
  color: var(--murekkep);
  border-color: var(--cizgi-koyu);
}
.dugme--hayalet:hover { border-color: var(--marka); color: var(--marka); background: var(--marka-50); }

.dugme--beyaz { background: #fff; color: var(--marka); }
.dugme--beyaz:hover { background: var(--marka-50); }

.dugme--beyaz-hayalet {
  background: rgba(255, 255, 255, .08);
  color: #fff;
  border-color: rgba(255, 255, 255, .38);
  backdrop-filter: blur(6px);
}
.dugme--beyaz-hayalet:hover { background: rgba(255, 255, 255, .17); border-color: #fff; }

.dugme--blok { width: 100%; }
.dugme--kucuk { padding: .68rem 1.25rem; font-size: .9rem; }

.dugme-grubu { display: flex; flex-wrap: wrap; gap: .8rem; }

/* Metin bağlantısı (ok ile) */
.ok-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 700;
  font-family: var(--font-baslik);
  color: var(--marka);
  transition: gap var(--gecis);
}
.ok-link::after { content: "→"; transition: transform var(--gecis); }
.ok-link:hover { gap: .7rem; }
.ok-link:hover::after { transform: translateX(2px); }

/* --------------------------------------------------------------------------
   6. ÜST MENÜ
   -------------------------------------------------------------------------- */
.ust {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, .82);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: box-shadow var(--gecis), border-color var(--gecis), background-color var(--gecis);
}
.ust.kaydirildi {
  border-bottom-color: var(--cizgi);
  box-shadow: 0 6px 24px rgba(23, 9, 11, .06);
}

.ust-ic {
  height: var(--ust-yukseklik);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* Marka kilidi */
.marka-kilidi { display: flex; align-items: center; gap: .78rem; flex: none; }
.marka-kilidi img {
  width: 52px; height: 52px;
  border-radius: 14px;
  box-shadow: var(--golge-s);
}
.marka-yazi { display: flex; flex-direction: column; line-height: 1; }
.marka-yazi b {
  font-family: var(--font-baslik);
  font-size: 1.32rem;
  font-weight: 900;
  letter-spacing: -.025em;
  color: var(--murekkep);
}
.marka-yazi span {
  font-size: .655rem;
  font-weight: 800;
  letter-spacing: .21em;
  text-transform: uppercase;
  color: var(--marka);
  margin-top: .3rem;
}

/* Menü bağlantıları */
.menu { display: flex; align-items: center; gap: .15rem; }
.menu a {
  position: relative;
  padding: .6rem .7rem;
  border-radius: var(--r-s);
  font-weight: 600;
  font-size: .93rem;
  color: var(--murekkep-2);
  white-space: nowrap;   /* menü etiketleri asla iki satıra bölünmesin */
  transition: color var(--gecis), background-color var(--gecis);
}
.menu a:hover { color: var(--marka); background: var(--marka-50); }
.menu a.aktif { color: var(--marka); }
.menu a.aktif::after {
  content: "";
  position: absolute;
  left: .7rem; right: .7rem; bottom: .3rem;
  height: 2px;
  border-radius: 2px;
  background: var(--marka);
}

/* Üst şerit, 7 menü başlığı + telefon düğmesi sığsın diye içerikten geniştir */
.ust .kap { max-width: 1320px; }

.ust-eylem { display: flex; align-items: center; gap: .6rem; flex: none; }

/* Hamburger */
.menu-dugmesi {
  display: none;
  width: 46px; height: 46px;
  border: 1px solid var(--cizgi);
  background: #fff;
  border-radius: 12px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  flex: none;
}
.menu-dugmesi span {
  display: block;
  width: 20px; height: 2px;
  background: var(--murekkep);
  border-radius: 2px;
  transition: transform var(--gecis), opacity var(--gecis);
}
.menu-dugmesi[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-dugmesi[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-dugmesi[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobil çekmece */
.cekmece {
  position: fixed;
  inset: var(--ust-yukseklik) 0 0 0;
  background: #fff;
  z-index: 99;
  padding: 1.5rem var(--bosluk) 2.5rem;
  overflow-y: auto;
  transform: translateX(100%);
  visibility: hidden;
  /* visibility kesikli bir özellik olduğu için gecikmeyle yönetiyoruz:
     açılırken anında görünür olur, kapanırken animasyon bitince gizlenir. */
  transition: transform 300ms cubic-bezier(.22,.61,.36,1), visibility 0s 300ms;
}
.cekmece.acik {
  transform: translateX(0);
  visibility: visible;
  transition: transform 300ms cubic-bezier(.22,.61,.36,1), visibility 0s 0s;
}
.cekmece nav { display: flex; flex-direction: column; }
.cekmece nav a {
  padding: 1.05rem .25rem;
  border-bottom: 1px solid var(--cizgi);
  font-family: var(--font-baslik);
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--murekkep);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cekmece nav a::after { content: "→"; color: var(--marka-300); }
.cekmece nav a.aktif { color: var(--marka); }
.cekmece-alt { margin-top: 1.8rem; display: grid; gap: .7rem; }

body.kilitli { overflow: hidden; }

/* --------------------------------------------------------------------------
   7. ANA SAYFA GİRİŞ (HERO)
   -------------------------------------------------------------------------- */
.giris {
  position: relative;
  min-height: min(88vh, 780px);
  display: flex;
  align-items: center;
  padding-block: clamp(3.5rem, 8vw, 6rem);
  overflow: hidden;
  isolation: isolate;
}
.giris-arka {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.giris-arka img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.giris-arka::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(102deg, rgba(56,0,0,.94) 0%, rgba(122,0,1,.86) 38%, rgba(174,0,1,.52) 66%, rgba(174,0,1,.28) 100%),
    linear-gradient(180deg, rgba(23,9,11,.42) 0%, transparent 45%);
}

.giris-icerik { max-width: 660px; position: relative; }

.giris-etiket {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: rgba(255, 255, 255, .13);
  border: 1px solid rgba(255, 255, 255, .28);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: .5rem 1.05rem;
  border-radius: var(--r-tam);
  margin-bottom: 1.5rem;
}
.giris-etiket i {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 4px rgba(74, 222, 128, .25);
}

.giris h1 { color: #fff; margin-bottom: 1.25rem; }
.giris h1 em {
  font-style: normal;
  color: #fff;
  background: linear-gradient(180deg, transparent 62%, rgba(255,255,255,.28) 62%);
  padding-inline: .1em;
}

.giris-ozet {
  font-size: clamp(1.03rem, 1.7vw, 1.2rem);
  color: rgba(255, 255, 255, .88);
  max-width: 54ch;
  margin-bottom: 2.1rem;
}

.giris .dugme-grubu { margin-bottom: 2.6rem; }

/* Giriş altındaki güven rozetleri */
.giris-guven {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem 2.2rem;
  padding-top: 1.6rem;
  border-top: 1px solid rgba(255, 255, 255, .2);
}
.giris-guven div { display: flex; align-items: center; gap: .6rem; color: #fff; }
.giris-guven b { font-family: var(--font-baslik); font-size: 1.5rem; font-weight: 800; line-height: 1; }
.giris-guven small { font-size: .8rem; color: rgba(255,255,255,.72); line-height: 1.3; display: block; }

/* --------------------------------------------------------------------------
   8. İÇ SAYFA BAŞLIĞI
   -------------------------------------------------------------------------- */
.sayfa-basi {
  position: relative;
  padding-block: clamp(3.2rem, 7vw, 5.5rem);
  background: var(--marka-900);
  overflow: hidden;
  isolation: isolate;
}
.sayfa-basi-arka { position: absolute; inset: 0; z-index: -2; }
.sayfa-basi-arka img { width: 100%; height: 100%; object-fit: cover; }
.sayfa-basi-arka::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(56,0,0,.95) 8%, rgba(124,0,1,.88) 55%, rgba(174,0,1,.62) 100%);
}
.sayfa-basi h1 { color: #fff; max-width: 18ch; }
.sayfa-basi p {
  color: rgba(255,255,255,.85);
  max-width: 58ch;
  margin-top: 1rem;
  font-size: 1.06rem;
}

/* Kırıntı menü */
.kirinti {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-size: .86rem;
  color: rgba(255,255,255,.7);
  margin-bottom: 1.1rem;
}
.kirinti a { color: rgba(255,255,255,.9); }
.kirinti a:hover { color: #fff; text-decoration: underline; }
.kirinti span[aria-hidden] { opacity: .5; }

/* --------------------------------------------------------------------------
   9. KARTLAR
   -------------------------------------------------------------------------- */
.kart {
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-l);
  padding: clamp(1.4rem, 2.4vw, 1.95rem);
  transition: transform var(--gecis), box-shadow var(--gecis), border-color var(--gecis);
  height: 100%;
}
.kart:hover { transform: translateY(-4px); box-shadow: var(--golge-m); border-color: var(--marka-100); }

.kart h3 { margin-bottom: .55rem; }
.kart p { color: var(--murekkep-3); font-size: .96rem; }

/* İkon kutusu */
.ikon-kutu {
  width: 54px; height: 54px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: var(--marka-50);
  color: var(--marka);
  border: 1px solid var(--marka-100);
  margin-bottom: 1.15rem;
}
.ikon-kutu svg { width: 26px; height: 26px; }
.ikon-kutu--dolu { background: var(--marka); color: #fff; border-color: var(--marka); }

/* Kurs / ehliyet sınıfı kartı */
.kurs-kart {
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-l);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform var(--gecis), box-shadow var(--gecis), border-color var(--gecis);
}
.kurs-kart:hover { transform: translateY(-5px); box-shadow: var(--golge-l); border-color: var(--marka-100); }
.kurs-gorsel { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--yuzey-3); }
.kurs-gorsel img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 500ms cubic-bezier(.22,.61,.36,1);
}
.kurs-kart:hover .kurs-gorsel img { transform: scale(1.06); }
.kurs-rozet {
  position: absolute;
  top: .9rem; left: .9rem;
  background: var(--marka);
  color: #fff;
  font-family: var(--font-baslik);
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: .02em;
  padding: .35rem .85rem;
  border-radius: var(--r-s);
  box-shadow: var(--golge-marka);
}
.kurs-govde { padding: 1.4rem 1.4rem 1.6rem; display: flex; flex-direction: column; flex: 1; }
.kurs-govde h3 { margin-bottom: .5rem; }
.kurs-govde > p { color: var(--murekkep-3); font-size: .95rem; margin-bottom: 1.1rem; }
.kurs-bilgi {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: 1.3rem;
  margin-top: auto;
  padding-top: .4rem;
}
.kurs-bilgi li {
  font-size: .78rem;
  font-weight: 700;
  color: var(--murekkep-2);
  background: var(--yuzey-3);
  border-radius: var(--r-tam);
  padding: .32rem .8rem;
}

/* Özellik listesi (tik işaretli) */
.tik-liste { display: grid; gap: .75rem; }

/* Not: madde işareti konumlandırma ile yerleştirilir (ızgara ile DEĞİL).
   Böylece <li> içinde <b>, <a> gibi etiketlerle düz metin birlikte
   kullanıldığında satır bölünmez; tüm içerik normal biçimde akar. */
.tik-liste li {
  position: relative;
  padding-left: 2.1rem;
  font-size: .97rem;
}
.tik-liste li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--marka-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ae0001' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 13px no-repeat;
  border: 1px solid var(--marka-100);
}
.tik-liste li b { color: var(--murekkep); }
.koyu .tik-liste li::before {
  background-color: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.25);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   10. İKİ SÜTUNLU GÖRSEL + METİN
   -------------------------------------------------------------------------- */
.ikili {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
.ikili--ters .ikili-gorsel { order: 2; }

.ikili-gorsel { position: relative; }
.ikili-gorsel > img {
  width: 100%;
  border-radius: var(--r-xl);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  box-shadow: var(--golge-l);
}
/* Görsel üstündeki bilgi kartı */
.yuzen-kart {
  position: absolute;
  right: -18px;
  bottom: -22px;
  background: #fff;
  border-radius: var(--r-l);
  box-shadow: var(--golge-l);
  padding: 1.1rem 1.35rem;
  display: flex;
  align-items: center;
  gap: .9rem;
  border: 1px solid var(--cizgi);
  max-width: 260px;
}
.yuzen-kart .ikon-kutu { margin: 0; width: 44px; height: 44px; border-radius: 12px; }
.yuzen-kart .ikon-kutu svg { width: 21px; height: 21px; }
.yuzen-kart b { display: block; font-family: var(--font-baslik); font-size: 1.3rem; color: var(--murekkep); line-height: 1; }
.yuzen-kart small { font-size: .8rem; color: var(--murekkep-3); }

/* --------------------------------------------------------------------------
   11. İSTATİSTİK ŞERİDİ
   -------------------------------------------------------------------------- */
.istatistik-serit {
  background: var(--marka);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.istatistik-serit::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 18% 20%, rgba(255,255,255,.16), transparent 42%),
                    radial-gradient(circle at 84% 78%, rgba(0,0,0,.22), transparent 46%);
  pointer-events: none;
}
.istatistik-izgara {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  position: relative;
  text-align: center;
}
.istatistik-izgara > div { padding-inline: .5rem; }
.istatistik-izgara > div + div { border-left: 1px solid rgba(255,255,255,.22); }
.istatistik-sayi {
  font-family: var(--font-baslik);
  font-size: clamp(2.1rem, 4.6vw, 3.1rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.03em;
  display: block;
}
.istatistik-izgara small {
  display: block;
  margin-top: .55rem;
  font-size: .87rem;
  font-weight: 600;
  color: rgba(255,255,255,.82);
}

/* --------------------------------------------------------------------------
   12. SÜREÇ / ADIMLAR
   -------------------------------------------------------------------------- */
.adimlar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; position: relative; }
.adim {
  position: relative;
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-l);
  padding: 2.4rem 1.5rem 1.7rem;
  transition: transform var(--gecis), box-shadow var(--gecis);
}
.adim:hover { transform: translateY(-4px); box-shadow: var(--golge-m); }
.adim-no {
  position: absolute;
  top: -20px; left: 1.5rem;
  width: 46px; height: 46px;
  border-radius: 14px;
  background: var(--marka);
  color: #fff;
  display: grid;
  place-items: center;
  font-family: var(--font-baslik);
  font-weight: 900;
  font-size: 1.22rem;
  box-shadow: var(--golge-marka);
}
.adim h3 { font-size: 1.12rem; margin-bottom: .5rem; }
.adim p { font-size: .93rem; color: var(--murekkep-3); }

/* --------------------------------------------------------------------------
   13. MEMNUNİYET / YORUMLAR
   -------------------------------------------------------------------------- */
.puan-ozet {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.4rem 2.4rem;
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-l);
  padding: 1.5rem 1.8rem;
  box-shadow: var(--golge-s);
}
.puan-buyuk {
  font-family: var(--font-baslik);
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1;
  color: var(--murekkep);
}
.puan-ozet-blok { display: flex; align-items: center; gap: 1rem; }
.puan-ozet small { display: block; color: var(--murekkep-3); font-size: .88rem; margin-top: .25rem; }

/* Yıldızlar */
.yildizlar { display: inline-flex; gap: 2px; }
.yildizlar svg { width: 18px; height: 18px; }
.yildizlar .dolu { color: var(--yildiz); fill: var(--yildiz); }
.yildizlar .bos  { color: var(--cizgi-koyu); fill: var(--cizgi-koyu); }

/* Yorum ızgarası */
.yorumlar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.35rem; }

.yorum {
  position: relative;
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-l);
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: .95rem;
  transition: transform var(--gecis), box-shadow var(--gecis);
  animation: yorumGir 420ms cubic-bezier(.22,.61,.36,1) both;
}
.yorum:hover { transform: translateY(-4px); box-shadow: var(--golge-m); }
@keyframes yorumGir {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.yorum-ust { display: flex; align-items: center; gap: .85rem; }
.yorum-avatar {
  width: 46px; height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--marka);
  color: #fff;
  font-family: var(--font-baslik);
  font-weight: 800;
  font-size: 1.05rem;
  flex: none;
  overflow: hidden;
}
.yorum-avatar img { width: 100%; height: 100%; object-fit: cover; }
.yorum-ad { font-family: var(--font-baslik); font-weight: 700; color: var(--murekkep); line-height: 1.25; }
.yorum-tarih { font-size: .8rem; color: var(--murekkep-4); }
.yorum-metin { font-size: .97rem; color: var(--murekkep-2); flex: 1; }
.yorum-google {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .78rem;
  color: var(--murekkep-4);
  padding-top: .85rem;
  border-top: 1px solid var(--cizgi);
}
.yorum-google svg { width: 15px; height: 15px; }

/* Örnek içerik uyarı etiketi */
.ornek-etiket {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #92610a;
  background: #fff7e6;
  border: 1px solid #f5d99b;
  padding: .28rem .7rem;
  border-radius: var(--r-tam);
  align-self: flex-start;
}
.bilgi-kutusu {
  display: flex;
  gap: .9rem;
  align-items: flex-start;
  background: #fff9ed;
  border: 1px solid #f2dcae;
  border-radius: var(--r-m);
  padding: 1.05rem 1.25rem;
  font-size: .93rem;
  color: #6b4a10;
  margin-bottom: 1.8rem;
}
.bilgi-kutusu svg { width: 20px; height: 20px; flex: none; margin-top: .18rem; color: #c8890f; }
.bilgi-kutusu b { color: #4d340a; }

/* Yükleniyor / hata durumu */
.yorum-durum {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2.5rem 1rem;
  color: var(--murekkep-3);
}
.donuyor {
  width: 30px; height: 30px;
  border: 3px solid var(--cizgi);
  border-top-color: var(--marka);
  border-radius: 50%;
  margin: 0 auto .85rem;
  animation: don 800ms linear infinite;
}
@keyframes don { to { transform: rotate(360deg); } }

/* --------------------------------------------------------------------------
   14. AKORDİYON (SSS)
   -------------------------------------------------------------------------- */
.sss { display: grid; gap: .8rem; }
.sss-oge {
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-m);
  overflow: hidden;
  transition: border-color var(--gecis), box-shadow var(--gecis);
}
.sss-oge:has(.sss-baslik[aria-expanded="true"]) {
  border-color: var(--marka-100);
  box-shadow: var(--golge-s);
}
.sss-baslik {
  width: 100%;
  background: none;
  border: 0;
  text-align: left;
  padding: 1.2rem 1.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  font-family: var(--font-baslik);
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--murekkep);
}
.sss-baslik:hover { color: var(--marka); }
.sss-isaret {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--marka-50);
  color: var(--marka);
  display: grid;
  place-items: center;
  flex: none;
  transition: transform var(--gecis), background-color var(--gecis), color var(--gecis);
  font-size: 1.15rem;
  line-height: 1;
}
.sss-baslik[aria-expanded="true"] .sss-isaret {
  transform: rotate(45deg);
  background: var(--marka);
  color: #fff;
}
.sss-govde {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 280ms cubic-bezier(.22,.61,.36,1);
}
.sss-govde.acik { grid-template-rows: 1fr; }
.sss-govde > div { overflow: hidden; }
.sss-govde p { padding: 0 1.35rem 1.35rem; color: var(--murekkep-3); font-size: .97rem; }

/* --------------------------------------------------------------------------
   15. FORMLAR
   -------------------------------------------------------------------------- */
.form-kart {
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-xl);
  padding: clamp(1.5rem, 3.5vw, 2.6rem);
  box-shadow: var(--golge-m);
}

.alan-grubu { display: grid; gap: 1.15rem; }
.alan-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }

.alan { display: grid; gap: .45rem; }
.alan > label {
  font-weight: 700;
  font-size: .89rem;
  color: var(--murekkep);
  font-family: var(--font-baslik);
}
.alan .zorunlu { color: var(--marka); }

.alan input,
.alan textarea,
.alan select {
  width: 100%;
  padding: .85rem 1.05rem;
  border: 1.5px solid var(--cizgi-koyu);
  border-radius: var(--r-m);
  background: var(--yuzey-2);
  font-size: .97rem;
  transition: border-color var(--gecis), background-color var(--gecis), box-shadow var(--gecis);
}
.alan textarea { min-height: 145px; resize: vertical; line-height: 1.6; }
.alan select { appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c6e70' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 17px;
  padding-right: 2.7rem;
}
.alan input:focus,
.alan textarea:focus,
.alan select:focus {
  outline: none;
  border-color: var(--marka);
  background: #fff;
  box-shadow: 0 0 0 4px var(--marka-50);
}
.alan input::placeholder, .alan textarea::placeholder { color: var(--murekkep-4); }

.alan.hatali input,
.alan.hatali textarea,
.alan.hatali select { border-color: #d92b2b; background: #fff5f5; }

.alan-hata {
  font-size: .82rem;
  color: #c11b1b;
  font-weight: 600;
  display: none;
}
.alan.hatali .alan-hata,
.alan-hata.gorunur { display: block; }

/* Onay kutusu ve radyo grubu hata durumu */
.onay.hatali span { color: #c11b1b; }
.onay.hatali input { outline: 2px solid #d92b2b; outline-offset: 2px; }
.secim-izgara.hatali .secim-kart span {
  border-color: #d92b2b;
  background: #fff5f5;
}

.alan-ipucu { font-size: .82rem; color: var(--murekkep-4); }

/* Radyo kartları (öneri / şikayet seçimi) */
.secim-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.secim-kart { position: relative; }
.secim-kart input {
  position: absolute;
  opacity: 0;
  inset: 0;
  width: 100%; height: 100%;
  cursor: pointer;
  margin: 0;
}
.secim-kart span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  text-align: center;
  border: 1.5px solid var(--cizgi-koyu);
  border-radius: var(--r-m);
  padding: 1.05rem .7rem;
  font-weight: 700;
  font-size: .92rem;
  font-family: var(--font-baslik);
  color: var(--murekkep-2);
  background: var(--yuzey-2);
  transition: all var(--gecis);
}
.secim-kart span svg { width: 24px; height: 24px; }
.secim-kart input:hover + span { border-color: var(--marka-300); }
.secim-kart input:checked + span {
  border-color: var(--marka);
  background: var(--marka-50);
  color: var(--marka);
  box-shadow: 0 0 0 3px var(--marka-50);
}
.secim-kart input:focus-visible + span { outline: 3px solid var(--marka-400); outline-offset: 2px; }

/* Onay kutusu */
.onay { display: flex; gap: .7rem; align-items: flex-start; font-size: .88rem; color: var(--murekkep-3); }
.onay input { width: 20px; height: 20px; accent-color: var(--marka); flex: none; margin-top: .12rem; cursor: pointer; }

/* Form geri bildirimi */
.form-sonuc {
  display: none;
  gap: .9rem;
  align-items: flex-start;
  border-radius: var(--r-m);
  padding: 1.1rem 1.3rem;
  font-size: .94rem;
  margin-bottom: 1.4rem;
}
.form-sonuc.gorunur { display: flex; }
.form-sonuc svg { width: 22px; height: 22px; flex: none; margin-top: .1rem; }
.form-sonuc--basarili { background: #edfaf2; border: 1px solid #b7e4cb; color: #14653c; }
.form-sonuc--hata     { background: #fff2f2; border: 1px solid #f2c2c2; color: #a71d1d; }
.form-sonuc b { display: block; margin-bottom: .15rem; }
.form-sonuc a { text-decoration: underline; font-weight: 700; }

/* --------------------------------------------------------------------------
   16. İLETİŞİM
   -------------------------------------------------------------------------- */
.iletisim-izgara { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(1.6rem, 4vw, 3.2rem); align-items: start; }

.iletisim-liste { display: grid; gap: 1rem; }
.iletisim-oge {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1rem;
  align-items: start;
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-m);
  padding: 1.15rem 1.25rem;
  transition: border-color var(--gecis), box-shadow var(--gecis), transform var(--gecis);
}
a.iletisim-oge:hover { border-color: var(--marka-100); box-shadow: var(--golge-m); transform: translateY(-2px); }
.iletisim-oge .ikon-kutu { margin: 0; width: 48px; height: 48px; border-radius: 13px; }
.iletisim-oge .ikon-kutu svg { width: 22px; height: 22px; }
.iletisim-oge b { display: block; font-family: var(--font-baslik); color: var(--murekkep); font-size: 1.02rem; margin-bottom: .15rem; }
.iletisim-oge span { font-size: .93rem; color: var(--murekkep-3); }

/* Harita */
.harita-kutu {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--cizgi);
  box-shadow: var(--golge-m);
  background: var(--yuzey-3);
  min-height: 380px;
}
.harita-kutu iframe { width: 100%; height: 100%; min-height: 380px; border: 0; }
.harita-yedek {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  text-align: center;
  gap: .9rem;
  padding: 2rem;
  background:
    repeating-linear-gradient(45deg, var(--yuzey-3) 0 14px, var(--yuzey-2) 14px 28px);
}
.harita-yedek .ikon-kutu { margin: 0; }
.harita-yedek p { color: var(--murekkep-3); font-size: .93rem; max-width: 34ch; }

/* Çalışma saatleri tablosu */
.saat-liste { display: grid; gap: .1rem; }
.saat-liste li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .72rem 0;
  border-bottom: 1px dashed var(--cizgi);
  font-size: .94rem;
}
.saat-liste li:last-child { border-bottom: 0; }
.saat-liste b { font-family: var(--font-baslik); color: var(--murekkep); font-weight: 700; }
.saat-liste span { color: var(--murekkep-3); font-variant-numeric: tabular-nums; }
.saat-liste .kapali { color: var(--marka); font-weight: 700; }

/* --------------------------------------------------------------------------
   17. ÇAĞRI BANDI (CTA)
   -------------------------------------------------------------------------- */
.cagri {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-block: clamp(3.5rem, 7vw, 5.5rem);
}
.cagri-arka { position: absolute; inset: 0; z-index: -2; }
.cagri-arka img { width: 100%; height: 100%; object-fit: cover; }
.cagri-arka::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(95deg, rgba(56,0,0,.96) 0%, rgba(124,0,1,.9) 50%, rgba(174,0,1,.72) 100%);
}
.cagri-ic { display: grid; grid-template-columns: 1.4fr auto; gap: 2.2rem; align-items: center; }
.cagri h2 { color: #fff; margin-bottom: .8rem; }
.cagri p { color: rgba(255,255,255,.85); max-width: 52ch; }

/* --------------------------------------------------------------------------
   18. ALT BİLGİ
   -------------------------------------------------------------------------- */
.alt {
  background: #14080a;
  color: rgba(255,255,255,.68);
  padding-top: clamp(3rem, 6vw, 4.5rem);
  font-size: .94rem;
}
.alt-izgara {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
  gap: clamp(1.8rem, 4vw, 3rem);
  padding-bottom: 3rem;
}
.alt h3 {
  color: #fff;
  font-size: .82rem;
  letter-spacing: .17em;
  text-transform: uppercase;
  margin-bottom: 1.2rem;
  font-weight: 800;
}
.alt-marka { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.15rem; }
.alt-marka img { width: 56px; height: 56px; border-radius: 15px; }
.alt-marka b { font-family: var(--font-baslik); font-size: 1.35rem; font-weight: 900; color: #fff; display: block; line-height: 1.1; }
.alt-marka span { font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--marka-300); font-weight: 800; }
.alt-ozet { max-width: 38ch; margin-bottom: 1.4rem; }

.alt-menu { display: grid; gap: .68rem; }
.alt-menu a { color: rgba(255,255,255,.68); transition: color var(--gecis), padding-left var(--gecis); }
.alt-menu a:hover { color: #fff; padding-left: 4px; }

.alt-iletisim { display: grid; gap: .9rem; }
.alt-iletisim li { display: grid; grid-template-columns: 20px 1fr; gap: .7rem; align-items: start; }
.alt-iletisim svg { width: 18px; height: 18px; color: var(--marka-300); margin-top: .2rem; }
.alt-iletisim a:hover { color: #fff; text-decoration: underline; }

.sosyal-liste { display: flex; gap: .6rem; }
.sosyal-liste a {
  width: 42px; height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  transition: all var(--gecis);
}
.sosyal-liste a:hover { background: var(--marka); border-color: var(--marka); transform: translateY(-3px); }
.sosyal-liste svg { width: 19px; height: 19px; }

.alt-serit {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-block: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.5rem;
  justify-content: space-between;
  align-items: center;
  font-size: .87rem;
  color: rgba(255,255,255,.5);
}
.alt-serit a { color: rgba(255,255,255,.7); }
.alt-serit a:hover { color: #fff; text-decoration: underline; }

/* --------------------------------------------------------------------------
   19. SABİT EYLEM DÜĞMELERİ
   -------------------------------------------------------------------------- */
.sabit-eylem {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 90;
  display: grid;
  gap: .65rem;
  justify-items: end;
}
.sabit-dugme {
  width: 54px; height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,.22);
  transition: transform var(--gecis), box-shadow var(--gecis), width var(--gecis);
  position: relative;
}
.sabit-dugme svg { width: 25px; height: 25px; }
.sabit-dugme:hover { transform: scale(1.08); }
.sabit-dugme--wa { background: #22b45c; }
.sabit-dugme--tel { background: var(--marka); }
.sabit-dugme::after {
  content: attr(data-ipucu);
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%) scale(.9);
  background: var(--murekkep);
  color: #fff;
  font-size: .78rem;
  font-weight: 600;
  padding: .4rem .75rem;
  border-radius: var(--r-s);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--gecis), transform var(--gecis);
}
.sabit-dugme:hover::after { opacity: 1; transform: translateY(-50%) scale(1); }

/* --------------------------------------------------------------------------
   19b. ANALİZCAN — DİJİTAL ASİSTAN
   -------------------------------------------------------------------------- */
/* bottom değeri, sabit arama düğmelerine değmemesi için JS tarafından ölçülür */
.analizcan { position: fixed; right: 18px; bottom: 150px; z-index: 95; }
.analizcan-gizli {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* Açma düğmesi */
.analizcan-acma {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .62rem 1.05rem .62rem .68rem;
  border: 0;
  border-radius: var(--r-tam);
  background: var(--murekkep);
  color: #fff;
  font-family: var(--font-baslik);
  font-weight: 700;
  font-size: .92rem;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(0,0,0,.24);
  transition: transform var(--gecis), background-color var(--gecis);
}
.analizcan-acma:hover { transform: translateY(-2px); background: #2a1417; }
.analizcan-acma-ikon {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--marka);
  display: grid; place-items: center;
  flex: none;
}
.analizcan-acma-ikon svg { width: 17px; height: 17px; }
.analizcan-nokta {
  position: absolute; top: 2px; right: 2px;
  width: 11px; height: 11px;
  border-radius: 50%;
  background: #4ade80;
  border: 2px solid var(--murekkep);
}
.analizcan.acik .analizcan-acma { background: var(--marka); }
.analizcan.acik .analizcan-acma-ikon { background: rgba(255,255,255,.2); }

/* Panel */
.analizcan-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: min(378px, calc(100vw - 32px));
  /* Yükseklik; alttaki sabit düğmeler ve üstteki yapışkan menü hesaba katılarak
     sınırlanır — böylece panel ne taşar ne de menünün altında kalır. */
  height: min(548px, calc(100vh - var(--analizcan-bosluk, 212px) - var(--ust-yukseklik) - 12px));
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r-xl);
  box-shadow: 0 18px 48px rgba(23,9,11,.22), 0 4px 12px rgba(23,9,11,.10);
  overflow: hidden;
  opacity: 0;
  transform: translateY(14px) scale(.97);
  transform-origin: bottom right;
  transition: opacity 200ms ease, transform 200ms cubic-bezier(.22,.61,.36,1);
  pointer-events: none;
}
.analizcan.acik .analizcan-panel { opacity: 1; transform: none; pointer-events: auto; }
.analizcan-panel[hidden] { display: none; }

.analizcan-ust {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .85rem 1rem;
  background: linear-gradient(120deg, var(--marka-800), var(--marka));
  color: #fff;
  flex: none;
}
.analizcan-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.3);
  display: grid; place-items: center;
  font-family: var(--font-baslik);
  font-weight: 900;
  font-size: 1.15rem;
  flex: none;
}
.analizcan-kimlik { display: flex; flex-direction: column; line-height: 1.25; flex: 1; min-width: 0; }
.analizcan-kimlik b { font-family: var(--font-baslik); font-size: 1.02rem; }
.analizcan-kimlik small {
  font-size: .73rem;
  color: rgba(255,255,255,.82);
  display: flex; align-items: center; gap: .35rem;
}
.analizcan-canli {
  width: 7px; height: 7px; border-radius: 50%;
  background: #4ade80; flex: none;
}
.analizcan-kapat {
  width: 32px; height: 32px;
  border: 0; border-radius: 50%;
  background: rgba(255,255,255,.14);
  color: #fff; cursor: pointer;
  display: grid; place-items: center;
  flex: none;
  transition: background-color var(--gecis);
}
.analizcan-kapat:hover { background: rgba(255,255,255,.28); }
.analizcan-kapat svg { width: 15px; height: 15px; }

/* Mesaj alanı */
.analizcan-govde {
  flex: 1;
  overflow-y: auto;
  padding: 1.1rem .95rem .4rem;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  background: var(--yuzey-2);
  scrollbar-width: thin;
}
.analizcan-balon {
  max-width: 88%;
  padding: .7rem .9rem;
  border-radius: 16px;
  font-size: .92rem;
  line-height: 1.6;
  animation: analizcanGir 260ms cubic-bezier(.22,.61,.36,1) both;
  overflow-wrap: break-word;
}
@keyframes analizcanGir {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}
.analizcan-balon--bot {
  align-self: flex-start;
  background: #fff;
  border: 1px solid var(--cizgi);
  border-bottom-left-radius: 5px;
  color: var(--murekkep-2);
}
.analizcan-balon--bot b { color: var(--murekkep); }
.analizcan-balon--bot a { color: var(--marka); font-weight: 700; text-decoration: underline; }
.analizcan-balon--kisi {
  align-self: flex-end;
  background: var(--marka);
  color: #fff;
  border-bottom-right-radius: 5px;
}

/* "yazıyor" göstergesi */
.analizcan-yaziyor { display: flex; gap: 4px; align-items: center; padding: .85rem .9rem; }
.analizcan-yaziyor span {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--murekkep-4);
  animation: analizcanZipla 1s infinite ease-in-out;
}
.analizcan-yaziyor span:nth-child(2) { animation-delay: .15s; }
.analizcan-yaziyor span:nth-child(3) { animation-delay: .3s; }
@keyframes analizcanZipla {
  0%, 60%, 100% { transform: translateY(0); opacity: .45; }
  30%           { transform: translateY(-5px); opacity: 1; }
}

/* Hazır soru önerileri */
.analizcan-oneriler {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding: .55rem .95rem;
  background: var(--yuzey-2);
  flex: none;
  max-height: 108px;
  overflow-y: auto;
}
.analizcan-oneriler button {
  border: 1px solid var(--marka-100);
  background: #fff;
  color: var(--marka);
  font-size: .8rem;
  font-weight: 700;
  padding: .38rem .75rem;
  border-radius: var(--r-tam);
  cursor: pointer;
  transition: background-color var(--gecis), border-color var(--gecis);
  text-align: left;
}
.analizcan-oneriler button:hover { background: var(--marka-50); border-color: var(--marka-300); }

/* Yazma alanı */
.analizcan-form {
  display: flex;
  gap: .5rem;
  padding: .7rem .8rem .8rem;
  border-top: 1px solid var(--cizgi);
  background: #fff;
  flex: none;
}
.analizcan-form input {
  flex: 1;
  min-width: 0;
  padding: .68rem .9rem;
  border: 1.5px solid var(--cizgi-koyu);
  border-radius: var(--r-tam);
  font-size: .92rem;
  background: var(--yuzey-2);
}
.analizcan-form input:focus {
  outline: none;
  border-color: var(--marka);
  background: #fff;
  box-shadow: 0 0 0 3px var(--marka-50);
}
.analizcan-form button {
  width: 42px; height: 42px;
  flex: none;
  border: 0; border-radius: 50%;
  background: var(--marka);
  color: #fff;
  cursor: pointer;
  display: grid; place-items: center;
  transition: background-color var(--gecis), transform var(--gecis);
}
.analizcan-form button:hover { background: var(--marka-600); transform: scale(1.06); }
.analizcan-form button svg { width: 18px; height: 18px; }

@media (max-width: 640px) {
  .analizcan { right: 12px; }
  .analizcan-acma-yazi { display: none; }
  .analizcan-acma { padding: .5rem; gap: 0; }
  .analizcan-panel {
    right: 0;
    width: min(378px, calc(100vw - 24px));
    height: min(560px, calc(100vh - var(--analizcan-bosluk, 200px) - var(--ust-yukseklik) - 12px));
  }
}

@media print { .analizcan { display: none !important; } }

/* --------------------------------------------------------------------------
   20. GİRİŞ ANİMASYONLARI
   -------------------------------------------------------------------------- */
/* Not: gizleme yalnizca JavaScript calisiyorken uygulanir (html.js).
   Boylece JavaScript herhangi bir nedenle calismazsa icerik yine de gorunur. */
.gorun {
  transition: opacity 620ms cubic-bezier(.22,.61,.36,1), transform 620ms cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.js .gorun { opacity: 0; transform: translateY(22px); }
.js .gorun.icerde { opacity: 1; transform: none; }
.gorun[data-gecikme="1"] { transition-delay: 90ms; }
.gorun[data-gecikme="2"] { transition-delay: 180ms; }
.gorun[data-gecikme="3"] { transition-delay: 270ms; }
.gorun[data-gecikme="4"] { transition-delay: 360ms; }

/* --------------------------------------------------------------------------
   21. DUYARLI DÜZEN
   -------------------------------------------------------------------------- */
/* Telefon düğmesi yalnızca tam menüyle birlikte rahatça sığdığı genişliklerde görünür */
@media (max-width: 1319px) {
  .ust-eylem .dugme--hayalet { display: none; }
}

/* Menü + logo + kayıt düğmesi sığmadığı andan itibaren hamburger menü */
@media (max-width: 1099px) {
  .menu { display: none; }
  .menu-dugmesi { display: flex; }
}

@media (max-width: 1040px) {
  .alt-izgara { grid-template-columns: 1fr 1fr; }
  .izgara--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adimlar { grid-template-columns: repeat(2, 1fr); gap: 2.2rem 1.2rem; }
}

@media (max-width: 900px) {
  :root { --ust-yukseklik: 74px; }
  .izgara--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yorumlar { grid-template-columns: repeat(2, 1fr); }
  .ikili { grid-template-columns: 1fr; gap: 2.2rem; }
  .ikili--ters .ikili-gorsel { order: 0; }
  .iletisim-izgara { grid-template-columns: 1fr; }
  .cagri-ic { grid-template-columns: 1fr; }
  .istatistik-izgara { grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; }
  .istatistik-izgara > div:nth-child(3) { border-left: 0; }
  .marka-yazi b { font-size: 1.18rem; }
  .marka-kilidi img { width: 46px; height: 46px; border-radius: 12px; }
}

@media (max-width: 640px) {
  .izgara--4, .izgara--3, .izgara--2 { grid-template-columns: 1fr; }
  .adimlar { grid-template-columns: 1fr; }
  .yorumlar { grid-template-columns: 1fr; }
  .alt-izgara { grid-template-columns: 1fr; }
  .alan-satir { grid-template-columns: 1fr; }
  .secim-izgara { grid-template-columns: 1fr; }
  .secim-kart span { flex-direction: row; justify-content: flex-start; text-align: left; padding: .95rem 1.05rem; }
  .giris-guven { gap: 1rem 1.5rem; }
  .giris-guven b { font-size: 1.28rem; }
  .yuzen-kart { right: 8px; bottom: -16px; padding: .9rem 1.05rem; max-width: 220px; }
  .dugme { width: 100%; }
  .dugme-grubu { flex-direction: column; }
  .ust-eylem .dugme { width: auto; }
  .puan-buyuk { font-size: 2.6rem; }
  .alt-serit { justify-content: center; text-align: center; }
  .sabit-dugme { width: 50px; height: 50px; }
  .sabit-dugme::after { display: none; }
}

/* Dar telefonlarda üst şerit taşmasın: kayıt düğmesi gizlenir.
   Kullanıcı yine de çekmecedeki "Hemen Ara" / "WhatsApp" düğmelerine ve
   ekranın sağ altındaki sabit arama düğmelerine erişebilir. */
@media (max-width: 430px) {
  .ust-eylem .dugme--birincil { display: none; }
}

@media (max-width: 380px) {
  .marka-yazi span { display: none; }
}

/* Çok dar ekranlarda (320–360 px) uzun başlıklar için punto ayarı */
@media (max-width: 360px) {
  h1 { font-size: 1.92rem; }
  h2 { font-size: 1.62rem; }
}

/* --------------------------------------------------------------------------
   22. HAREKET AZALTMA & YAZDIRMA
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .gorun, .js .gorun { opacity: 1; transform: none; }
}

@media print {
  .ust, .cekmece, .sabit-eylem, .cagri, .menu-dugmesi { display: none !important; }
  body { color: #000; }
  .giris-arka, .sayfa-basi-arka { display: none; }
  .sayfa-basi, .giris { background: #fff; }
  .sayfa-basi h1, .giris h1, .koyu h2 { color: #000; }
}
