/* =========================================================
   D Taşlar — tasarım sistemi
   Palet malzemeden türetilmiştir. Gradyan yok, yeşil yok.
   Sarı (--isaret) kuralı: yalnızca doğrulanabilir bir sayının
   yanında görünür. Tek işlevsel istisna odak halkasıdır.
   ========================================================= */

:root {
  /* Palet */
  --beton:    #EDEBE7;
  --karton:   #7A5C41;
  --galvaniz: #9AA3A7;
  --is:       #17191A;
  --isaret:   #F2B705;

  /* Türetilmiş */
  --hat:        #D6D2CB;
  --hat-koyu:   #2E3133;
  --metin:      var(--is);
  --metin-soluk:#5C6164;

  /* Tipografi */
  --display: "Archivo Narrow", "Arial Narrow", system-ui, sans-serif;
  --govde:   "IBM Plex Sans", system-ui, -apple-system, Segoe UI, sans-serif;

  /* Ölçü */
  --olcu-max: 1200px;
  --bosluk:   clamp(1rem, 3vw, 2rem);
  --bolum-y:  clamp(3rem, 7vw, 5.5rem);
}

/* ---------- Sıfırlama ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--beton);
  color: var(--metin);
  font-family: var(--govde);
  font-size: 1rem;
  line-height: 1.65;
  font-feature-settings: "tnum" 0;
  -webkit-font-smoothing: antialiased;
}
img, iframe { max-width: 100%; display: block; }
h1, h2, h3, h4, p, ul, ol, figure, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; }

/* ---------- Odak (işlevsel sarı istisnası) ---------- */
:focus-visible {
  outline: 3px solid var(--isaret);
  outline-offset: 2px;
  border-radius: 1px;
}

/* ---------- Yardımcılar ---------- */
.kap {
  width: 100%;
  max-width: var(--olcu-max);
  margin-inline: auto;
  padding-inline: var(--bosluk);
}
.gizli-erisim {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; border: 0;
}
.atla {
  position: absolute; left: var(--bosluk); top: -3rem;
  z-index: 100; background: var(--is); color: var(--beton);
  padding: .65rem 1rem; font-weight: 600;
  transition: top .15s ease;
}
.atla:focus { top: .5rem; }

/* ---------- Tipografik ölçek ---------- */
h1, h2, h3, .display {
  font-family: var(--display);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.005em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.25rem, 6vw, 3.75rem); }
h2 { font-size: clamp(1.6rem, 3.6vw, 2.4rem); }
h3 { font-size: clamp(1.15rem, 2.2vw, 1.4rem); }

.ust-baslik {
  font-family: var(--govde);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--metin-soluk);
  margin-bottom: .75rem;
}
.giris { font-size: clamp(1.05rem, 1.9vw, 1.2rem); max-width: 62ch; }
.sonuc { color: var(--metin-soluk); }

/* ---------- İMZA: sarı işaret çizgisi ---------- */
/* Yalnızca ölçülebilir/doğrulanabilir bir sayı taşıyan bloklarda. */
.isaret-blok {
  border-left: 4px solid var(--isaret);
  padding-left: clamp(1rem, 2.5vw, 1.5rem);
}
.rakam {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 2.9rem);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  display: block;
}
.rakam .birim {
  /* Birim sembolleri (m², kg, m³) daima küçük harf — büyütmek yanlış. */
  font-size: .42em;
  letter-spacing: .04em;
  margin-left: .3em;
  color: var(--metin-soluk);
}

/* ---------- Üst şerit ---------- */
.serit {
  background: var(--is);
  color: var(--beton);
  font-size: .82rem;
}
.serit .kap {
  display: flex; flex-wrap: wrap; gap: .35rem 1.5rem;
  align-items: center; justify-content: space-between;
  min-height: 2.5rem; padding-block: .4rem;
}
.serit a { text-decoration: none; }
.serit a:hover { text-decoration: underline; }
.serit .konum { color: var(--galvaniz); }

/* ---------- Başlık ---------- */
.ust {
  position: sticky; top: 0; z-index: 50;
  background: var(--beton);
  border-bottom: 1px solid var(--hat);
}
.ust .kap {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; min-height: 4.5rem;
}
.marka { text-decoration: none; display: block; flex: 0 0 auto; }
.marka .ad {
  display: block;
  font-family: var(--display); font-weight: 700;
  font-size: 1.45rem; letter-spacing: .06em; line-height: 1;
}
.marka .slogan {
  display: block;
  font-size: .64rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--metin-soluk); margin-top: .35rem;
}
.gezinme ul { display: flex; gap: 1.4rem; align-items: center; }
.gezinme a {
  text-decoration: none; font-size: .93rem; font-weight: 500;
  padding: .35rem 0; border-bottom: 2px solid transparent;
}
.gezinme a:hover { border-bottom-color: var(--galvaniz); }
.gezinme a[aria-current="page"] { border-bottom-color: var(--is); }

