/* ============================================================================
   LEGAL SAYFALARI — ORTAK STIL
   ============================================================================
   Sekiz statik sayfanin tek stil kaynagi:
     legal.html · privacy-policy.html · cookie-policy.html
     terms-and-conditions.html · acceptable-use-policy.html
     shared-link-terms.html · information-security.html
     accessibility-statement.html

   NEDEN AYRI BIR DOSYA VE NEDEN tokens.css DEGIL:
   Bu sayfalar uygulamanin KOYU temasina ait degil — acik zeminli, yazdirilabilir
   hukuki metinlerdir ve uygulamadan bagimsiz okunurlar (bir paylasim linkinin
   alicisi portalin arayuzunu hic gormeden buraya gelebilir). css/tokens.css
   uygulamanin koyu paletini tasiyor; buraya bagimli olmak, uygulama temasinda
   yapilan bir degisiklikte hukuki metnin okunmaz hale gelmesi demekti.
   Palet, 2026-08-23'te yazilan terms-and-conditions.html'in paletidir.

   STATIK .html SERVIS EDILIYOR — PHP'DEN GECMIYOR. Yani:
     - sendPageSecurityHeaders() CALISMAZ; CSP nginx'ten gelir ve daha dardir:
       script-src 'self' (nonce YOK) · connect-src 'none' · form-action 'none'
     - Yani bu sayfalarda satir ici <script> CALISMAZ, form KULLANILAMAZ,
       fetch/XHR YAPILAMAZ. Davranis js/legal.js'te.
     - assetUrl() da yok, yani '?v=' damgasi basilamaz. nginx'teki
       map $arg_v $oz_asset_cache kurali damgasiz istegi 'no-cache'e dusurur —
       guvenli yon (bkz. docs/ANALYSIS.md -> YAP-3). Bu dosya her istekte
       304'lenir, bayat kalmaz.
   ============================================================================ */

/* ── ACIK ZEMIN PALETI (TOK-1 · CON-1, 2026-09-09) ─────────────────────────
   Bu blok 2026-09-09'a kadar YOKTU: renkler dosyanin icine tek tek elle
   yazilmisti ve hangisinin ne kadar kontrast verdigini soyleyen hicbir sey
   yoktu. Sonucu olculdu — BES yerde AA ihlali, hepsi halka acik sayfalarda:

     .updated (yururluk tarihi)     #999 / #fff    2.85:1   <- 4.5 gerekiyordu
     .legal-nav-title               #999 / #fff    2.85:1
     .legal-nav .current            #999 / #fff    2.85:1   <- "buradasin" isareti
     footer                         #999 / #f1f1f1 2.52:1
     .doc-card-desc                 #777 / #fff    4.48:1   <- kil payi

   TOKEN'LAR NEDEN tokens.css'TE DEGIL: bu sekiz sayfa tokens.css'i YUKLEMIYOR
   (olculdu; <link>'leri yalnizca vendor/fonts/fonts.css + bu dosya) ve bu
   bilincli — yukaridaki "NEDEN AYRI BIR DOSYA" gerekcesine bakin. Oraya
   yazilan bir palet, yuklenmeyen bir dosyada duran olu kod olurdu; buradaki
   her var(--…) da tanimsiz kalip SEKIZ SAYFAYI RENKSIZ birakirdi.
   tokens.css bu bloga isaret eden bir not tasiyor; ikisi birlikte okunmali.

   KURAL: --ink-muted EN SOLUK IZIN VERILEN metin rengidir. Altina inmeyin.
   #999 tam olarak boyle girdi ve sekiz sayfada canliya cikti.
   Yeni bir renk eklemeden once orani hesaplayin; zeminler #fff ve #f1f1f1.

   ZEMIN ADLARI --paper-*, --surface-* DEGIL — ve bu bilincli (TOK-2):
   css/status.css:1191 `background: var(--surface, #181818)` yaziyor, yani
   KOYU bir fallback'le ayni adi kullaniyor. --surface global olarak
   tanimlandigi an satir detay panelinin zemini sessizce ACIK renge donerdi.
   Bu dosya index.php'de yuklenmiyor, yani bugun catismaz; ama ayni adi iki
   anlamda birakmak, birinin bir gun otekini bulmasi demektir. */
