/* ============================================================
   KSK GRUP — kurumsal rafine katmanı
   Tüm sayfalarda sayfa CSS'inden SONRA yüklenir.
   Yapıyı, içeriği ve renk paletini değiştirmez; yalnızca
   tipografi ölçeğini, grid genişliğini, kart/form/buton
   dilini ve efekt yoğunluğunu tek standarda oturtur.
   ============================================================ */

/* --- 1. GRID: tüm sayfalarda tek içerik genişliği --------- */
[style*="max-width:1400px"] { max-width: 1280px !important; }
[style*="max-width:1180px"] { max-width: 1280px !important; }

/* --- 2. TİPOGRAFİ: tek hiyerarşi -------------------------- */
h1 { letter-spacing: -.035em !important; }
h2 { letter-spacing: -.03em !important; }
h3 { letter-spacing: -.022em !important; }
h1, h2, h3 { text-wrap: balance; }

/* uzun metinlerde okunabilirlik */
p { line-height: 1.68 !important; text-wrap: pretty; }
html[dir="rtl"] p { line-height: 1.85 !important; }

/* küçük uppercase etiket sistemi — her sayfada aynı */
[style*="letter-spacing:.28em"],
[style*="letter-spacing:.24em"],
[style*="letter-spacing:.22em"] { letter-spacing: .22em !important; }

/* --- 3. GİRİŞ ANİMASYONU: daha ölçülü -------------------- */
.rv { transform: translateY(16px) !important;
      transition: opacity .7s cubic-bezier(.22,.61,.36,1),
                  transform .7s cubic-bezier(.22,.61,.36,1) !important; }
.rv.in { transform: none !important; }

