/* ═══ Site footer (tüm sayfalar) ═════════════════════════════════════════════════════
   Referans: aifusionx.vamtam.com "#main-footer" — ölçüler: docs/research/aifusionx-footer.spec.md.
   Açık zemin → vurgu tonu geçişi, sol altta (masaüstünde ekrana sabit) dekor görseli, üstünde "sıvı cam" panel.
   Font ve renkler SİSTEMDEN (header-hero.css --hx-* ← Ayarlar → Görünüm); burada font adı / marka rengi
   yazılmaz — bekçi: HeaderHeroGorunumTests. Kırılımlar: tablet ≤1024px, mobil ≤767px.
   ═════════════════════════════════════════════════════════════════════════════════ */

.ft {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px 25px 25px;
    border: 0;
    background: linear-gradient(180deg, var(--hx-zemin) 0%, color-mix(in srgb, var(--hx-vurgu) 35%, var(--hx-zemin)) 100%);
    font-family: var(--hx-font);
    font-size: 16px;
    line-height: 1.4;
    color: var(--hx-metin);
}
/* Dekor görseli: kapsayıcı kırpar (clip-path), görsel masaüstünde görünüm alanının sol altına sabit */
.ft-zemin { position: absolute; inset: 0; clip-path: inset(0); pointer-events: none; }
.ft-zemin picture { display: block; }
.ft-zemin-resim { position: fixed; left: 0; bottom: 0; display: block; width: 45vw; height: auto; }

/* Cam panel (filtre: Header.cshtml #hx-lg-fx3) */
.ft-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding: 60px 30px 55px;
    border-radius: 20px;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    backdrop-filter: blur(5px) url(#hx-lg-fx3);
}
.ft-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--hx-yuzey);
    opacity: .6;
    pointer-events: none;
}
.ft-ust,
.ft-alt { width: 100%; max-width: 1600px; margin: 0 auto; }
.ft-ust { display: flex; flex-direction: column; gap: 10px 20px; margin-bottom: 50px; }
.ft-logo,
.ft-logo:hover { align-self: flex-start; display: inline-flex; margin-bottom: 50px; color: var(--hx-metin); text-decoration: none; }
.ft-logo-img { display: block; width: auto; max-width: 125px; height: auto; max-height: 40px; }
.ft-logo-metin { font-family: var(--hx-font-baslik); font-size: 20px; font-weight: 600; letter-spacing: -.02em; }

.ft-satir { display: flex; justify-content: space-between; gap: 10px 20px; }
.ft-sol { display: flex; flex-direction: column; justify-content: space-between; gap: 10px 20px; width: clamp(30%, 375px, 33%); }
.ft-sag { display: flex; flex-direction: column; gap: 10px 20px; width: clamp(30%, 815px, 66.6666%); padding-top: 60px; }

/* Sol: büyük başlık + iletişim butonu, altta telefon / e-posta */
.ft-baslik-grup { display: flex; flex-direction: column; gap: 10px 20px; margin-bottom: 40px; }
.ft .ft-baslik {
    margin: 0 0 20px;
    font-family: var(--hx-font-baslik);
    font-size: 74px;
    line-height: 1.1;
    font-weight: 500;
    letter-spacing: -3px;
    color: var(--hx-metin);
}
.ft-iletisim { display: flex; flex-direction: column; gap: 20px; margin: 0; padding: 0; list-style: none; }
.ft .ft-iletisim a {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 100%;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--hx-metin);
    text-decoration: none;
    transition: color .3s;
}
.ft .ft-iletisim a:hover,
.ft .ft-iletisim a:focus-visible { color: var(--hx-vurgu); }
.ft-ikon { display: inline-flex; flex: none; align-items: center; width: 30px; }
.ft-ikon svg { display: block; width: 24px; height: 24px; }
.ft-ikon-eposta svg { width: 18px; height: 18px; }

