/* ============================================================
   Hukuki belgeler — sözleşme, aydınlatma ve politika sayfaları
   (style.css'e ek olarak yalnızca bu sayfalarda yüklenir)
   ============================================================ */

.legal { flex: 1; width: 100%; max-width: 1160px; margin: 0 auto; padding: 30px 20px 60px; }
.legal__grid {
    display: grid; grid-template-columns: 250px minmax(0, 1fr);
    gap: 26px; align-items: start;
}

/* ------------------------------ Yan menü ------------------------------ */

.legal__side {
    background: #fff; border-radius: var(--r-lg); box-shadow: var(--sh-sm);
    border: 1px solid var(--line); padding: 18px 16px;
    position: sticky; top: 20px;
}
.legal__home {
    display: block; font-weight: 700; font-size: 13.5px; color: var(--navy-800);
    padding-bottom: 12px; margin-bottom: 6px; border-bottom: 1px solid var(--line);
}
.legal__sidegroup {
    margin: 16px 0 6px; font-size: 11px; font-weight: 800;
    letter-spacing: .07em; text-transform: uppercase; color: var(--ink-300);
}
.legal__sidelist { list-style: none; margin: 0; padding: 0; }
.legal__sidelist li { margin: 0; }
.legal__sidelink {
    display: block; padding: 7px 10px; margin: 1px -6px;
    font-size: 13px; color: var(--ink-700); border-radius: var(--r-sm);
    border-left: 3px solid transparent;
}
.legal__sidelink:hover { background: #f5f8fc; text-decoration: none; }
.legal__sidelink.is-active {
    background: var(--navy-100); color: var(--navy-800); font-weight: 650;
    border-left-color: var(--gold-500);
}

/* ------------------------------- Belge -------------------------------- */

.legal__doc {
    background: #fff; border-radius: var(--r-xl); box-shadow: var(--sh-md);
    padding: 40px 42px;
}
.legal__head { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.legal__title { font-size: 26px; margin-bottom: 10px; }
.legal__lead { color: var(--ink-500); font-size: 14px; margin: 0 0 18px; max-width: 62ch; }

.legal__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.legal__badge {
    background: var(--navy-100); color: var(--navy-700);
    padding: 4px 11px; border-radius: 999px;
    font-size: 11.5px; font-weight: 700; white-space: nowrap;
}
.legal__date { font-size: 12.5px; color: var(--ink-500); }
.legal__print {
    font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer;
    background: #fff; border: 1.5px solid var(--line); color: var(--ink-700);
    padding: 6px 14px; border-radius: 999px; margin-left: auto;
    transition: border-color .18s, background .18s;
}
.legal__print:hover { border-color: #c3cfe0; background: #f8fafd; }

/* --------------------------- İçindekiler ------------------------------ */

.legal__toc {
    margin: 24px 0 4px; padding: 16px 18px;
    background: #f7f9fc; border: 1px solid var(--line); border-radius: var(--r-md);
}
.legal__toctitle {
    margin: 0 0 8px; font-size: 11px; font-weight: 800;
    letter-spacing: .07em; text-transform: uppercase; color: var(--ink-500);
}
.legal__toclist {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 2px 18px;
}
.legal__toclink { font-size: 13px; color: var(--ink-700); display: block; padding: 3px 0; }

/* ------------------------------ İçerik -------------------------------- */

.legal__content { padding-top: 10px; }
.legal__content h2 {
    font-size: 17px; color: var(--navy-800);
    margin: 32px 0 10px; padding-top: 4px; scroll-margin-top: 20px;
}
.legal__content h3 { font-size: 14.5px; color: var(--navy-700); margin: 22px 0 7px; }
.legal__content p,
.legal__content li { color: var(--ink-700); font-size: 14.2px; }
.legal__content p { margin: 0 0 12px; }
.legal__content ul,
.legal__content ol { padding-left: 22px; margin: 0 0 14px; }
.legal__content li { margin-bottom: 6px; }
.legal__content strong { color: var(--ink-900); }
.legal__content code {
    font-family: var(--mono); font-size: 12.5px;
    background: #eef2f7; padding: 1px 6px; border-radius: 5px; color: var(--navy-700);
}
.legal__content a { color: var(--brand-blue); text-decoration: underline; }

/* Vurgu kutusu — dikkat çekilmesi gereken hükümler */
.legal__note {
    border-left: 4px solid var(--navy-700); background: #f7f9fc;
    padding: 14px 18px; border-radius: 0 var(--r-md) var(--r-md) 0; margin: 0 0 16px;
}
.legal__note--warn { border-left-color: var(--warn-500); background: var(--warn-050); }
.legal__note--ok   { border-left-color: var(--ok-500);   background: var(--ok-050); }
.legal__note p:last-child { margin-bottom: 0; }

/* Tanım listesi — künye ve süre tabloları */
.legal__dl { margin: 0 0 18px; display: grid; grid-template-columns: 210px minmax(0, 1fr); }
.legal__dl dt {
    font-size: 13px; font-weight: 650; color: var(--ink-500);
    padding: 9px 14px 9px 0; border-bottom: 1px solid var(--line);
}
.legal__dl dd {
    margin: 0; font-size: 14px; color: var(--ink-900);
    padding: 9px 0; border-bottom: 1px solid var(--line); word-break: break-word;
}

/* Tablo — çerez envanteri, saklama süreleri, veri kategorileri */
.legal__tablewrap { overflow-x: auto; margin: 0 0 18px; -webkit-overflow-scrolling: touch; }
.legal__table { width: 100%; border-collapse: collapse; font-size: 13.2px; min-width: 520px; }
.legal__table th,
.legal__table td {
    text-align: left; padding: 10px 12px;
    border-bottom: 1px solid var(--line); vertical-align: top;
}
.legal__table th {
    background: #f7f9fc; color: var(--ink-500); font-size: 11.5px;
    font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
    white-space: nowrap;
}
.legal__table td { color: var(--ink-700); }
.legal__table code { white-space: nowrap; }

/* --------------------------- Belge altlığı ---------------------------- */

.legal__foot { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line); }
.legal__footnote { font-size: 12.5px; color: var(--ink-500); margin: 0 0 20px; }
.legal__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ------------------------- Belge merkezi (hub) ------------------------ */

.legal__hubintro { margin: 0 0 8px; }
.legal__hubgroup { margin-top: 30px; }
.legal__hubgroup:first-of-type { margin-top: 18px; }
.legal__hubtitle {
    font-size: 12px; font-weight: 800; letter-spacing: .07em;
    text-transform: uppercase; color: var(--ink-300); margin: 0 0 12px;
}
.legal__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
/* Kartın tamamı bağlantıdır; metin altı çizgisi .legal__content a kuralından
   miras kalmasın diye burada açıkça kapatılır (iki sınıf > sınıf+eleman). */
.legal__content .legal__card,
.legal__content .legal__card:hover { text-decoration: none; }
.legal__card {
    display: block; padding: 17px 18px; border: 1px solid var(--line);
    border-radius: var(--r-md); background: #fff;
    transition: border-color .18s, box-shadow .18s, transform .12s;
}
.legal__card:hover {
    border-color: #c3cfe0; box-shadow: var(--sh-md);
    transform: translateY(-2px); text-decoration: none;
}
.legal__cardtitle { display: block; font-size: 14.5px; font-weight: 700; color: var(--navy-800); margin-bottom: 5px; }
.legal__carddesc { display: block; font-size: 12.8px; color: var(--ink-500); line-height: 1.5; }

/* ------------------------------- Duyarlı ------------------------------ */

@media (max-width: 900px) {
    .legal__grid { grid-template-columns: 1fr; }
    .legal__side { position: static; }
    .legal__sidelist { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
    .legal__doc { padding: 26px 22px; }
    .legal__title { font-size: 22px; }
    .legal__dl { grid-template-columns: 1fr; }
    .legal__dl dt { padding-bottom: 0; border-bottom: none; }
    .legal__dl dd { padding-top: 2px; }
}

@media (max-width: 480px) {
    .legal { padding: 18px 12px 40px; }
    .legal__doc { padding: 22px 16px; }
    .legal__print { margin-left: 0; }
}

/* ------------------------------- Yazdırma ----------------------------- */

@media print {
    .legal__side, .legal__print, .legal__actions, .legal__toc { display: none !important; }
    .legal { padding: 0; max-width: 100%; }
    .legal__grid { display: block; }
    .legal__doc { box-shadow: none; padding: 0; border-radius: 0; }
    .legal__content h2 { break-after: avoid; page-break-after: avoid; }
    .legal__table { min-width: 0; font-size: 11px; }
    .legal__note { border: 1px solid #ccc; }
    /* Zeminler baskıda düşmesin — aksi hâlde vurgu kutuları kaybolur */
    .legal__note, .legal__table th {
        -webkit-print-color-adjust: exact; print-color-adjust: exact;
    }
}