/* --- 4. KARTLAR: cam/parlaklık azaltıldı ----------------- */
.q-card, .car-card {
  border-radius: 20px !important;
  background: linear-gradient(165deg, rgba(30,91,214,.14) 0%, rgba(11,31,74,.58) 45%, rgba(8,23,55,.72) 100%) !important;
  backdrop-filter: blur(12px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 32px 70px -44px rgba(0,0,0,.7) !important;
}
.appr { border-radius: 20px !important;
        box-shadow: 0 30px 70px -46px rgba(0,0,0,.6) !important; }
.adv-card, .ref-cell, .svc-card, .news-card {
  border-radius: 18px !important;
}
.svc-card { box-shadow: 0 22px 54px -38px rgba(11,31,74,.5) !important; }

/* --- 5. FORM ALANLARI: sade, temiz, tek sistem ----------- */
.fld {
  border-radius: 12px !important;
  padding: 17px 19px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  transition: border-color .25s, background .25s !important;
}
.fld:hover { border-color: rgba(255,255,255,.32) !important; }
.fld:focus { border-color: #3B7BEE !important;
             background: rgba(255,255,255,.09) !important;
             box-shadow: 0 0 0 3px rgba(59,123,238,.18) !important; }
.fld.err { border-color: #FF8A80 !important;
           box-shadow: 0 0 0 3px rgba(255,138,128,.14) !important; }
textarea.fld { min-height: 132px !important; line-height: 1.6 !important; }

/* --- 6. BUTONLAR: tek dil, ölçülü hover ------------------ */
button, a[style*="border-radius:999px"], .q-submit, .car-submit {
  transition: background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
.q-submit, .car-submit {
  padding: 18px 34px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  box-shadow: 0 14px 34px -18px rgba(30,91,214,.8) !important;
}
/* kurumsal duruş: hover'da yer değiştirme yok */
.q-submit:hover, .car-submit:hover, .adv-card:hover, .news-card:hover {
  transform: none !important;
}
.q-submit:hover, .car-submit:hover { background: #2A68E6 !important;
  box-shadow: 0 18px 40px -18px rgba(30,91,214,.9) !important; }

/* --- 7. HEADER: daha temiz, hizalı ---------------------- */
header .nav-links a { letter-spacing: .01em !important; }
header img { image-rendering: auto; }

/* --- 8. FOOTER: tutarlı sütun ritmi -------------------- */
.foot-grid { gap: 44px 40px !important; }
.foot-grid a { transition: color .25s ease !important; }

/* --- 9. RESPONSIVE: ortak kırılımlar ------------------- */
@media (max-width: 1150px) {
  [style*="max-width:1400px"], [style*="max-width:1180px"] { max-width: 100% !important; }
}
@media (max-width: 820px) {
  h1 { letter-spacing: -.028em !important; }
  .q-card, .car-card { padding: 28px 22px !important; border-radius: 18px !important; }
  .fld { padding: 15px 16px !important; }
  .q-submit, .car-submit { width: 100% !important; justify-content: center !important; }
}

/* --- 10. Hareket azaltma tercihi ----------------------- */
@media (prefers-reduced-motion: reduce) {
  .rv { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* --- 11. Sayfa başlığı (H1) sistemi: alt sayfa hero başlıkları tek ölçek --- */
section#top h1:not(.hero-h), section#form h1 {
  font-size: clamp(40px, 5vw, 76px) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
}

section#top .mv-pair h1 { font-size: clamp(30px, 3.4vw, 52px) !important; line-height: 1 !important; }

/* --- 12. Header: mobilde tüm öğeler ekrana sığsın --- */
@media (max-width: 600px) {
  header .sec-pad { padding-inline: 20px !important; gap: 12px !important; }
  header .sec-pad > a:first-child img { height: 44px !important; }
  header .sec-pad > div:last-child { gap: 8px !important; }
  header .nav-burger button { padding: 0 8px !important; height: 38px !important; }
  header button.nav-burger { width: 40px !important; height: 40px !important; }
  header .iskur-hdr { margin-inline-start: 0 !important; }
  header .iskur-hdr img { width: 32px !important; height: 32px !important; }
}

/* --- 13. ORTAK GRID: tüm sayfalarda metin sol hizası header logosuyla aynı çizgide --- */
/* border-box konteynerler: iç padding dahil 1376px → içerik header ile aynı hizadan başlar */
[style*="max-width:1400px"][style*="box-sizing:border-box"] { max-width: 1376px !important; }
/* dar okuma sütunları ortalanmaz; grid'in sol çizgisine yaslanır */
section.sec-pad > div[style*="max-width:860px"][style*="margin:0 auto"] {
  margin-inline: max(0px, calc((100% - 1280px) / 2)) auto !important;
}
section > div[style*="max-width:900px"][style*="margin:0 auto;padding:0 48px"] {
  margin-inline: max(0px, calc((100% - 1376px) / 2)) auto !important;
}

/* mobilde tüm sayfalar aynı 20px yan boşluk */
@media (max-width: 600px) {
  section.sec-pad, footer.sec-pad { padding-left: 20px !important; padding-right: 20px !important; }
}

/* --- 14. BAŞLIK TİPOGRAFİSİ: tek sistem --- */
/* büyük harfli display (hero): hafif negatif, iki satır aynı aralık */
h1.hero-h, h1.hero-h * { letter-spacing: -.02em !important; }
h1.hero-h { line-height: 1.04 !important; font-weight: 700 !important; }
h1.hero-h > span:not([aria-hidden]) { font-weight: 400 !important; }
/* Poppins geniş bir font: display başlıklarda ağırlık 800 → 700 */
h1, h2 { font-weight: 700; }
h1[style*="font-weight:800"], h2[style*="font-weight:800"] { font-weight: 700 !important; }
h1 span[style*="font-weight:300"], h2 span[style*="font-weight:300"] { font-weight: 400 !important; }
/* karışık harfli display başlıklar */
h1:not(.hero-h) { letter-spacing: -.034em !important; line-height: 1.03 !important; }
h2 { letter-spacing: -.028em !important; line-height: 1.06 !important; }
h1 span, h2 span { letter-spacing: inherit !important; }
/* ince (300) satırlar optik olarak daha açık görünür; hafif sıkılaştır */

@media (max-width: 820px) {
  h1:not(.hero-h) { letter-spacing: -.028em !important; }
  h2 { letter-spacing: -.024em !important; }
}
/* dekoratif nokta: gerçek daire; RTL'de gizli (önceki davranış) */
.h-dot { border-radius: 50% !important; aspect-ratio: 1 / 1; }
html[dir="rtl"] .h-dot { display: none !important; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h1 *, html[dir="rtl"] h2 * { letter-spacing: 0 !important; }

/* --- 14. MOBİL: içindekiler / yan menü bağlantıları en az 44px dokunma alanı --- */
@media (max-width: 900px) {
  section a[style*="padding:8px 0"],
  section a[style*="padding:9px 0"],
  section a[style*="padding:10px 0"] { min-height: 44px !important; box-sizing: border-box; align-items: center; }
}