:root {
    --ink:            #333333;          /* 12.63:1 / 11.19:1 — baslik */
    --ink-body:       #555555;          /*  7.46:1 /  6.60:1 — okuma metni */
    --ink-muted:      #6b6b6b;          /*  5.33:1 /  4.72:1 — ustveri, EN SOLUK */
    --ink-brand:      rgb(66, 74, 61);  /*  9.22:1 /  8.65:1 — baslik, baglanti */
    --white:          #ffffff;          /* marka zemini uzerindeki metin */
    --paper:          #f1f1f1;          /* sayfa zemini */
    --paper-raised:   #ffffff;          /* kart */
    --paper-sunken:   #f7f8f5;          /* tablo basligi, alinti */
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Montserrat, 'Segoe UI', sans-serif;
    font-size: 14px;
    line-height: 1.7;
}

/* ── Ust bant ─────────────────────────────────────────────────────────── */

header {
    background: var(--ink-brand);
    padding: 28px 24px;
    text-align: center;
}

header img { height: 34px; }

main {
    max-width: 820px;
    margin: 0 auto;
    padding: 40px 24px 72px 24px;
}

.card {
    background: var(--paper-raised);
    border-radius: 10px;
    padding: 44px 48px;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
}

/* ── Basliklar ────────────────────────────────────────────────────────── */

h1 {
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-size: 30px;
    font-weight: 700;
    color: var(--ink-brand);
    margin: 0 0 6px 0;
}

.updated {
    font-size: 12px;
    color: var(--ink-muted);
    margin: 0 0 10px 0;
}

/* Sayfanin ne oldugunu bir cumlede soyleyen giris. Hukuki metinlerde
   "bu belge beni baglar mi" sorusunun cevabi ilk ekranda olmali. */
.lead {
    font-size: 15px;
    color: #444;
    background: var(--paper-sunken);
    border-left: 3px solid var(--ink-brand);
    padding: 14px 18px;
    border-radius: 0 6px 6px 0;
    margin: 0 0 34px 0;
}

h2 {
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--ink-brand);
    margin: 34px 0 10px 0;
    /* Icindekiler'den atlandiginda baslik ust bandin altinda kalmasin */
    scroll-margin-top: 20px;
}

h3 {
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #3d4437;
    margin: 22px 0 8px 0;
}

p, li { color: var(--ink-body); }
ul, ol { padding-left: 20px; margin: 10px 0; }
li { margin-bottom: 6px; }

