@import url("/assets/css/base/tokens.css");

/* Zerosoft Cookie Consent UI */
.cm-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  background: var(--surface-dark);
  color: var(--nav-text);
  font: 13px/1.4 system-ui, -apple-system, Segoe UI, Roboto;
  border-top: 1px solid var(--muteborder);
  backdrop-filter: saturate(120%) blur(8px);
  padding-bottom: max(6px, env(safe-area-inset-bottom, 0px));
}
.cm-wrap {
  max-width: 1100px;
  margin: auto;
  padding: 12px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.cm-text {
  flex: 1;
  font-size: 12.5px;
}
.cm-btn {
  border: 0;
  border-radius: 10px;
  padding: 9px 12px;
  cursor: pointer;
  min-height: 38px;
  font-size: 13px;
}
.cm-ghost {
  background: transparent;
  color: var(--nav-text);
  border: 1px solid var(--muteborder);
}
.cm-primary {
  background: var(--btn);
  color: #0b1220;
  font-weight: 700;
}
.cm-primary:hover {
  background: var(--btn-hover);
}
.cm-link {
  color: var(--accent);
  text-decoration: underline;
  cursor: pointer;
}

/* Accessible focus states */
.cm-btn:focus-visible,
.cm-switch:focus-visible,
.cm-prefs-trigger:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.cm-modal {
  position: fixed;
  inset: 0;
  background: rgba(14, 20, 27, 0.75);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 100000;
}
.cm-card {
  background: var(--surface-dark);
  color: var(--nav-text);
  border: 1px solid var(--muteborder);
  border-radius: 14px;
  max-width: 640px;
  width: 92%;
  padding: 18px;
}
.cm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--muteborder);
  padding: 10px 0;
}
.cm-switch {
  position: relative;
  width: 52px;
  height: 28px;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 9999px;
  cursor: pointer;
}
.cm-knob {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  transition: all 0.2s;
}
.cm-switch[data-on="true"] {
  background: var(--accent);
}
.cm-switch[data-on="true"] .cm-knob {
  left: 28px;
}

/* Yüzen tercih butonu (banner KAPALIYKEN görünür) */
.cm-prefs-trigger {
  position: fixed;
  right: calc(22px + env(safe-area-inset-right, 0px));
  bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  background: var(--surface-dark);
  color: var(--accent);
  border: 1px solid var(--muteborder);
  border-radius: 9999px;
  padding: 8px 10px;
  font-size: 12px;
  cursor: pointer;
  z-index: 100000;
}
/* Desktop'ta gizle */
@media (min-width: 992px) {
  .cm-prefs-trigger {
    display: none;
  }
}
/* No fade animation; show instantly */
/* Not hiding trigger when banner is visible; always show immediately */

/* Mobil: butonlar yan yana 1:2 (daha sıkı) */
@media (max-width: 640px) {
  .cm-wrap {
    flex-direction: column;
    align-items: stretch;
    padding: 10px 12px;
    gap: 8px;
  }
  .cm-text {
    font-size: 12px;
    line-height: 1.35;
  }
  .cm-actions {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 6px;
    width: 100%;
  }
  .cm-actions .cm-btn {
    width: 100%;
    font-size: 13px;
    min-height: 34px;
    padding: 8px 10px;
    border-radius: 9px;
  }
  .cm-ghost {
    border: 1px solid var(--muteborder);
    background: rgba(13, 20, 35, 0.55);
  }
  .cm-ghost:hover {
    background: rgba(13, 20, 35, 0.8);
  }
  .cm-primary {
    font-weight: 700;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.12);
  }
  .cm-primary:active {
    transform: translateY(1px);
  }
}

/* Çok küçük ekranlar için (≤360px) */
@media (max-width: 360px) {
  .cm-actions {
    grid-template-columns: 1.1fr 1.9fr;
    gap: 5px;
  }
  .cm-actions .cm-btn {
    min-height: 32px;
    font-size: 12.5px;
    padding: 7px 9px;
  }
  .cm-text {
    font-size: 11.8px;
  }
}

/* Masaüstü: butonlar yatay */
@media (min-width: 641px) {
  .cm-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .cm-actions .cm-btn {
    min-height: 36px;
  }
}
