/* Çerez bandı ve tercih penceresi. Renkler ve boşluklar şablon tokenlarından alınır (base.css :root); tokenlar yoksa yedek değer kullanılır. */

.sb-consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
  box-sizing: border-box; width: 100%; max-height: 70vh; overflow-y: auto;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem;
  padding: 1rem var(--gutter, 20px);
  background: var(--c-dark, #0e1b2a); color: var(--c-dark-contrast, #ffffff);
  box-shadow: var(--shadow-md, 0 12px 28px -12px rgba(14, 27, 42, .22));
  font-size: var(--fs-sm, .875rem); line-height: 1.5;
}
.sb-consent[hidden] { display: none; }
.sb-consent p { margin: 0; max-width: 60ch; }
.sb-consent a { color: inherit; text-underline-offset: 2px; }
.sb-consent-text { flex: 1 1 280px; min-width: 0; }
.sb-consent-title { font-weight: 700; margin-bottom: .25rem !important; }
.sb-consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.sb-consent :focus-visible,
.sb-consent-dialog :focus-visible,
.sb-consent-reopen :focus-visible {
  outline: 3px solid var(--c-focus, #f5b301); outline-offset: 2px;
}

.sb-consent-reopen {
  margin: 0; padding: .75rem var(--gutter, 20px);
  text-align: center; font-size: var(--fs-sm, .875rem);
}
.sb-consent-reopen a { color: inherit; text-underline-offset: 2px; }

.sb-consent-dialog {
  box-sizing: border-box; width: min(34rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow-y: auto;
  margin: auto; padding: 1.5rem; border: 0; border-radius: var(--radius-lg, 12px);
  background: var(--c-surface, #ffffff); color: var(--c-text, #0e1b2a);
  box-shadow: var(--shadow-md, 0 12px 28px -12px rgba(14, 27, 42, .22));
  font-size: var(--fs-sm, .875rem); line-height: 1.5;
}
.sb-consent-dialog::backdrop { background: rgba(14, 27, 42, .55); }
.sb-consent-dialog-title { margin: 0 0 .5rem; font-size: 1.25rem; color: var(--c-text, #0e1b2a); }
.sb-consent-dialog p { margin: 0; color: var(--c-text-muted, #5b6676); }
.sb-consent-cats { list-style: none; margin: 1rem 0; padding: 0; display: grid; gap: .75rem; }
.sb-consent-cat {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
  padding: .75rem 1rem; border: 1px solid var(--c-border, #dfe3ea); border-radius: var(--radius, 8px);
}
.sb-consent-cat[hidden] { display: none; }
.sb-consent-cat-name { display: block; font-weight: 700; color: var(--c-text, #0e1b2a); }
.sb-consent-cat-help { margin-top: .15rem !important; font-size: .8125rem; }
.sb-consent-always { flex: none; white-space: nowrap; font-size: .8125rem; font-weight: 600; color: var(--c-text-muted, #5b6676); }
.sb-consent-switch { flex: none; width: 1.25rem; height: 1.25rem; margin-top: .2rem; accent-color: var(--c-primary, #1d4ed8); cursor: pointer; }
.sb-consent-dialog-actions { justify-content: flex-end; }

@media (prefers-reduced-motion: no-preference) {
  .sb-consent:not([hidden]) { animation: sb-consent-in .25s ease-out; }
}
@keyframes sb-consent-in {
  from { transform: translateY(100%); }
  to { transform: none; }
}

/* Koyu bant üzerinde düğmeler: Reddet ve Kabul et aynı görünürlükte (açık dolgu), Tercihleri yönet çerçeveli. */
.sb-consent .btn {
  background: var(--c-dark-contrast, #ffffff); color: var(--c-dark, #0e1b2a);
  border: 2px solid var(--c-dark-contrast, #ffffff);
}
.sb-consent .btn[data-consent="manage"] { background: transparent; color: inherit; }
.sb-consent .btn:hover { filter: brightness(.92); }
.sb-consent .btn[data-consent="manage"]:hover { background: rgba(255, 255, 255, .12); filter: none; }