strong { color: #3d4437; }

a { color: var(--ink-brand); }
a:hover { color: #2b3128; }

/* Odak halkasi — klavye kullanicisi icin. Uygulamanin main.css'indeki
   kuralin bu sayfalardaki karsiligi (bkz. docs/APP.md -> ODAK GOSTERGESI). */
a:focus-visible,
button:focus-visible,
/* KBD-1 (2026-09-09): js/legal.js genis tablolarin kabina tabindex="0"
   veriyor ki klavyeyle kaydirilabilsinler. Odak alabilen her sey GORUNUR
   bir halka gostermek zorunda (SC 2.4.7) — bu satir olmadan KBD-1'in
   duzeltmesi, odagin nerede oldugu bilinmeyen bir durak yaratirdi. */
.table-wrap:focus-visible {
    outline: 2px solid var(--ink-brand);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Icindekiler ──────────────────────────────────────────────────────── */

.toc {
    background: var(--paper-sunken);
    border: 1px solid #e6e8e2;
    border-radius: 8px;
    padding: 18px 22px;
    margin: 0 0 34px 0;
}

.toc-title {
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ink-brand);
    margin: 0 0 10px 0;
}

.toc ol {
    margin: 0;
    padding-left: 18px;
    columns: 2;
    column-gap: 28px;
}

.toc li { margin-bottom: 4px; font-size: 13px; }
.toc a { text-decoration: none; }
.toc a:hover { text-decoration: underline; }

/* ── Tablolar ─────────────────────────────────────────────────────────── */

/* Genis tablo KENDI kutusunda kayar; sayfa govdesi yatay kaymaz. */
.table-wrap {
    overflow-x: auto;
    margin: 14px 0;
    -webkit-overflow-scrolling: touch;
}

table {
    border-collapse: collapse;
    width: 100%;
    min-width: 520px;
    font-size: 13px;
}

th, td {
    text-align: left;
    padding: 9px 12px;
    border-bottom: 1px solid #e6e8e2;
    vertical-align: top;
    color: var(--ink-body);
}

th {
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-weight: 600;
    color: var(--ink-brand);
    background: var(--paper-sunken);
    white-space: nowrap;
}

tbody tr:last-child td { border-bottom: none; }

/* ── Vurgu kutulari ───────────────────────────────────────────────────── */

.note {
    background: var(--paper-sunken);
    border-left: 3px solid #b9c0ae;
    padding: 12px 16px;
    border-radius: 0 6px 6px 0;
    margin: 16px 0;
    font-size: 13px;
}

.note strong { color: var(--ink-brand); }

/* Alicinin MUTLAKA okumasi gereken tek kutu. Sayfa basina en fazla bir tane —
   ikisi olursa ikisi de siradan gorunur. */
.important {
    background: #fdf6e3;
    border-left: 3px solid #c9a227;
    padding: 14px 18px;
    border-radius: 0 6px 6px 0;
    margin: 18px 0;
    font-size: 13.5px;
}

.important strong { color: #7a6215; }

/* ── DOLDURULMAMIS ALAN ───────────────────────────────────────────────── */

/* {{COMPANY_LEGAL_NAME}} gibi isaretleri GORUNUR yapar. Amac kozmetik degil:
   doldurulmadan yayina alinan bir gizlilik bildirimi, hic olmamasindan daha
   kotudur (yanlis controller kimligi gosterir). Sari zemin, gozden kacmasin
   diye. Hepsi doldurulunca bu sinif sayfalardan tamamen kalkar. */
.ph {
    background: #ffe9a8;
    color: #6b5200;
    padding: 1px 6px;
    border-radius: 3px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.9em;
    white-space: nowrap;
}

/* ── Sayfa alti gezinme ───────────────────────────────────────────────── */

.legal-nav {
    margin-top: 44px;
    padding-top: 24px;
    border-top: 1px solid #e6e8e2;
}

.legal-nav-title {
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ink-muted);
    margin: 0 0 10px 0;
}

.legal-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.legal-nav li { margin: 0; font-size: 13px; }

/* Bulundugun sayfa link degil, duz metin olur — "buradasin" isareti. */
.legal-nav .current {
    color: var(--ink-muted);
    font-weight: 600;
}

.backLink {
    display: inline-block;
    margin-top: 38px;
    background: var(--ink-brand);
    color: var(--white);
    text-decoration: none;
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 13px;
    padding: 10px 22px;
    border-radius: 6px;
}

.backLink:hover { background: #2b3128; color: var(--white); }

footer {
    text-align: center;
    font-size: 11px;
    color: var(--ink-muted);
    padding-bottom: 40px;
}

/* ── legal.html — kart izgarasi ───────────────────────────────────────── */

.doc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    margin: 24px 0 0 0;
}

.doc-card {
    display: block;
    border: 1px solid #e6e8e2;
    border-radius: 8px;
    padding: 18px 20px;
    text-decoration: none;
    background: var(--paper-raised);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.doc-card:hover {
    border-color: var(--ink-brand);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

.doc-card-title {
    font-family: Urbanist, 'Segoe UI', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--ink-brand);
    margin: 0 0 4px 0;
}

.doc-card-desc {
    font-size: 12.5px;
    color: var(--ink-muted);
    margin: 0;
    line-height: 1.55;
}

/* ── Duyarli ──────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
    .card { padding: 30px 22px; }
    h1 { font-size: 24px; }
    .toc ol { columns: 1; }
}

/* ── Yazdirma ─────────────────────────────────────────────────────────── */

/* Bu metinler imzalanmak, dosyalanmak ve musteri denetimine sunulmak uzere
   yazdiriliyor. Ust bant, gezinme ve "Close" dugmesi kagida basilmaz. */
@media print {
    body { background: var(--paper-raised); font-size: 11pt; }
    header, .legal-nav, .backLink, footer { display: none; }
    main { max-width: none; padding: 0; }
    .card { box-shadow: none; border-radius: 0; padding: 0; }
    .toc { break-inside: avoid; }
    h2 { break-after: avoid; }
    table { break-inside: auto; }
    tr { break-inside: avoid; }
    a { color: var(--ink); text-decoration: none; }
    /* Baglantinin hedefi kagitta gorunmez olurdu */
    .card a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: var(--ink-muted); }
}