/* Sağ: bülten + sosyal, link sütunları */
.ft .ft-bulten-baslik {
    margin: 0 0 10px;
    font-family: var(--hx-font-baslik);
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--hx-metin);
}
.ft-bulten-satir { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px 20px; margin-bottom: 50px; }
.ft-bulten { flex: 1 1 auto; min-width: 0; margin-right: 20px; }
.ft-form { position: relative; display: flex; flex-wrap: wrap; gap: 10px; }
.ft-girdi {
    flex: 0 0 calc(70% - 5px);
    min-width: 0;
    height: 47px;
    padding: 6px 16px;
    border: 1px solid color-mix(in srgb, var(--hx-metin) 10%, transparent);
    border-radius: 30px;
    background: var(--hx-yuzey);
    color: var(--hx-metin);
    caret-color: var(--hx-metin);
    font-family: var(--hx-font);
    font-size: 16px;
    line-height: 22.4px;
    transition: color .3s, border .3s, background .3s;
}
.ft-girdi::placeholder { color: var(--hx-metin); opacity: .6; }
.ft-girdi:hover { border-color: var(--hx-metin); }
.ft-girdi:focus { border-color: var(--hx-metin); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hx-metin) 10%, transparent); outline: 0; }
.ft-girdi:focus-visible { outline: 2px solid var(--hx-vurgu); outline-offset: 2px; }
.hx-btn.ft-gonder,
.hx-btn.ft-gonder:hover { flex: 0 0 calc(30% - 5px); min-height: 47px; padding: 14px 25px; cursor: pointer; }
.hx-btn.ft-gonder:disabled { opacity: .6; cursor: progress; }
.ft-turnstile { flex-basis: 100%; }
.ft-sonuc { margin-top: 8px; font-size: 14px; }
.ft-sosyal {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: 36px;
    column-gap: 8px;
    margin: 5px 0 0 -10px;
    padding: 0;
    list-style: none;
}
.ft .ft-sosyal-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 100%;
    background: var(--hx-metin);
    color: var(--hx-zemin);
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
    transition: background-color .3s, color .3s, opacity .3s;
    position: relative;
}
/* Dokunma alanı 44px (görünen daire 36px kalır; aradaki 8px boşlukla alanlar çakışmaz) */
.ft .ft-sosyal-btn::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; }
.ft .ft-sosyal-btn:hover,
.ft .ft-sosyal-btn:focus-visible { background: var(--hx-vurgu); color: var(--hx-vurgu-metin); opacity: .9; animation: ft-nabiz .3s linear infinite alternate; }
@keyframes ft-nabiz { to { transform: scale(1.1); } }

.ft-sutunlar { display: flex; justify-content: space-between; gap: 10px 20px; }
.ft-sutun { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; gap: 10px 20px; }
.ft .ft-sutun-baslik {
    margin: 0 0 5px;
    font-family: var(--hx-font);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--hx-metin) 60%, transparent);
}
.ft-sutun ul { margin: 0; padding: 0; list-style: none; }
/* Sütun başlığı düğmesi: masaüstünde düz başlık (disabled), mobilde akordeon — js/header-hero.js footerAkordeon */
.ft-sutun-ac,
.ft-sutun-ac:disabled {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    text-align: left;
    color: inherit;
    cursor: pointer;
}
.ft-sutun-ac:disabled { cursor: default; }
.ft-sutun-ac svg { display: none; flex: none; width: 15px; height: 15px; transition: transform .25s ease; }
.ft .ft-sutun a {
    display: flex;
    align-items: center;
    padding: 8px 0;
    font-size: 15px;
    line-height: 1.1;
    font-weight: 500;
    color: var(--hx-metin);
    text-decoration: none;
    transition: color .4s ease;
}
.ft .ft-sutun a:hover,
.ft .ft-sutun a:focus-visible { color: var(--hx-vurgu); }

/* Alt satır: telif + yasal linkler (eşit hücrelere yayılmış) */
.ft-alt {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 20px;
    padding-top: 40px;
    border-top: 1px solid color-mix(in srgb, var(--hx-metin) 10%, transparent);
}
.ft .ft-telif { margin: 0; padding-top: 6px; font-size: 14px; line-height: 1.4; color: var(--hx-metin); }
/* Az link: telifin yanında kalan alana yayılır; çok link: kendi satırına iner ve içeride sarar */
.ft-yasal { display: flex; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; list-style: none; }
.ft-yasal li { display: flex; flex-grow: 1; }
.ft .ft-yasal a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 15px;
    padding: 6px 0;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.4;
    color: var(--hx-metin);
    text-decoration: none;
    transition: color .4s ease;
}
.ft .ft-yasal li:first-child a { margin-left: 0; }
.ft .ft-yasal li:last-child a { margin-right: 0; }
.ft .ft-yasal a:hover,
.ft .ft-yasal a:focus-visible { color: var(--hx-vurgu); }

