.ks, .ksp {

  --ks-kobalt:      var(--marka, var(--kobalt, #0C2956));
  --ks-metin:       var(--metin,       #16202C);
  --ks-is:          var(--is,          #525C6E);

  --ks-kagit:       var(--zemin, var(--kagit, #EDF0F4));
  --ks-yuzey:       var(--yuzey,       #FFFFFF);
  --ks-cizgi:       var(--cizgi,       #D9DFE7);
  --ks-cizgi-ince:  var(--cizgi-ince,  #E2E7EE);
  --ks-hardal:      var(--hardal,      #8A6410);
  --ks-hardal-zemin:var(--hardal-zemin,#FBF3E2);
  --ks-hardal-cizgi:var(--hardal-cizgi,#E3CE9B);
  --ks-mercan:      var(--mercan,      #C2371F);
  --ks-gol:         var(--gol,         #0F6E78);

  --ks-oyuk:     #E4E9F0;
  --ks-oyuk-tel: #A9B4C4;

  --ks-kil:   4px;
  --ks-ic:    8px;
  --ks-satir:14px;
  --ks-kume: 28px;
  --ks-odak: 52px;

  --ks-r:      8px;
  --ks-r-kat: 14px;
  --ks-r-hap: 999px;

  --ks-e:      cubic-bezier(0.23, 1, 0.32, 1);
  --ks-sr-dgm: 140ms;
  --ks-sr-gcs: 200ms;
  --ks-sr-kat: 260ms;

  font-family: var(--govde, "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif);
  color: var(--ks-metin);
  font-variant-numeric: tabular-nums;
}

.ks *, .ksp * { box-sizing: border-box; }

.ks-ikon { width: 20px; height: 20px; flex: 0 0 auto; fill: currentColor; }
.ks-ikon--s { width: 16px; height: 16px; }
.ks-ikon--l { width: 24px; height: 24px; }

.ks-gizli {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}

.ks :focus-visible, .ksp :focus-visible {
  outline: 3px solid var(--ks-kobalt);
  outline-offset: 2px;
  border-radius: var(--ks-r);
}

.ks-turler {
  display: flex; gap: var(--ks-ic);
  border-bottom: 1px solid var(--ks-cizgi);
  padding: 0 0 var(--ks-satir);
  margin: 0 0 var(--ks-kume);
}

.ks-tur {
  flex: 1 1 0; min-height: 48px;
  display: flex; align-items: center; justify-content: center; gap: var(--ks-ic);
  padding: var(--ks-ic) var(--ks-satir);
  background: transparent; border: 1px solid transparent;
  border-radius: var(--ks-r);
  font: inherit; font-size: 16px; font-weight: 600; color: var(--ks-is);
  cursor: pointer;
  transition: color var(--ks-sr-dgm) var(--ks-e),
              background-color var(--ks-sr-dgm) var(--ks-e);
}
.ks-tur:hover { background: var(--ks-cizgi-ince); }

.ks-tur[aria-selected="true"], .ks-tur[aria-current="page"] {
  background: var(--ks-yuzey);
  border-color: var(--ks-cizgi);
  color: var(--ks-kobalt);
}
.ks-tur .ks-ikon { color: var(--ks-is); }
.ks-tur[aria-selected="true"] .ks-ikon,
.ks-tur[aria-current="page"] .ks-ikon { color: currentColor; }

.ks-benek {
  width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto;
  background: var(--ks-kobalt);
}
.ks-benek--yok {
  background: transparent;
  border: 2px dashed var(--ks-hardal);
  width: 12px; height: 12px;
}
.ks-benek--kapali { background: var(--ks-cizgi); }

.ks-muhur {
  display: flex; align-items: flex-start; gap: var(--ks-satir);
  padding: var(--ks-satir) var(--ks-kume);
  border-radius: var(--ks-r-kat);
  margin-bottom: var(--ks-odak);
}

.ks-muhur--olculdu {
  background: var(--ks-yuzey);
  border: 1px solid var(--ks-cizgi);
}
.ks-muhur--olculdu .ks-muhur-ikon { color: var(--ks-kobalt); }

.ks-muhur-ikon { margin-top: 2px; }
.ks-muhur-govde { min-width: 0; }

.ks-muhur-ust {
  font-size: 16px; font-weight: 700; line-height: 1.4;
  letter-spacing: -.008em;
  margin: 0;
}
.ks-muhur-saat { color: var(--ks-kobalt); font-variant-numeric: tabular-nums; }

.ks-muhur-alt {
  font-size: 12px; line-height: 1.5; color: var(--ks-is);
  margin: var(--ks-kil) 0 0;
}

.ks-muhur--yok {
  background: var(--ks-oyuk);
  border: 2px dashed var(--ks-oyuk-tel);
  flex-direction: column; align-items: stretch;
  padding: var(--ks-kume);
  gap: var(--ks-satir);
}
.ks-muhur--yok .ks-muhur-ikon { color: var(--ks-hardal); }

.ks-bos {
  background: var(--ks-oyuk);
  border: 2px dashed var(--ks-oyuk-tel);
  border-radius: var(--ks-r-kat);
  padding: var(--ks-odak) var(--ks-kume);
  text-align: center;
}
.ks-bos-ikon { color: var(--ks-hardal); margin: 0 auto var(--ks-satir); display: block; }

.ks-bos-baslik {

  font-size: clamp(24px, 6.4vw, 30px); font-weight: 800; letter-spacing: -.032em;
  line-height: 1.2; margin: 0 0 var(--ks-satir); color: var(--ks-metin);
}
.ks-bos-metin {
  font-size: 16px; line-height: 1.6; color: var(--ks-metin);
  margin: 0 auto var(--ks-satir); max-width: 46ch;
}
.ks-bos-sicil {
  font-size: 12px; line-height: 1.6; color: var(--ks-is);
  margin: 0 auto var(--ks-kume); max-width: 46ch;
}
.ks-bos-sicil b { font-weight: 700; color: var(--ks-metin); }

.ks-yok {
  background: var(--ks-yuzey);
  border: 1px solid var(--ks-cizgi);
  border-radius: var(--ks-r-kat);
  padding: var(--ks-odak) var(--ks-kume);
  text-align: center;
}
.ks-yok-ikon { color: var(--ks-kobalt); margin: 0 auto var(--ks-satir); display: block; }
.ks-yok-baslik {

  font-size: clamp(22px, 5.6vw, 26px); font-weight: 700; letter-spacing: -.022em;
  line-height: 1.3; margin: 0 0 var(--ks-ic);
}
.ks-yok-damga {
  font-size: 16px; line-height: 1.5; color: var(--ks-is); margin: 0;
  font-variant-numeric: tabular-nums;
}
.ks-yok-damga b { color: var(--ks-metin); font-weight: 700; }

.ks-gun {
  display: flex; align-items: baseline; gap: var(--ks-satir);
  margin: var(--ks-kume) 0 var(--ks-satir);
}
.ks-gun:first-child { margin-top: 0; }
.ks-gun-ad {
  font-size: 16px; font-weight: 700; letter-spacing: -.008em;
  color: var(--ks-metin); margin: 0; white-space: nowrap;
}
.ks-gun-cizgi { flex: 1 1 auto; height: 1px; background: var(--ks-cizgi); }
.ks-gun-adet { font-size: 12px; color: var(--ks-is); white-space: nowrap; }

.ks-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ks-satir); }

.ks-kart {
  background: var(--ks-yuzey);
  border: 1px solid var(--ks-cizgi);
  border-radius: var(--ks-r-kat);
  padding: var(--ks-kume);
}

.ks-kart-ust {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--ks-satir); flex-wrap: wrap;
}

.ks-saat {
  font-size: clamp(26px, 7vw, 32px); font-weight: 800;
  letter-spacing: -.038em; line-height: 1.05;
  font-variant-numeric: tabular-nums;
  margin: 0; color: var(--ks-metin);
}
.ks-saat-ayrac {

  color: var(--ks-is); font-weight: 400; padding: 0 var(--ks-kil);
}

.ks-sure {
  font-size: 16px; color: var(--ks-is); margin: var(--ks-ic) 0 0;
  font-variant-numeric: tabular-nums;
}

.ks-simdi {
  display: none; align-items: center; gap: var(--ks-kil);
  padding: var(--ks-kil) 10px;
  border: 1px solid var(--ks-mercan); border-radius: var(--ks-r-hap);
  color: var(--ks-mercan); background: var(--ks-yuzey);
  font-size: 12px; font-weight: 700; letter-spacing: .01em;
  white-space: nowrap;
}
.ks-kart[data-suruyor="1"] .ks-simdi { display: inline-flex; }

.ks-planli {
  display: inline-flex; align-items: center; gap: var(--ks-kil);
  padding: var(--ks-kil) 10px;
  border: 1px solid var(--ks-cizgi); border-radius: var(--ks-r-hap);
  color: var(--ks-is); background: var(--ks-yuzey);
  font-size: 12px; font-weight: 600; white-space: nowrap;
}

.ks-yer {
  display: flex; align-items: center; gap: var(--ks-ic);
  margin: var(--ks-kume) 0 0; font-size: 16px; font-weight: 700;
  letter-spacing: -.008em;
  min-height: 44px;
}
.ks-yer .ks-ikon { color: var(--ks-gol); }
.ks-yer-ilce { font-weight: 400; color: var(--ks-is); }

.ks-yer a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px;

  min-width: 44px; padding: 0 2px;
  color: var(--ks-kobalt); text-underline-offset: 3px;
}

.ks-sebep {
  display: inline-flex; align-items: center; gap: var(--ks-kil);
  margin: var(--ks-satir) 0 0;
  padding: 6px 10px; border-radius: var(--ks-r);
  background: var(--ks-cizgi-ince); color: var(--ks-metin);
  font-size: 12px; font-weight: 700; letter-spacing: .04em;
}

.ks-aciklama {
  margin: var(--ks-kume) 0 0;
  padding: var(--ks-satir) var(--ks-satir) var(--ks-satir) var(--ks-kume);
  border-left: 1px solid var(--ks-cizgi);
  font-size: 16px; line-height: 1.65; color: var(--ks-metin);
  max-width: 68ch;

}

.ks-beyan {
  margin: var(--ks-satir) 0 0; font-size: 12px; line-height: 1.5;
  color: var(--ks-is);
}

.ks-sokak { margin: var(--ks-kume) 0 0; }
.ks-sokak-bas {
  display: flex; align-items: center; gap: var(--ks-ic);
  font-size: 12px; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--ks-is); margin: 0 0 var(--ks-ic);
}
.ks-sokak-liste {
  margin: 0; padding: 0; list-style: none;
  font-size: 16px; line-height: 1.6; color: var(--ks-metin);
  columns: 1;
}
.ks-sokak-liste li { padding: 2px 0; }

.ks-kaynak {
  display: flex; align-items: center; gap: var(--ks-ic); flex-wrap: wrap;
  margin: var(--ks-kume) 0 0; padding: var(--ks-satir) 0 0;
  border-top: 1px solid var(--ks-cizgi-ince);
  font-size: 12px; color: var(--ks-is);
}
.ks-kaynak-bag {
  display: inline-flex; align-items: center; gap: var(--ks-kil);
  min-height: 44px; padding: var(--ks-kil) 0;
  color: var(--ks-kobalt); font-weight: 700; text-decoration: underline;
  text-underline-offset: 3px;
}

.ks-teyit {
  margin: var(--ks-odak) 0 0; padding: var(--ks-kume);
  background: var(--ks-hardal-zemin);
  border: 1px solid var(--ks-hardal-cizgi);
  border-radius: var(--ks-r-kat);
}
.ks-teyit-metin {
  margin: 0 0 var(--ks-satir); font-size: 16px; line-height: 1.6;
  color: var(--ks-metin); max-width: 62ch;
}

.ks-dugme {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--ks-ic); min-height: 48px; padding: 12px 20px;
  border-radius: var(--ks-r); border: 1px solid var(--ks-kobalt);
  background: var(--ks-kobalt); color: #fff;
  font: inherit; font-size: 16px; font-weight: 700; text-decoration: none;
  cursor: pointer;
  transition: transform var(--ks-sr-dgm) var(--ks-e),
              opacity var(--ks-sr-dgm) var(--ks-e);
}
.ks-dugme:active { transform: scale(.985); }
.ks-dugme--ikincil {
  background: var(--ks-yuzey); color: var(--ks-kobalt);
  border-color: var(--ks-cizgi);
}

.ksp { display: grid; gap: var(--ks-satir); }

.ksp-kart {
  background: var(--ks-yuzey);
  border: 1px solid var(--ks-cizgi);
  border-radius: var(--ks-r-kat);
  padding: var(--ks-kume);
}
.ksp-kart[data-hal="B"] {
  background: var(--ks-oyuk);
  border: 2px dashed var(--ks-oyuk-tel);
}
.ksp-kart[data-hal="D"] { background: var(--ks-kagit); border-style: dashed; }

.ksp-bas {
  display: flex; align-items: center; gap: var(--ks-ic);
  font-size: 12px; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--ks-is); margin: 0 0 var(--ks-satir);
}
.ksp-bas .ks-ikon { color: var(--ks-is); }

.ksp-hal {

  font-size: clamp(22px, 5.6vw, 28px); font-weight: 800; letter-spacing: -.032em;
  line-height: 1.15; margin: 0 0 var(--ks-ic);
}
.ksp-kart[data-hal="A"] .ksp-hal,
.ksp-kart[data-hal="C"] .ksp-hal { color: var(--ks-metin); }

.ksp-kart[data-hal="B"] .ksp-hal { color: var(--ks-metin); }

.ksp-ozet {
  font-size: 16px; line-height: 1.6; color: var(--ks-metin);
  margin: 0 0 var(--ks-kume); max-width: 62ch;
}

.ksp-sicil {
  display: grid; grid-template-columns: 1fr auto; gap: var(--ks-ic) var(--ks-satir);
  margin: 0 0 var(--ks-kume); padding: 0;
  font-size: 12px;
}
.ksp-sicil dt { color: var(--ks-is); }
.ksp-sicil dd {
  margin: 0; text-align: right; font-weight: 700; color: var(--ks-metin);
  font-variant-numeric: tabular-nums;
}

.ksp-kart:not([data-hal="B"]) .ksp-sicil dd[data-uyari="1"] { color: var(--ks-hardal); }
.ksp-kart[data-hal="B"] .ksp-sicil dd[data-uyari="1"] {
  color: var(--ks-metin);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}

.ksp-hata {
  margin: 0 0 var(--ks-kume); padding: var(--ks-satir);
  background: var(--ks-hardal-zemin); border: 1px solid var(--ks-hardal-cizgi);
  border-radius: var(--ks-r);
  font-size: 12px; line-height: 1.6; color: var(--ks-metin);
  word-break: break-word;
}

.ksp-eylem { display: flex; flex-wrap: wrap; gap: var(--ks-ic); }

.ks-kap {
  max-width: var(--kolon, var(--olcu, 1120px)); margin: 0 auto;
  padding: var(--ks-kume) 18px var(--ks-odak);
}

.ks-baslik {
  font-size: clamp(26px, 6.4vw, 34px); font-weight: 800;
  letter-spacing: -.038em; line-height: 1.15; margin: 0 0 var(--ks-ic);
}
.ks-alt-baslik {
  font-size: 16px; line-height: 1.6; color: var(--ks-is);
  margin: 0 0 var(--ks-kume); max-width: 62ch;
}

@media (min-width: 768px) {
  .ks-kap { padding: var(--ks-odak) var(--ks-kume) var(--ks-odak); }
  .ks-kart {
    display: grid;
    grid-template-columns: minmax(220px, 300px) 1fr;
    gap: var(--ks-kume);
    align-items: start;
  }
  .ks-kart-ust { grid-column: 1; flex-direction: column; align-items: flex-start; }
  .ks-kart-govde { grid-column: 2; min-width: 0; }

  .ks-kart-govde > :first-child { margin-top: 0; }
  .ks-kaynak { grid-column: 1 / -1; }
  .ks-sokak-liste { columns: 2; column-gap: var(--ks-kume); }
  .ksp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .ks-turler { max-width: 520px; }

  .ks-muhur, .ks-bos, .ks-yok, .ks-teyit { max-width: 720px; }
}

@media (min-width: 1280px) {
  .ks-sokak-liste { columns: 3; }
}

@media (prefers-reduced-motion: reduce) {
  .ks, .ksp {
    --ks-sr-dgm: 100ms;
    --ks-sr-gcs: 120ms;
    --ks-sr-kat: 140ms;
  }
  .ks-dugme:active { transform: none; opacity: .85; }
}
