/* =========================================================
   Caixa de consentimento de cookies
   Carrega em todas as páginas; a caixa é montada por js/consent.js.
   ========================================================= */

/* display:flex vence o atributo hidden — sem isto o painel de categorias
   e o botão "Salvar escolhas" já nascem visíveis. */
.ck [hidden]{display:none!important}

.ck{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:9000;
  max-width:560px;
  opacity:0;transform:translateY(18px);
  transition:opacity .32s var(--ease),transform .32s var(--ease);
}
.ck.is-aberta{opacity:1;transform:none}

.ck__corpo{
  padding:24px 26px 22px;
  background:var(--white);
  border:1px solid rgba(74,31,0,.16);
  border-radius:5px;
  box-shadow:0 28px 70px -28px rgba(42,20,8,.45);
  max-height:calc(100svh - 32px);
  overflow-y:auto;
}

.ck__titulo{
  margin:0 0 10px;
  font-family:var(--font-display);font-weight:400;font-size:23px;line-height:1.25;
  color:var(--brown);
}
.ck__texto{margin:0;font-size:14.5px;line-height:1.6;color:var(--gray)}
.ck__texto a{color:var(--green-ink);text-decoration:underline;text-underline-offset:3px}

/* ─────────────────────────── categorias ──────────────────────────── */
.ck__detalhe{
  display:flex;flex-direction:column;gap:14px;
  margin-top:18px;padding-top:18px;
  border-top:1px solid rgba(74,31,0,.12);
}
.ck__opcao{display:flex;align-items:flex-start;gap:11px}
.ck__opcao input{
  width:19px;height:19px;flex:0 0 auto;margin:2px 0 0;
  accent-color:var(--green-deep);cursor:pointer;
}
.ck__opcao input[disabled]{cursor:default;opacity:.55}
.ck__opcao label{display:flex;flex-direction:column;gap:2px;cursor:pointer}
.ck__opcao input[disabled] + label{cursor:default}
.ck__opcao strong{font-size:14px;font-weight:600;color:var(--brown)}
.ck__opcao em{font-style:normal;font-weight:400;color:var(--gray)}
.ck__opcao span{font-size:13.5px;line-height:1.55;color:var(--gray)}

/* ─────────────────────────── botões ──────────────────────────────── */
.ck__acoes{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}

.ck__btn{
  min-height:44px;padding:11px 18px;
  font-size:13px;font-weight:600;letter-spacing:.04em;
  border:1px solid transparent;border-radius:3px;
  transition:background-color .25s var(--ease),border-color .25s var(--ease),
             color .25s var(--ease);
}

/* Aceitar e rejeitar têm o MESMO peso visual de propósito: a ANPD trata
   como consentimento viciado quando recusar é mais difícil que aceitar. */
.ck__btn--aceitar{background:var(--green-deep);color:var(--white)}
.ck__btn--aceitar:hover{background:var(--green-ink)}
.ck__btn--recusar{background:transparent;border-color:var(--brown);color:var(--brown)}
.ck__btn--recusar:hover{background:rgba(74,31,0,.07)}

.ck__btn--texto{
  background:transparent;color:var(--gray);
  text-decoration:underline;text-underline-offset:3px;padding-inline:8px;
}
.ck__btn--texto:hover{color:var(--brown)}
.ck__btn--salvar{background:var(--brown);color:var(--white)}
.ck__btn--salvar:hover{background:var(--brown-deep)}

/* ─────────────────────────── telas pequenas ──────────────────────── */
@media (max-width:640px){
  .ck{left:10px;right:10px;bottom:10px}
  .ck__corpo{padding:20px 20px 18px}
  .ck__titulo{font-size:21px}
  .ck__acoes{gap:8px}
  .ck__btn--aceitar,.ck__btn--recusar{flex:1 1 100%}
}

/* O botão flutuante do WhatsApp não pode disputar espaço com a caixa.
   A classe vai no <body> porque a caixa é inserida pelo JS depois do
   botão — seletor de irmão (~) não alcançaria. */
body.ck-aberta .wa-float{opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
@media (max-width:640px){
  body.ck-aberta .wa-float{display:none}
}

@media (prefers-reduced-motion:reduce){
  .ck{transition:none;transform:none}
}