@media (prefers-reduced-motion: reduce) {
    .ft .ft-sosyal-btn:hover,
    .ft .ft-sosyal-btn:focus-visible { animation: none; }
    .ft-sutun-liste,
    .ft-sutun-ac svg { transition: none; }
}

@media (max-width: 1024px) {
    .ft { padding: 20px; }
    .ft-zemin-resim { position: absolute; width: 70vw; }
    .ft-panel { padding: 40px 20px 30px; }
    .ft-ust { margin-bottom: 40px; }
    .ft-logo { margin-bottom: 30px; }
    .ft-logo-img { max-width: 120px; }
    .ft-satir { flex-direction: column; }
    .ft-sol { flex-direction: row; width: 100%; margin-bottom: 20px; }
    .ft-baslik-grup { width: 50%; margin-bottom: 0; }
    .ft-iletisim { width: 50%; justify-content: center; gap: 10px; }
    .ft .ft-baslik { margin-bottom: 10px; font-size: 45px; letter-spacing: -2.5px; }
    .ft .ft-iletisim a { font-size: 20px; }
    .ft-ikon svg { width: 22px; height: 22px; }
    .ft-ikon-eposta svg { width: 15px; height: 15px; }
    .ft-sag { width: 100%; padding-top: 0; }
    .ft .ft-bulten-baslik { margin-bottom: 5px; font-size: 18px; }
    .ft-bulten-satir { flex-direction: column; align-items: flex-start; margin-bottom: 25px; }
    .ft-bulten { flex: none; width: 65%; margin: 0 0 10px; }
    .hx-btn.ft-gonder,
    .hx-btn.ft-gonder:hover { font-size: 14px; line-height: 15.4px; }
    .ft-sosyal { margin: 0; }
    .ft .ft-sutun-baslik { margin-bottom: 0; }
    .ft-alt { padding-top: 30px; }
    .ft .ft-telif { flex: 1 0 47%; }
    .ft-yasal { flex: 1 0 45%; }
    .ft .ft-yasal a { margin: 0 10px; }
}
@media (max-width: 767px) {
    .ft { line-height: 1.5; }
    .ft-ust { margin-bottom: 30px; }
    .ft-sol { flex-direction: column; margin-bottom: 25px; }
    .ft-baslik-grup { width: 100%; margin-bottom: 20px; }
    .ft-iletisim { width: 100%; }
    .ft .ft-baslik { font-size: 30px; letter-spacing: -1.5px; }
    .ft .ft-iletisim a { font-size: 18px; }
    .ft .ft-bulten-baslik { font-size: 17px; }
    .ft-bulten { width: 100%; margin-bottom: 20px; }
    .ft-form { flex-direction: column; align-items: flex-start; }
    .ft-girdi { flex: none; width: 100%; }
    .hx-btn.ft-gonder,
    .hx-btn.ft-gonder:hover { flex: none; padding: 13px 20px; }
    .ft-bulten-satir { margin-bottom: 30px; }
    /* Link sütunları akordeon: başlık satırı 48px dokunma alanı, ince ayraçlar, varsayılan kapalı */
    .ft-sutunlar { flex-direction: column; gap: 0; }
    .ft-sutun { flex: none; gap: 0; margin: 0; border-top: 1px solid color-mix(in srgb, var(--hx-metin) 10%, transparent); }
    .ft-sutun:last-child { margin: 0; } /* alt ayraç: hemen altındaki .ft-alt çizgisi (çift çizgi olmasın) */
    .ft .ft-sutun-baslik { margin: 0; font-size: 13px; }
    .ft-sutun-ac { min-height: 48px; }
    .ft-sutun-ac svg { display: block; }
    .ft-sutun-ac[aria-expanded="true"] svg { transform: rotate(180deg); }
    .ft-sutun-liste { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .25s ease, visibility .25s; }
    .ft-sutun.kapali .ft-sutun-liste { grid-template-rows: 0fr; visibility: hidden; }
    .ft-sutun-liste > ul { min-height: 0; overflow: hidden; }
    .ft-sutun-liste li:last-child a { padding-bottom: 16px; }
    .ft .ft-sutun a { min-height: 40px; line-height: 1.3; }
    .ft-alt { flex-direction: column; }
    .ft-yasal { flex: none; width: 100%; }
    .ft-yasal li { flex-grow: 0; }
    .ft .ft-yasal a { margin: 0 7.5px; }
    .ft .ft-telif { order: 1; flex: none; width: 100%; padding-top: 0; }
}