.dugme {
  display: inline-flex; align-items: center; justify-content: center;
  gap: .5rem; font-family: var(--govde); font-weight: 600;
  font-size: .95rem; padding: .8rem 1.4rem;
  border: 2px solid var(--is); background: var(--is); color: var(--beton);
  text-decoration: none; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.dugme:hover { background: transparent; color: var(--is); }
.dugme--ikincil { background: transparent; color: var(--is); }
.dugme--ikincil:hover { background: var(--is); color: var(--beton); }
.dugme[disabled] { opacity: .55; cursor: progress; }

.menu-dugme {
  display: none; background: transparent; border: 1px solid var(--hat);
  padding: .6rem .85rem; font: inherit; font-weight: 600; cursor: pointer;
}

/* ---------- Kırıntı ---------- */
.kirinti { border-bottom: 1px solid var(--hat); font-size: .85rem; }
.kirinti ol { display: flex; flex-wrap: wrap; gap: .4rem; padding-block: .85rem; }
.kirinti li::after { content: "/"; margin-left: .4rem; color: var(--galvaniz); }
.kirinti li:last-child::after { content: ""; }
.kirinti a { color: var(--metin-soluk); }
.kirinti [aria-current="page"] { font-weight: 600; }

/* ---------- Sayfa başı ---------- */
.sayfa-basi { padding-block: clamp(2.5rem, 6vw, 4rem) clamp(2rem, 4vw, 3rem); }

/* ---------- Bölüm ---------- */
.bolum { padding-block: var(--bolum-y); border-top: 1px solid var(--hat); }
.bolum--koyu {
  background: var(--is); color: var(--beton); border-top: 0;
}
.bolum--koyu .ust-baslik,
.bolum--koyu .sonuc,
.bolum--koyu .rakam .birim { color: var(--galvaniz); }

/* ---------- İkili düzen ---------- */
.ikili {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

/* ---------- İletişim künyesi ---------- */
.kunye { display: grid; gap: 1.75rem; }
.kunye dt {
  font-size: .78rem; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--metin-soluk);
  margin-bottom: .3rem;
}
.kunye dd { font-size: 1.05rem; }
.kunye a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kunye .tel {
  font-family: var(--display); font-weight: 700;
  font-size: 1.5rem; letter-spacing: .01em; display: block;
  text-decoration: none; line-height: 1.35;
}
.kunye .tel:hover { text-decoration: underline; }

/* ---------- Form ---------- */
.form-kutu {
  background: #fff;
  border: 1px solid var(--hat);
  padding: clamp(1.25rem, 3vw, 2.25rem);
}
.alanlar { display: grid; gap: 1.15rem; }
.satir { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }
.alan { display: grid; gap: .35rem; }
.alan label { font-size: .85rem; font-weight: 600; }
.alan .ipucu { font-size: .78rem; color: var(--metin-soluk); }
.alan .gerekli { color: var(--karton); }
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
  font: inherit; font-size: .98rem;
  padding: .7rem .8rem;
  border: 1px solid var(--galvaniz);
  background: #fff; color: var(--metin);
  border-radius: 0; width: 100%;
}
textarea { min-height: 7.5rem; resize: vertical; }
select { appearance: none; background-image: none; padding-right: .8rem; }
input:hover, select:hover, textarea:hover { border-color: var(--is); }
.alan[data-hata="1"] input,
.alan[data-hata="1"] select,
.alan[data-hata="1"] textarea { border-color: #A3301C; border-width: 2px; }
.hata-metni { font-size: .82rem; color: #A3301C; font-weight: 500; }
.hata-metni:empty { display: none; }

.onay { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; }
.onay input { width: 1.15rem; height: 1.15rem; margin-top: .25rem; accent-color: var(--is); }
.onay label { font-size: .85rem; font-weight: 400; line-height: 1.5; }

/* Bal küpü — ekran okuyucudan ve klavyeden de uzak */
.bk { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.form-durum { font-size: .95rem; }
.form-durum:empty { display: none; }
.form-durum[data-tip="basari"] {
  border-left: 4px solid var(--is);
  background: #fff; padding: 1rem 1.15rem;
}
.form-durum[data-tip="hata"] {
  border-left: 4px solid #A3301C;
  background: #FBF0EE; padding: 1rem 1.15rem;
}
.form-durum strong { font-family: var(--display); font-size: 1.15rem; display: block; margin-bottom: .2rem; }

/* ---------- Harita cephesi ---------- */
.harita-sarmal { position: relative; aspect-ratio: 16 / 8; background: var(--is); }
@media (max-width: 640px) { .harita-sarmal { aspect-ratio: 4 / 3; } }
.harita-sarmal iframe { width: 100%; height: 100%; border: 0; }
.harita-cephe {
  position: absolute; inset: 0;
  display: grid; place-content: center; gap: 1rem; justify-items: center;
  text-align: center; padding: 1.5rem;
  border: 0; width: 100%; cursor: pointer;
  color: var(--beton); font: inherit;
  background-color: #23272A;
  background-image:
    linear-gradient(var(--hat-koyu) 1px, transparent 1px),
    linear-gradient(90deg, var(--hat-koyu) 1px, transparent 1px);
  background-size: 44px 44px;
}
.harita-cephe .baslik { font-family: var(--display); font-weight: 700; font-size: 1.35rem; }
.harita-cephe .not { font-size: .85rem; color: var(--galvaniz); max-width: 42ch; }
.harita-cephe .sahte-dugme {
  border: 2px solid var(--beton); padding: .7rem 1.3rem; font-weight: 600; font-size: .95rem;
}
.harita-cephe:hover .sahte-dugme { background: var(--beton); color: var(--is); }
.harita-yan { display: grid; gap: 1.25rem; align-content: start; }

/* ---------- Bölge listesi ---------- */
.bolgeler { display: flex; flex-wrap: wrap; gap: .5rem; }
.bolgeler li {
  border: 1px solid var(--hat-koyu); padding: .45rem .85rem;
  font-size: .92rem; letter-spacing: .01em;
}

/* ---------- Alt bilgi ---------- */
.alt { background: var(--is); color: var(--beton); padding-block: clamp(2.5rem, 5vw, 3.5rem) 0; }
.alt-izgara {
  display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem;
  padding-bottom: 2.5rem;
}
.alt h2 {
  font-family: var(--govde); font-size: .78rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--galvaniz);
  margin-bottom: 1rem;
}
.alt address { font-style: normal; line-height: 1.75; }
.alt a { text-decoration: none; }
.alt a:hover { text-decoration: underline; }
.alt li { margin-bottom: .5rem; }
.alt .unvan { color: var(--galvaniz); font-size: .84rem; margin-top: 1rem; line-height: 1.6; }
.alt-son {
  border-top: 1px solid var(--hat-koyu); padding-block: 1.25rem;
  display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between;
  font-size: .82rem; color: var(--galvaniz);
}

/* ---------- Hareket ---------- */
.beliren { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.beliren.gorunur { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .beliren { opacity: 1; transform: none; }
}

/* ---------- Duyarlı ---------- */
@media (max-width: 900px) {
  .ikili { grid-template-columns: 1fr; }
  .alt-izgara { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .gezinme { display: none; }
  .gezinme.acik {
    display: block; position: absolute; left: 0; right: 0; top: 100%;
    background: var(--beton); border-bottom: 1px solid var(--hat);
    padding: 1rem var(--bosluk) 1.5rem;
  }
  .gezinme.acik ul { flex-direction: column; align-items: stretch; gap: 0; }
  .gezinme.acik a { display: block; padding: .8rem 0; border-bottom: 1px solid var(--hat); }
  .menu-dugme { display: block; }
  .ust .kap { position: relative; }
  .ust .dugme--ust { display: none; }
}
@media (max-width: 560px) {
  .satir { grid-template-columns: 1fr; }
  .alt-izgara { grid-template-columns: 1fr; gap: 2rem; }
  .serit .kap { justify-content: flex-start; }
  .serit .konum { display: none; }
}

/* ---------- Baskı ---------- */
@media print {
  .ust, .serit, .harita-sarmal, .form-kutu, .atla { display: none; }
  body { background: #fff; }
}

/* =========================================================
   BİLEŞENLER — çok sayfalı yapı
   ========================================================= */

/* ---------- Hero (yalnızca ana sayfa) ---------- */
.hero { border-bottom: 1px solid var(--hat); }
.hero .kap {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  padding-block: clamp(2.5rem, 6vw, 5rem);
}
.hero h1 { font-size: clamp(2.4rem, 5.4vw, 4rem); }
.hero .giris { margin-top: 1.25rem; }
.hero .eylemler { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }

/* ---------- Görsel yer tutucu ---------- */
/* Fotoğraf gelene kadar doğru en-boy oranında gri blok.
   Kural gereği yer tutucular sarı ALMAZ — eksiklik görünür kalsın. */
.gorsel { background: var(--galvaniz); position: relative; overflow: hidden; }
.gorsel img { width: 100%; height: 100%; object-fit: cover; }
.gorsel--tutucu {
  display: grid; place-content: center; text-align: center; padding: 1.5rem;
  background-color: #C9CDCF;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(23,25,26,.05) 14px 28px);
  color: var(--hat-koyu);
}
.gorsel--tutucu .etiket {
  font-family: var(--display); font-weight: 700; font-size: .9rem;
  letter-spacing: .1em; text-transform: uppercase;
}
.gorsel--tutucu .dosya {
  font-size: .76rem; color: #4A5052; margin-top: .4rem; word-break: break-all;
}
.en-4-3 { aspect-ratio: 4 / 3; }
.en-3-2 { aspect-ratio: 3 / 2; }
.en-16-9 { aspect-ratio: 16 / 9; }
.en-1-1 { aspect-ratio: 1 / 1; }

/* ---------- Rakam şeridi ---------- */
.rakamlar {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.5rem);
}
.rakamlar .sonuc { font-size: .92rem; margin-top: .4rem; }

/* ---------- Kart ızgarası ---------- */
.izgara { display: grid; gap: clamp(1rem, 2.5vw, 1.75rem); }
.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)); }

.kart {
  background: #fff; border: 1px solid var(--hat);
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  display: flex; flex-direction: column; gap: .75rem;
  transition: border-color .15s ease, transform .15s ease;
}
.kart:hover { border-color: var(--is); }
.kart h3 { margin-bottom: .1rem; }
.kart p { color: var(--metin-soluk); font-size: .95rem; flex: 1; }
.kart .git {
  font-weight: 600; font-size: .92rem; text-decoration: none;
  border-bottom: 2px solid var(--is); align-self: flex-start; padding-bottom: 2px;
}
.kart--bag { text-decoration: none; }
.bolum--koyu .kart { background: #202426; border-color: var(--hat-koyu); }
.bolum--koyu .kart p { color: var(--galvaniz); }
.bolum--koyu .kart .git { border-bottom-color: var(--beton); }

/* ---------- Numaralı süreç ---------- */
/* Sıra burada gerçekten bilgi taşıyor. Dekoratif 01/02/03 başka yerde yok.
   Sıra numarası ölçüm değildir → sarı almaz. */
.surec { counter-reset: adim; display: grid; gap: 0; }
.adim {
  counter-increment: adim;
  display: grid; grid-template-columns: 4.5rem 1fr; gap: clamp(1rem, 3vw, 2rem);
  padding-block: clamp(1.5rem, 3vw, 2.25rem);
  border-top: 1px solid var(--hat);
}
.adim:last-child { border-bottom: 1px solid var(--hat); }
.adim::before {
  content: counter(adim, decimal-leading-zero);
  font-family: var(--display); font-weight: 700;
  font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1;
  color: var(--is); font-variant-numeric: tabular-nums;
}
.adim h3 { margin-bottom: .5rem; }
.adim p { color: var(--metin-soluk); max-width: 68ch; }
.bolum--koyu .adim { border-color: var(--hat-koyu); }
.bolum--koyu .adim::before { color: var(--beton); }
.bolum--koyu .adim p { color: var(--galvaniz); }

/* ---------- Madde listesi ---------- */
.maddeler { display: grid; gap: .7rem; max-width: 68ch; }
.maddeler li {
  display: grid; grid-template-columns: 1.15rem 1fr; gap: .75rem;
  align-items: start; color: var(--metin-soluk);
}
.maddeler li::before {
  content: ""; width: .55rem; height: .55rem; margin-top: .55rem;
  background: var(--is); display: block;
}
.bolum--koyu .maddeler li { color: var(--galvaniz); }
.bolum--koyu .maddeler li::before { background: var(--beton); }

/* ---------- Etiket dizisi (atık türleri) ---------- */
.etiketler { display: flex; flex-wrap: wrap; gap: .5rem; }
.etiketler li {
  border: 1px solid var(--hat); background: #fff;
  padding: .5rem .9rem; font-size: .93rem;
}

/* ---------- SSS ---------- */
.sss { max-width: 78ch; border-top: 1px solid var(--hat); }
.sss details { border-bottom: 1px solid var(--hat); }
.sss summary {
  cursor: pointer; list-style: none; padding-block: 1.15rem;
  font-family: var(--display); font-weight: 700; font-size: 1.1rem;
  display: grid; grid-template-columns: 1fr 1.5rem; gap: 1rem; align-items: center;
}
.sss summary::-webkit-details-marker { display: none; }
.sss summary::after {
  content: "+"; font-size: 1.4rem; line-height: 1; justify-self: end; color: var(--metin-soluk);
}
.sss details[open] summary::after { content: "–"; }
.sss summary:hover { color: var(--karton); }
.sss .cevap { padding-bottom: 1.35rem; color: var(--metin-soluk); max-width: 68ch; }
.sss .cevap p + p { margin-top: .75rem; }

/* ---------- Sonraki adım / CTA bandı ---------- */
.cta-bant { background: var(--is); color: var(--beton); }
.cta-bant .kap {
  padding-block: clamp(2.5rem, 6vw, 4rem);
  display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center;
}
.cta-bant h2 { font-size: clamp(1.6rem, 3.4vw, 2.4rem); }
.cta-bant p { color: var(--galvaniz); margin-top: .6rem; max-width: 58ch; }
.cta-bant .dugme { border-color: var(--beton); background: var(--beton); color: var(--is); }
.cta-bant .dugme:hover { background: transparent; color: var(--beton); }

/* ---------- İlgili sayfalar ---------- */
.ilgili { display: flex; flex-wrap: wrap; gap: .75rem; }
.ilgili a {
  border: 1px solid var(--hat); background: #fff; padding: .7rem 1.1rem;
  text-decoration: none; font-size: .93rem; font-weight: 500;
}
.ilgili a:hover { border-color: var(--is); }

/* ---------- Bilgi kutusu / veri bekleniyor ---------- */
.bilgi {
  border: 1px dashed var(--galvaniz); background: #fff;
  padding: clamp(1rem, 2.5vw, 1.5rem); max-width: 78ch;
}
.bilgi .baslik {
  font-family: var(--display); font-weight: 700; font-size: 1.05rem; margin-bottom: .4rem;
}
.bilgi p { color: var(--metin-soluk); font-size: .95rem; }

/* ---------- Atık kodları tablosu ---------- */
.arac { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin-bottom: 1.5rem; }
.arac .alan { min-width: 15rem; flex: 1 1 18rem; }
.sayac { font-size: .88rem; color: var(--metin-soluk); }

.tablo-sarmal { overflow-x: auto; border: 1px solid var(--hat); background: #fff; }
table.kodlar { border-collapse: collapse; width: 100%; min-width: 44rem; font-size: .95rem; }
table.kodlar caption { text-align: left; padding: 1rem 1.15rem; color: var(--metin-soluk); font-size: .88rem; }
table.kodlar th, table.kodlar td { text-align: left; padding: .8rem 1.15rem; border-top: 1px solid var(--hat); vertical-align: top; }
table.kodlar thead th {
  font-family: var(--govde); font-size: .76rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--metin-soluk);
  background: var(--beton); position: sticky; top: 0;
}
table.kodlar td.kod {
  font-family: var(--display); font-weight: 700; font-size: 1.05rem;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
table.kodlar td.kod a { text-decoration: none; }
table.kodlar td.kod a:hover { text-decoration: underline; }
table.kodlar tbody tr:target { background: #FFF8E1; }
table.kodlar tbody tr:hover { background: #FAF9F7; }
.bos-satir td { padding: 2.5rem 1.15rem; text-align: center; color: var(--metin-soluk); }

/* ---------- Galeri ---------- */
.galeri { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.galeri figure { margin: 0; }
.galeri figcaption { font-size: .85rem; color: var(--metin-soluk); margin-top: .5rem; }

/* ---------- Zaman çizgisi ---------- */
.zaman { display: grid; gap: 0; max-width: 78ch; }
.zaman > div {
  display: grid; grid-template-columns: 6rem 1fr; gap: clamp(1rem, 3vw, 2rem);
  padding-block: 1.5rem; border-top: 1px solid var(--hat);
}
.zaman > div:last-child { border-bottom: 1px solid var(--hat); }
.zaman .yil {
  font-family: var(--display); font-weight: 700; font-size: 1.5rem;
  font-variant-numeric: tabular-nums; line-height: 1.2;
}
.zaman p { color: var(--metin-soluk); }

/* ---------- Uzun metin ---------- */
.metin { max-width: 70ch; }
.metin p + p { margin-top: 1.1rem; }
.metin h2 { margin-top: 2.5rem; margin-bottom: .85rem; }
.metin h3 { margin-top: 1.75rem; margin-bottom: .5rem; }
.metin ul { margin-top: .75rem; }

/* ---------- 404 ---------- */
.dorttort { text-align: center; padding-block: clamp(4rem, 12vw, 8rem); }
.dorttort .eylemler { display: flex; gap: .85rem; justify-content: center; flex-wrap: wrap; margin-top: 2rem; }

/* ---------- Duyarlı ek ---------- */
@media (max-width: 1000px) {
  .rakamlar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .izgara--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .hero .kap { grid-template-columns: 1fr; }
  .hero .gorsel { order: -1; }
  .izgara--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-bant .kap { grid-template-columns: 1fr; }
  .galeri { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .rakamlar { grid-template-columns: 1fr; gap: 1.5rem; }
  .izgara--2, .izgara--3, .izgara--4 { grid-template-columns: 1fr; }
  .galeri { grid-template-columns: 1fr; }
  .adim { grid-template-columns: 3rem 1fr; }
  .zaman > div { grid-template-columns: 4rem 1fr; }
}

/* =========================================================
   WHATSAPP DÜĞMESİ — sol altta sabit, tüm sayfalarda
   JS tarafından enjekte edilir. Numara tanımlı değilse
   hiç render edilmez (veri uydurma kuralı).
   ========================================================= */
.wa {
  position: fixed;
  left: clamp(1rem, 3vw, 1.75rem);
  bottom: clamp(1rem, 3vw, 1.75rem);
  z-index: 60;
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .75rem 1.15rem .75rem .9rem;
  background: var(--is); color: var(--beton);
  border: 2px solid var(--is);
  font-family: var(--govde); font-weight: 600; font-size: .95rem;
  text-decoration: none; line-height: 1;
  box-shadow: 0 2px 12px rgba(23, 25, 26, .22);
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.wa:hover { background: var(--beton); color: var(--is); }
.wa:active { transform: translateY(1px); }
.wa svg { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; fill: currentColor; }

/* Dar ekranda yalnızca simge — metin ekran okuyucuda kalır */
@media (max-width: 560px) {
  .wa { padding: .85rem; border-radius: 0; }
  .wa .yazi {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
}
@media print { .wa { display: none; } }


/* =========================================================
   HERO SLIDER — yalnızca ana sayfa
   Üç slayt, otomatik geçiş, durdurulabilir.
   prefers-reduced-motion açıksa otomatik geçiş hiç başlamaz.
   ========================================================= */
.slayt-alan {
  position: relative;
  background: var(--is);
  border-bottom: 1px solid var(--hat);
}
.slayt-pist {
  position: relative;
  min-height: clamp(26rem, 62vh, 38rem);
  display: grid;
}
.slayt {
  grid-area: 1 / 1;
  position: relative;
  display: grid;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility .6s;
}
.slayt[data-etkin="1"] { opacity: 1; visibility: visible; }

.slayt .zemin {
  position: absolute; inset: 0;
  background-color: #C9CDCF;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(23,25,26,.05) 14px 28px);
  background-size: auto;
}
.slayt .zemin img { width: 100%; height: 100%; object-fit: cover; }
/* Metnin okunması için koyu perde — görsel gelince de gerekli kalacak */
.slayt .perde {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(23,25,26,.92) 0%, rgba(23,25,26,.78) 48%, rgba(23,25,26,.35) 100%);
}
.slayt .icerik {
  position: relative;
  padding-block: clamp(3rem, 8vw, 5rem);
  color: var(--beton);
  max-width: 46rem;
}
.slayt .icerik .ust-baslik { color: var(--galvaniz); }
.slayt h1, .slayt .slayt-baslik {
  font-family: var(--display); font-weight: 700;
  font-size: clamp(2.1rem, 4.8vw, 3.5rem); line-height: 1.08;
  letter-spacing: -0.005em; text-wrap: balance;
  color: var(--beton); margin: 0;
}
.slayt .aciklama {
  color: var(--galvaniz);
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  max-width: 54ch; margin-top: 1.1rem;
}
.slayt .eylemler { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.slayt .eylemler .dugme { border-color: var(--beton); background: var(--beton); color: var(--is); }
.slayt .eylemler .dugme:hover { background: transparent; color: var(--beton); }
.slayt .eylemler .dugme--ikincil { background: transparent; color: var(--beton); }
.slayt .eylemler .dugme--ikincil:hover { background: var(--beton); color: var(--is); }
.slayt .isaret-blok { margin-top: 1.75rem; }
.slayt .isaret-blok .rakam { color: var(--beton); }
.slayt .isaret-blok .rakam .birim,
.slayt .isaret-blok .sonuc { color: var(--galvaniz); }
.slayt .dosya-notu {
  position: absolute; right: 1rem; bottom: 1rem;
  font-size: .72rem; color: rgba(237,235,231,.55);
  letter-spacing: .04em;
}

/* --- Kumanda --- */
.slayt-kumanda {
  position: relative;
  border-top: 1px solid var(--hat-koyu);
  background: var(--is);
}
.slayt-kumanda .kap {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding-block: .75rem; flex-wrap: wrap;
}
.slayt-noktalar { display: flex; gap: .5rem; align-items: center; }
.slayt-nokta {
  width: 2.25rem; height: .3rem; padding: 0;
  border: 0; background: var(--hat-koyu); cursor: pointer;
  transition: background .2s ease;
}
.slayt-nokta:hover { background: var(--galvaniz); }
/* Aktif nokta sarı DEĞİL — sarı yalnızca doğrulanabilir rakamla görünür. */
.slayt-nokta[aria-selected="true"] { background: var(--beton); }
.slayt-yon { display: flex; gap: .5rem; align-items: center; }
.slayt-dugme {
  background: transparent; border: 1px solid var(--hat-koyu);
  color: var(--beton); font: inherit; font-size: .85rem; font-weight: 600;
  padding: .5rem .85rem; cursor: pointer; line-height: 1;
  transition: background .15s ease, color .15s ease;
}
.slayt-dugme:hover { background: var(--beton); color: var(--is); border-color: var(--beton); }
.slayt-sayac {
  font-family: var(--display); font-weight: 700; font-size: .95rem;
  color: var(--galvaniz); font-variant-numeric: tabular-nums;
  min-width: 3.5rem;
}

@media (max-width: 760px) {
  .slayt .perde {
    background: linear-gradient(180deg, rgba(23,25,26,.72) 0%, rgba(23,25,26,.93) 55%);
  }
  .slayt-kumanda .kap { justify-content: space-between; }
}

/* Hareket azaltma: geçiş anında olur, otomatik döngü JS'te hiç başlamaz */
@media (prefers-reduced-motion: reduce) {
  .slayt { transition: none; }
}

/* Slayt içeriği ortak kapsayıcının içinde konumlanır */
.slayt > .kap { position: relative; width: 100%; }

/* Gerçek fotoğraflar — yer tutucularla aynı oranı korur, kayma yaratmaz */
figure.gorsel { margin: 0; }
.galeri img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  background: var(--galvaniz);
}

/* =========================================================
   FOTOĞRAFLI HİZMET KARTLARI
   Fotoğraf yarı saydam, metin üstünde okunur kalır.
   ========================================================= */
.kart--foto {
  position: relative;
  overflow: hidden;
  background: var(--is);
  border: 1px solid var(--hat-koyu);
  min-height: 20rem;
  padding: 0;
  text-decoration: none;
  color: var(--beton);
  display: block;
  transition: border-color .15s ease;
}
.kart--foto .kart-zemin {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: .28;                      /* fotoğraf %100 değil */
  transition: opacity .3s ease, transform .5s ease;
}
/* Düz perde — gradyan değil. Fotoğrafın parlak yerlerinde bile metin
   kontrastını AA'nın üstünde tutar (en kötü durumda 6.7:1). */
.kart--foto::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: rgba(23, 25, 26, .35);
}
.kart--foto:hover { border-color: var(--beton); }
.kart--foto:hover .kart-zemin { opacity: .42; transform: scale(1.03); }
.kart--foto .kart-icerik {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; gap: .75rem;
  height: 100%; min-height: inherit;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
}
.kart--foto h3 { color: var(--beton); }
.kart--foto p { color: #D2D6D8; font-size: .95rem; flex: 1; margin: 0; }

/* "Ayrıntı" — bağlantı değil, buton görünümlü etiket */
.git-dugme {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: .5rem;
  border: 2px solid currentColor;
  padding: .6rem 1.1rem;
  font-weight: 600; font-size: .9rem; line-height: 1;
  transition: background .15s ease, color .15s ease;
}
.git-dugme::after { content: "\2192"; font-size: 1.05em; line-height: 1; }
.kart--foto:hover .git-dugme,
.kart--foto:focus-visible .git-dugme { background: var(--beton); color: var(--is); }

/* =========================================================
   SÜREÇ — kaydırmayla ilerleyen adımlar
   ========================================================= */
.surec-izgara {
  display: grid;
  grid-template-columns: 17rem minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.surec-ray { position: sticky; top: 7rem; }
.surec-ray ol { display: grid; gap: .2rem; }
.surec-ray li {
  display: grid; grid-template-columns: 2.25rem 1fr; gap: .85rem;
  align-items: center;
  padding: .8rem .9rem;
  border-left: 3px solid transparent;
  color: var(--galvaniz);
  transition: color .3s ease, border-color .3s ease, background .3s ease;
}
.surec-ray li[data-etkin="1"] {
  color: var(--beton);
  border-left-color: var(--beton);
  background: #202426;
}
.surec-ray .ikon { width: 2.25rem; height: 2.25rem; }
.surec-ray .etiket { font-weight: 600; font-size: .95rem; }
.surec-ray .no {
  font-family: var(--display); font-weight: 700; font-size: .78rem;
  letter-spacing: .1em; display: block; opacity: .7;
}

.surec-adimlar { display: grid; }
.surec-adim {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  padding-block: clamp(2.5rem, 7vw, 4.5rem);
  border-top: 1px solid var(--hat-koyu);
  opacity: .4;
  transition: opacity .45s ease;
}
.surec-adim:first-child { border-top: 0; padding-top: 0; }
.surec-adim[data-etkin="1"] { opacity: 1; }
.surec-adim .no-buyuk {
  font-family: var(--display); font-weight: 700;
  font-size: clamp(2.5rem, 6vw, 3.75rem); line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--beton); display: block; margin-bottom: .5rem;
}
.surec-adim h3 { color: var(--beton); margin-bottom: .65rem; }
.surec-adim p { color: var(--galvaniz); max-width: 54ch; }
.surec-adim .ikon-buyuk {
  width: 2.75rem; height: 2.75rem; color: var(--beton);
  margin-bottom: 1.25rem; display: block;
}
.surec-adim figure { margin: 0; }
.surec-adim img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  background: var(--hat-koyu);
}

.ikon, .ikon-buyuk {
  fill: none; stroke: currentColor; stroke-width: 1.5;
  stroke-linecap: round; stroke-linejoin: round;
}

/* =========================================================
   FOOTER HARİTASI
   ========================================================= */
.alt-izgara { grid-template-columns: 1.25fr 1.15fr .85fr .85fr; }
.alt .harita-sarmal { aspect-ratio: 4 / 3; background: #202426; }
.alt .harita-cephe { background-color: #202426; background-size: 32px 32px; }
.alt .harita-cephe .baslik { font-size: 1.05rem; }
.alt .harita-cephe .sahte-dugme { padding: .55rem 1rem; font-size: .85rem; }
.alt .harita-cephe .not { display: none; }
.alt .harita-yol {
  display: inline-block; margin-top: .75rem;
  font-size: .85rem; font-weight: 600;
  border-bottom: 2px solid var(--beton); padding-bottom: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .surec-adim { opacity: 1; transition: none; }
  .kart--foto .kart-zemin { transition: none; }
}

@media (max-width: 1000px) {
  .surec-izgara { grid-template-columns: 1fr; }
  .surec-ray { position: static; margin-bottom: 1.5rem; }
  .surec-ray ol { grid-auto-flow: column; grid-auto-columns: 1fr; gap: .5rem; }
  .surec-ray li {
    grid-template-columns: 1fr; justify-items: center; text-align: center;
    border-left: 0; border-top: 3px solid transparent; padding: .75rem .35rem;
  }
  .surec-ray li[data-etkin="1"] { border-left-color: transparent; border-top-color: var(--beton); }
  .surec-ray .etiket { font-size: .8rem; }
  .alt-izgara { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .surec-adim { grid-template-columns: 1fr; }
  .surec-adim figure { order: -1; }
  .surec-ray .etiket { display: none; }
  .surec-ray li { padding: .6rem .25rem; }
}
@media (max-width: 560px) {
  .alt-izgara { grid-template-columns: 1fr; }
  .kart--foto { min-height: 17rem; }
}
