/* Banner de consentimento DS HELP — peca unica, serve site, blog, LP e bio.
   Aceitar e Recusar tem o MESMO peso visual: e o que torna o consentimento
   valido (livre) segundo o Guia Orientativo da ANPD. Nada de dark pattern. */

.dsck, .dsck * { box-sizing: border-box; }

.dsck {
  position: fixed; right: 22px; bottom: 22px; z-index: 9000;
  max-width: 520px; border-radius: 4px;
  background: #ddf3e7;
  /* filete fino: delimita a caixa e passa a sensacao de aviso, nao de pedaco do site */
  border: 1px solid rgba(6, 35, 26, .18);
  box-shadow: 0 10px 30px rgba(16, 21, 18, .12);
  font-family: 'Montserrat', system-ui, sans-serif;
  opacity: 0; transform: translateY(10px);
  transition: opacity .28s ease, transform .28s ease;
}
.dsck.on { opacity: 1; transform: none; }

.dsck .in { padding: 13px 16px; display: flex; align-items: center; gap: 16px; }
.dsck p { margin: 0; font-size: 11.5px; line-height: 1.5; color: #3e4a44; flex: 1; }
.dsck p a { color: #06231a; text-decoration: underline; text-underline-offset: 2px; }
.dsck .bts { display: flex; align-items: center; gap: 7px; }

.dsck button {
  font-family: inherit; font-weight: 600; font-size: 11px; line-height: 1;
  padding: 8px 14px; border-radius: 3px; border: 1px solid transparent;
  cursor: pointer; white-space: nowrap; transition: filter .2s, background .2s;
}
.dsck button:hover { filter: brightness(1.08); }
.dsck .ok { background: #06231a; color: #fff; border-color: #06231a; }
.dsck .no { background: transparent; color: #06231a; border-color: rgba(6, 35, 26, .32); }
.dsck .no:hover { background: rgba(6, 35, 26, .06); filter: none; }
.dsck .pref {
  background: none; border: none; color: #5b6b63; font-weight: 500;
  font-size: 10.5px; padding: 8px 2px;
  text-decoration: underline; text-underline-offset: 3px;
}

/* ---- painel de preferencias: granular, como a ANPD pede ---- */
.dscx {
  position: fixed; inset: 0; z-index: 9001; display: none;
  background: rgba(16, 21, 18, .55);
  align-items: center; justify-content: center; padding: 20px;
}
.dscx.on { display: flex; }
.dscx .cx {
  background: #fff; border-radius: 6px; width: 100%; max-width: 520px;
  max-height: 90vh; overflow: auto; font-family: 'Montserrat', system-ui, sans-serif;
}
.dscx .cab { padding: 22px 24px 4px; }
.dscx h3 {
  margin: 0 0 8px; font-family: 'Ubuntu', system-ui, sans-serif; font-weight: 700;
  font-size: 17px; color: #101512;
}
.dscx .cab p { margin: 0; font-size: 12.5px; line-height: 1.6; color: #5c635e; }
.dscx .lista { padding: 8px 24px 4px; }

.dscx .it { padding: 15px 0; border-bottom: 1px solid rgba(16, 21, 18, .09); }
.dscx .it:last-child { border-bottom: none; }
.dscx .lin { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.dscx .it b { font-size: 13px; font-weight: 600; color: #101512; }
.dscx .it p { margin: 6px 0 0; font-size: 11.5px; line-height: 1.55; color: #6e7671; }
.dscx .fixo { font-size: 11px; color: #0f7c4a; font-weight: 600; white-space: nowrap; }

/* chave liga-desliga */
.dscx .ch { position: relative; width: 40px; height: 22px; flex: 0 0 auto; }
.dscx .ch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.dscx .ch span {
  position: absolute; inset: 0; border-radius: 22px; background: #cfd6d1; transition: background .2s;
  pointer-events: none;
}
.dscx .ch span:after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px;
  border-radius: 50%; background: #fff; transition: transform .2s;
}
.dscx .ch input:checked + span { background: #2ECC80; }
.dscx .ch input:checked + span:after { transform: translateX(18px); }
.dscx .ch input:focus-visible + span { outline: 2px solid #101512; outline-offset: 2px; }

.dscx .rod {
  padding: 16px 24px 22px; display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
}
.dscx .rod button {
  font-family: inherit; font-weight: 600; font-size: 12px; line-height: 1; padding: 10px 16px;
  border-radius: 3px; border: 1px solid transparent; cursor: pointer;
}
.dscx .rod .salvar { background: #06231a; color: #fff; border-color: #06231a; }
.dscx .rod .tudo { background: #2ECC80; color: #06231a; border-color: #2ECC80; }
.dscx .rod .nada { background: #fff; color: #101512; border-color: rgba(16, 21, 18, .28); }

/* ---- link para reabrir a escolha (o "revogavel" da lei) ----
   Ele e um link como os vizinhos do rodape: nao ganha tamanho, cor nem sublinhado
   proprios. Herda tudo do rodape onde estiver e so sublinha ao passar o mouse. */
.dsck-reabrir {
  background: none; border: none; padding: 0; margin: 0; cursor: pointer;
  font-family: inherit; font-size: inherit; font-weight: inherit;
  line-height: inherit; color: inherit; text-decoration: none;
  transition: color .2s;
}
.dsck-reabrir:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 700px) {
  .dsck { right: 12px; left: 12px; bottom: 12px; max-width: none; }
  .dsck .in { flex-direction: column; align-items: stretch; gap: 12px; padding: 15px 16px; }
  .dsck p { font-size: 12px; }
  .dsck .bts { justify-content: space-between; }
  .dsck .ok, .dsck .no { flex: 1; text-align: center; padding: 11px 10px; font-size: 12px; }
  .dsck .pref { flex: 0 0 auto; padding: 11px 6px; }
  .dscx .rod button { flex: 1; }
}

/* o rotulo longo nao cabe no rodape do celular: la fica so "Cookies" */
.ck-ct{display:none}
@media(max-width:700px){.ck-lg{display:none}.ck-ct{display:inline}}
