/* ── Sözleşme / KVKK okuma sayfaları ── */
.legal-page {
  min-height: 100vh;
  background: radial-gradient(circle at top right, #fbdbdc 0%, #e4e1e1 35%, #F5F3F4 75%);
  color: #161A1D;
  font-family: "Segoe UI", sans-serif;
  padding: 28px 16px 64px;
}

.legal-card {
  width: min(94vw, 860px);
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(168,159,160, 0.25);
  border-radius: 20px;
  padding: 32px 36px 44px;
  box-shadow: 0 28px 60px rgba(15, 23, 42, 0.16);
}

.legal-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #E5383B;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  margin-bottom: 18px;
}

.legal-back:hover { text-decoration: underline; }

.legal-card h1 {
  font-size: clamp(21px, 2.6vw, 28px);
  margin-bottom: 6px;
  color: #161A1D;
}

.legal-updated {
  color: #7a7374;
  font-size: 13px;
  margin-bottom: 24px;
}

.legal-lang-toggle {
  display: inline-flex;
  gap: 6px;
  margin-bottom: 24px;
  border: 1px solid #e4e1e1;
  border-radius: 999px;
  padding: 3px;
}

.legal-lang-toggle button {
  border: none;
  background: transparent;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  color: #7a7374;
  font-family: inherit;
}

.legal-lang-toggle button.active {
  background: linear-gradient(135deg, #E5383B, #BA181B);
  color: #ffffff;
}

.legal-body h2 {
  font-size: 19px;
  margin: 30px 0 10px;
  color: #161A1D;
  border-bottom: 2px solid #fce4e4;
  padding-bottom: 6px;
}

.legal-body h3 {
  font-size: 16px;
  margin: 20px 0 8px;
  color: #161A1D;
}

.legal-body p {
  font-size: 14.5px;
  line-height: 1.7;
  color: #3a3536;
  margin-bottom: 10px;
}

.legal-body ul {
  margin: 0 0 12px 20px;
  padding: 0;
}

.legal-body li {
  font-size: 14.5px;
  line-height: 1.7;
  color: #3a3536;
  margin-bottom: 6px;
}

.legal-body blockquote {
  background: #fdf1f1;
  border-left: 4px solid #E5383B;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 10px 0 14px;
  font-size: 14px;
  line-height: 1.65;
  color: #4a2223;
}

.legal-body .legal-note {
  background: #F5F3F4;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 10px 0 14px;
  font-size: 13px;
  line-height: 1.6;
  color: #6b6465;
  font-style: italic;
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 6px 0 18px;
  font-size: 14px;
}

.legal-table th,
.legal-table td {
  border: 1px solid #e4e1e1;
  padding: 9px 12px;
  text-align: left;
  vertical-align: top;
}

.legal-table th {
  background: #fce4e4;
  color: #161A1D;
  font-weight: 700;
}

.legal-lang-block[hidden] { display: none; }

@media (max-width: 600px) {
  .legal-card { padding: 22px 18px 32px; }
}

/* ── Kayıt sayfası: onay bloğu ── */
.reg-consent-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 2px 0 4px;
}

.reg-consent-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid #e4e1e1;
  border-radius: 12px;
  padding: 12px 14px;
  background: #F5F3F4;
  cursor: pointer;
  transition: border-color 0.18s, background 0.18s;
}

