
/* Cookie banner */
.cookie-banner{
  position: fixed;
  left: 18px;
  bottom: 18px;
  width: min(420px, calc(100vw - 36px));
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 16px;
  z-index: 9999;
}

.cookie-banner__title{
  font-weight: 800;
  font-size: 16px;
  margin: 0 0 6px;
}

.cookie-banner__text{
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
  margin-bottom: 12px;
}

.cookie-banner__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom: 10px;
}

.cookie-banner__actions--settings{
  margin-top: 10px;
  margin-bottom: 0;
}

.btn{
  appearance:none;
  border:1px solid var(--border);
  background: var(--btn);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 13px;
  cursor:pointer;
  transition: transform .02s ease, background .15s ease, border-color .15s ease;
}

.btn:hover{background: var(--btn-hover)}
.btn:active{transform: translateY(1px)}
.btn--primary{
  background: var(--primary);
  border-color: transparent;
  color: #fff;
}
.btn--primary:hover{background: var(--primary-hover)}
.btn--ghost{
  background: transparent;
}

.cookie-settings {
    border-top: 1px solid var(--border);
    padding-top: 12px;
    margin-top: 8px;
    display: none;
}

.cookie-toggle{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size: 13px;
  color: var(--text);
  margin: 10px 0;
  user-select:none;
}
.cookie-toggle input{ margin-top: 2px; transform: scale(1.1); }

.cookie-banner__footer{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
}
.cookie-link{
  color: var(--primary);
  text-decoration: none;
  font-weight: 700;
}
.cookie-link:hover{ text-decoration: underline; }
.cookie-link--button{
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.cookie-sep{ color: var(--muted); }
