/* ==========================================================================
   osp-footer.css — platform iç sayfalarında ana sayfa alt bilgisi · kp33/R, 2026-10-27
   --------------------------------------------------------------------------
   İşaretleme tek kaynakta: application/views/frontend/inc/osp_footer.php
   (ana sayfa da onu include eder). Ana sayfada stil home_custom.php içindeki
   <style> bloğundan gelir; bu dosya YALNIZ iç sayfalarda (inc/home_footer.php)
   yüklenir ve o kuralların birebir karşılığıdır (home_custom.php satır 160-198,
   353-384, 414-432, 457-462).

   Kapsam: bütün seçiciler `footer.osp-site-footer` altında. Sınıf yalnız iç
   sayfa çıktısında basılıyor; ana sayfanın <footer>'ı sınıfsız ve bu dosya
   orada yüklenmiyor.

   Renkler: ana sayfanın değişken adları (--line, --muted, --text ...) alt bilgi
   kapsamında osp-theme.css token'larına bağlanır; koyu tema eşlemesi oradan
   gelir (home_custom.php'deki body.theme-dark bloğu da aynı değerleri kullanır).
   --brand: ana sayfada panel rengi (settings.site_color, canlıda #01a0ff;
   alt bilgi zemininde ~2,7:1). İç sayfada --osp-brand-600 (5,4:1) — tek fark bu.

   Özgüllük: (0,1,1)+ — vendor `footer`, `h4`, `p`, `a`; osp-theme `body a`
   (0,0,2) ve `body a:hover` (0,1,2) geçilir. !important yok.
   ========================================================================== */

footer.osp-site-footer {
  --bg-soft: var(--osp-bg-soft);
  --card: var(--osp-surface);
  --card-2: var(--osp-surface-2);
  --line: var(--osp-line);
  --text: var(--osp-ink);
  --muted: var(--osp-muted);
  --brand: var(--osp-brand-600);
  --maxw: 1160px;

  margin: 0; /* ana sayfada 88px; iç sayfalarda üstteki bölümün kendi alt boşluğu yeter */
  padding: 60px 0 30px;
  border-top: 1px solid var(--line);
  background: var(--bg-soft);
  color: var(--text);
  font-family: var(--osp-font);
  font-size: 1rem;
  line-height: var(--osp-lh);
  text-align: start;
  -webkit-font-smoothing: antialiased;
}

/* Ana sayfa koyu temada gövde satır aralığını 1,72'ye açıyor (--lh). */
body.theme-dark footer.osp-site-footer {
  line-height: 1.72;
}

/* Ana sayfanın `*{margin:0;padding:0;box-sizing:border-box}` sıfırlaması —
   yalnız alt bilgi içinde. */
footer.osp-site-footer *,
footer.osp-site-footer *::before,
footer.osp-site-footer *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

footer.osp-site-footer a {
  color: inherit;
  text-decoration: none;
}

footer.osp-site-footer .wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px;
}

footer.osp-site-footer .foot-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin-bottom: 44px;
}

footer.osp-site-footer .foot-grid > * {
  min-width: 0;
}

/* ------------------------------------------------------------- marka --- */
footer.osp-site-footer .logo {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.3px;
}

footer.osp-site-footer .logo span {
  white-space: nowrap;
}

footer.osp-site-footer .logo .mark {
  display: grid;
  flex: none;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 0;
  background: none;
  box-shadow: none;
  object-fit: contain;
}

footer.osp-site-footer .foot-brand p {
  max-width: 280px;
  margin: 16px 0 20px;
  color: var(--muted);
  font-size: 14.5px;
}

footer.osp-site-footer .socials {
  display: flex;
  gap: 12px;
}

footer.osp-site-footer .socials a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--card);
  transition: transform .25s, background .25s;
}

footer.osp-site-footer .socials a:hover {
  transform: translateY(-3px);
  background: var(--card-2);
}

footer.osp-site-footer .socials svg {
  fill: var(--muted);
}

footer.osp-site-footer .socials a:hover svg {
  fill: var(--text);
}

/* ------------------------------------------------------------ sütunlar --- */
footer.osp-site-footer .foot-col h4 {
  margin-bottom: 18px;
  color: var(--text);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: inherit;
  letter-spacing: .5px;
  text-transform: uppercase;
}

footer.osp-site-footer .foot-col a {
  display: block;
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 14.5px;
  transition: color .2s;
}

footer.osp-site-footer .foot-col a:hover,
footer.osp-site-footer .foot-col a:focus {
  color: var(--text);
}

footer.osp-site-footer .foot-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
}

/* ---------------------------------------------------------- kırılımlar --- */
@media (max-width: 1100px) {
  footer.osp-site-footer .logo {
    font-size: 17px;
  }

  footer.osp-site-footer .logo .mark {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 960px) {
  footer.osp-site-footer .foot-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
}

@media (max-width: 640px) {
  footer.osp-site-footer .wrap {
    padding: 0 18px;
  }
}

@media (max-width: 400px) {
  footer.osp-site-footer .logo {
    gap: 8px;
    font-size: 15px;
  }

  footer.osp-site-footer .logo .mark {
    width: 30px;
    height: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  footer.osp-site-footer .socials a,
  footer.osp-site-footer .foot-col a {
    transition: none;
  }
}

/* kp33/V (2026-10-27): ESKI TARAYICI YEDEKLERI -- Edge 16 / Safari-iOS 12 / Chrome 58 / Firefox 60.
   Her kural "@supports not (...)" icinde: yalniz o ozelligi BILMEYEN tarayicida calisir, modern tarayicida hic uygulanmaz.
   flex gap tespit edilemedigi icin vekil kosul "inset" (Chrome 87 / Safari 14.1 / Firefox 66; flex gap'ten once ya da ayni surumde gelir).
   Uretici: deliverables/kolay-paket-33-2026-10-27/V-eski-tarayici/arac/legacygen.cjs (+ elle eklenenler). Geri almak: bu blogu sil. */
/* flex gap -> cocuk margin; grid gap -> grid-*-gap */
@supports not (inset: 0) { /* kp33/V */
  footer.osp-site-footer .foot-grid { grid-row-gap: 32px; grid-column-gap: 32px; } /* kp33/V */
  @media (max-width: 960px) { /* kp33/V */
    footer.osp-site-footer .foot-grid { grid-row-gap: 26px; grid-column-gap: 26px; } /* kp33/V */
  } /* kp33/V */
  footer.osp-site-footer .logo > * + *:not(#kp33v) { margin-left: 10px; } /* kp33/V */
  @media (max-width: 400px) { /* kp33/V */
    footer.osp-site-footer .logo > * + *:not(#kp33v) { margin-left: 8px; } /* kp33/V */
  } /* kp33/V */
  footer.osp-site-footer .socials > * + *:not(#kp33v) { margin-left: 12px; } /* kp33/V */
  footer.osp-site-footer .foot-bottom > *:not(#kp33v) { margin-right: 12px; margin-bottom: 12px; } /* kp33/V */
  footer.osp-site-footer .foot-bottom > :last-child:not(#kp33v) { margin-right: 0; } /* kp33/V */
} /* kp33/V */
/* place-* -> align-* + justify-* */
@supports not (place-items: center) { /* kp33/V */
  footer.osp-site-footer .logo .mark { align-items: center; justify-items: center; } /* kp33/V */
  footer.osp-site-footer .socials a { align-items: center; justify-items: center; } /* kp33/V */
} /* kp33/V */
/* kp33/V son */