.reg-consent-item:hover { border-color: #cbc4c5; }

/* Satir onaylaninca artik yesile "yanmiyor" — sadece kutucukta tik gorunur. */

/* Bos kare kutucuk: isaretlenince markanin kirmizisiyla dolar ve tik cizilir.
   Secici .reg-consent-item ile baslar; aksi halde register.css'teki
   ".reg-form input" kurali (daha yuksek ozgulluk) kutuyu tam genislikte bir
   metin alanina cevirir. */
.reg-consent-item .reg-consent-box {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 auto;
  position: relative;
  width: 19px;
  height: 19px;
  margin: 1px 0 0;
  padding: 0;
  border: 2px solid #a89fa0;
  border-radius: 5px;
  background: #ffffff;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.reg-consent-item:hover .reg-consent-box { border-color: #E5383B; }

.reg-consent-item .reg-consent-box:focus-visible {
  outline: 2px solid #E5383B;
  outline-offset: 2px;
  border-color: #E5383B;
}

/* Sadece kutucuk onaylaninca yesile doner; satir artik yanmiyor. */
.reg-consent-item .reg-consent-box:checked {
  background: #16a34a;
  border-color: #16a34a;
}

.reg-consent-item .reg-consent-box:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.reg-consent-text {
  flex: 1 1 auto;
  font-size: 12.5px;
  line-height: 1.55;
  color: #3a3536;
}

.reg-consent-text a {
  color: #E5383B;
  font-weight: 700;
  text-decoration: none;
}

.reg-consent-text a:hover { text-decoration: underline; }

/* ── Bilgilerimi doldur sayfaları: onay kapısı (düz metin) ──
   KART DEGIL. Bu blok formun icinde, alanlarin altinda duran duz bir metin
   olarak akar: cerceve/zemin yok, yalnizca ustunde ince bir ayirici cizgi var.
   Kullaniciya "onaylanmamis hesap" uyarisi YAZILMAZ — metinler sanki formun
   dogal bir parcasiymis gibi, kayit ekranindakiyle ayni dille sunulur.

   Iki teknik not:
   • .info-form / .club-info-form iki sutunlu birer grid; blok tek sutuna
     sikismasin diye iki sutunu birden kaplar.
   • Ayni formlardaki "label { flex-direction: column }" kurali (0,1,1)
     buradaki satirlari alt alta diziyordu; asagida yon acikca satira
     dondurulur ve ozgulluk .info-form/.club-info-form ile esitlenir. */
.consent-gate {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 6px 0 2px;
  padding-top: 18px;
  border-top: 1px solid #ebe8e8;
}

.consent-gate[hidden] { display: none; }

.info-form .consent-gate-line,
.club-info-form .consent-gate-line,
.consent-gate-line {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-weight: 400;
  cursor: pointer;
}

/* Kutucuk: form alanlarina uygulanan genel "input" kurallarini (kenarlik,
   dolgu, tam genislik) gecersiz kilmak icin secici .consent-gate ile baslar. */
.consent-gate .consent-gate-box {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 auto;
  position: relative;
  width: 17px;
  height: 17px;
  margin: 3px 0 0;
  padding: 0;
  border: 1.5px solid #b7afb0;
  border-radius: 4px;
  background: #ffffff;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.consent-gate-line:hover .consent-gate-box { border-color: #E5383B; }

.consent-gate .consent-gate-box:focus-visible {
  outline: 2px solid #f2abad;
  outline-offset: 2px;
  border-color: #E5383B;
}

.consent-gate .consent-gate-box:checked {
  background: #16a34a;
  border-color: #16a34a;
}

.consent-gate .consent-gate-box:checked::after {
  content: "";
  position: absolute;
  left: 4.5px;
  top: 1px;
  width: 3px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.consent-gate-text {
  flex: 1 1 auto;
  font-size: 13px;
  line-height: 1.6;
  color: #4a4344;
}

.consent-gate-text a {
  color: #E5383B;
  font-weight: 600;
  text-decoration: none;
}

.consent-gate-text a:hover { text-decoration: underline; }

/* ── Bilgilerimi doldur sayfaları: kabul edilen metinler notu ── */
.consent-footer-note {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #e4e1e1;
  font-size: 12.5px;
  line-height: 1.6;
  color: #7a7374;
}

.consent-footer-note[hidden] { display: none; }

.consent-footer-note strong {
  display: block;
  color: #4a4344;
  font-size: 12.5px;
  margin-bottom: 6px;
}

.consent-footer-note ul {
  margin: 0;
  padding-left: 18px;
}

.consent-footer-note li {
  margin-bottom: 4px;
}

.consent-footer-note a {
  color: #E5383B;
  font-weight: 700;
  text-decoration: none;
}

.consent-footer-note a:hover { text-decoration: underline; }

/* ── Profilim / Hesabım sayfaları: Onay Bilgileri kartı ── */
.consent-info-card h2 {
  font-size: 17px;
  margin-bottom: 4px;
}

.consent-info-card .consent-info-subtitle {
  font-size: 13px;
  color: #7a7374;
  margin-bottom: 16px;
}

.consent-info-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.consent-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #e4e1e1;
  border-radius: 10px;
  padding: 12px 14px;
  background: #F5F3F4;
}

.consent-info-row-label {
  font-size: 13.5px;
  color: #3a3536;
  font-weight: 600;
}

.consent-info-row-label .consent-info-doc-links a {
  color: #E5383B;
  font-weight: 700;
  text-decoration: none;
}

.consent-info-row-label .consent-info-doc-links a:hover { text-decoration: underline; }

.consent-info-row-value {
  flex: 0 0 auto;
  text-align: right;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.consent-info-row-value .consent-info-time {
  display: block;
  color: #161A1D;
  font-weight: 700;
}

.consent-info-row-value .consent-info-status {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  margin-top: 2px;
}

.consent-info-row-value .consent-info-status.given { color: #16a34a; }
.consent-info-row-value .consent-info-status.not-given { color: #a89fa0; }
.consent-info-row-value .consent-info-status.unknown { color: #b45309; }

/* Onaylanan metnin surumu ("Surum v1.0"). Onay kaydinin hangi metne ait
   oldugunu gosterir; metin guncellenirse eski onay yanlis metne baglanmasin. */
.consent-info-version {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
  color: #7a7374;
}

/* Onay kaydi bulunamadigindaki aciklama. */
.consent-info-footnote {
  margin-top: 12px;
  font-size: 12.5px;
  line-height: 1.55;
  color: #6b6465;
  background: #F5F3F4;
  border-radius: 9px;
  padding: 10px 12px;
}

.consent-info-card[hidden] {
  display: none;
}

@media (max-width: 640px) {
  .consent-info-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .consent-info-row-value {
    text-align: left;
    white-space: normal;
  }
}
