/* Cerez onay seridi ve tercih penceresi.
   Butonlar .btn, pencere .modal bilesenlerini yeniden kullanir; burada yalnizca
   kabin, yerlesim ve anahtar (switch) tanimlanir. */

/* ---------------------------------------------------------------- serit -- */

.consent {
  position: fixed;
  z-index: var(--z-modal);
  inset: auto 0 0 0;
  background: var(--bg-surface);
  border-top: var(--border-width) solid var(--border-strong);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .06);
  color: var(--text-primary);
}

.consent[hidden] { display: none; }

/* Icerik, sayfanin geri kalaniyla ayni kaba oturur: saga ve sola esit bosluk. */
.consent__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--sp-4) var(--gutter);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-4) var(--sp-8);
  max-height: 60dvh;
  overflow-y: auto;
}

.consent__copy {
  flex: 1 1 32rem;
  min-width: 0;
}

.consent__text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: var(--ls-body);
  color: var(--text-secondary);
  text-wrap: pretty;
}

.consent__text a {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.consent__text a:hover { color: var(--accent); }

.consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  flex: 0 0 auto;
  margin-left: auto;
}

/* Kabul ve ret esit gorunurlukte durur; yonetim ucuncu ve sakin secenektir. */
.consent__actions .btn {
  min-width: 9.5rem;
  min-height: var(--tap-min);
}

.consent__manage { text-decoration: underline; text-underline-offset: 2px; }

/* Dar ekranda seritten karta doner: butonlar tam genislikte ve alt alta. */
@media (max-width: 61.999em) {
  .consent__inner { padding-bottom: var(--sp-6); }
  .consent__actions { width: 100%; margin-left: 0; }
  .consent__actions .btn { flex: 1 1 12rem; min-width: 0; }
}

@media (min-width: 64em) {
  .consent__inner { padding-inline: var(--gutter-desktop); }
}

@media (prefers-reduced-motion: no-preference) {
  .consent { animation: consent-in var(--dur-panel) var(--ease-emph) both; }
  @keyframes consent-in {
    from { opacity: 0; transform: translateY(100%); }
    to   { opacity: 1; transform: none; }
  }
}

/* ------------------------------------------------------ tercih penceresi -- */

.consent-modal .modal__dialog { width: min(44rem, calc(100vw - var(--sp-8))); }

.consent-modal__intro {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-normal);
  color: var(--text-secondary);
}

.consent-modal__intro a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.consent-cats { margin-top: var(--sp-6); }

.consent-cat {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-6);
  padding: var(--sp-6) 0;
  border-top: var(--border-width) solid var(--border-default);
}

.consent-cat__main { flex: 1 1 auto; min-width: 0; }

.consent-cat__name {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-body);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-body);
  font-weight: var(--fw-medium);
  color: var(--text-primary);
}

.consent-cat__desc {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-normal);
  letter-spacing: var(--ls-body);
  color: var(--text-secondary);
}

.consent-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-top: var(--sp-8);
}

.consent-modal__actions .btn { flex: 1 1 12rem; min-height: var(--tap-min); }

/* ------------------------------------------------------------- anahtar --- */

.switch {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--text-soft);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-body);
  min-height: var(--tap-min);
}

.switch__text { min-width: 3.5em; text-align: right; }

.switch__track {
  position: relative;
  width: 2.75rem;
  height: 1.5rem;
  border-radius: var(--r-pill);
  background: var(--bg-sunken);
  border: var(--border-width) solid var(--border-control);
  transition: background-color var(--dur-micro) var(--ease),
              border-color var(--dur-micro) var(--ease);
}

.switch__thumb {
  position: absolute;
  top: 50%;
  left: 2px;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: var(--r-full);
  background: var(--bg-surface);
  box-shadow: var(--sh-2);
  transform: translateY(-50%);
  transition: transform var(--dur-micro) var(--ease);
}

.switch[aria-checked="true"] { color: var(--text-primary); }

.switch[aria-checked="true"] .switch__track {
  background: var(--accent);
  border-color: var(--accent);
}

.switch[aria-checked="true"] .switch__thumb { transform: translate(1.22rem, -50%); }

.switch:hover:not([disabled]) .switch__track { border-color: var(--text-soft); }

.switch[disabled] { cursor: default; opacity: .65; }

@media (prefers-reduced-motion: reduce) {
  .switch__track, .switch__thumb { transition: none; }
}

@media (max-width: 35.999em) {
  .consent-cat { flex-direction: column; gap: var(--sp-3); }
  .switch { align-self: flex-start; flex-direction: row-reverse; }
  .switch__text { text-align: left; }
}

/* Alt bilgideki "Cerez Tercihleri" baglantisi: gorunumu footer__link ile ayni. */
.consent-link {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
