/* /root/consent-system/shared/css/banner.css
 * Override variables do Orestbida cookieconsent v3.
 * Sites podem sobrepor via CSS custom properties no :root.
 */

#cc-main {
  /* Cores base — sites podem override definindo --cc-site-accent no :root */
  --cc-bg: #ffffff;
  --cc-primary-color: #1a1a1a;
  --cc-secondary-color: #5a5a5a;

  /* Font fallback com suporte a emojis (Roboto sozinho não renderiza 🙂) */
  --cc-font-family: Roboto, system-ui, -apple-system, 'Segoe UI', 'Segoe UI Emoji',
    'Apple Color Emoji', 'Noto Color Emoji', sans-serif;

  /* Botão aceitar — destaque visual (legal ANPD: tamanho+posição iguais, cor diferencia) */
  --cc-btn-primary-bg: var(--cc-site-accent, #0c7a3e);
  --cc-btn-primary-color: #ffffff;
  --cc-btn-primary-border-color: var(--cc-site-accent, #0c7a3e);
  --cc-btn-primary-hover-bg: #095e30;
  --cc-btn-primary-hover-color: #ffffff;
  --cc-btn-primary-hover-border-color: #095e30;

  /* Botão rejeitar/preferências — outline neutro (classe secondary do Orestbida v3) */
  --cc-btn-secondary-bg: transparent;
  --cc-btn-secondary-color: #5a5a5a;
  --cc-btn-secondary-border-color: #d0d0d0;
  --cc-btn-secondary-hover-bg: #f5f5f5;
  --cc-btn-secondary-hover-color: #1a1a1a;
  --cc-btn-secondary-hover-border-color: #b0b0b0;

  /* Animation */
  --cc-modal-transition-duration: 0.2s;

  /* Z-index: acima de quase tudo, abaixo de toasts críticos */
  --cc-z-index: 9999;
}

/*
 * Bug do Orestbida v3: botão "Accept necessary" (data-role=necessary) NÃO recebe
 * a classe `cm__btn--secondary` — fica com `cm__btn` só, herdando styling primary.
 * Pra diferenciar visualmente "Rejeitar" de "Aceitar todos" (requisito ANPD/LGPD:
 * escolhas equivalentes em facilidade, diferenciadas só pela cor), forçamos aqui
 * o estilo outline via selector data-role.
 */
#cc-main .cm__btn[data-role="necessary"] {
  background: transparent !important;
  color: #5a5a5a !important;
  border: 1px solid #d0d0d0 !important;
}

#cc-main .cm__btn[data-role="necessary"]:hover,
#cc-main .cm__btn[data-role="necessary"]:focus-visible {
  background: #f5f5f5 !important;
  color: #1a1a1a !important;
  border-color: #b0b0b0 !important;
}

/* Micro-animação sutil no botão aceitar — pulse 1x por 200ms quando banner aparece */
@keyframes cc-accept-pulse {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(12, 122, 62, 0.4); }
  50% { transform: scale(1.03); box-shadow: 0 0 0 6px rgba(12, 122, 62, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(12, 122, 62, 0); }
}

#cc-main .cm__btn[data-role="all"] {
  animation: cc-accept-pulse 0.2s ease-out 1;
}

/* Consent nudge (Variação A — link sutil próximo ao botão WA) */
.consent-nudge {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: #666;
  opacity: 0.75;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.15s;
}

.consent-nudge:hover,
.consent-nudge:focus {
  opacity: 1;
  outline: 1px dotted #666;
  outline-offset: 2px;
}

/* Floating button 🍪 (Variação C) — já suportado nativo no Orestbida, só ajustamos tamanho */
#cc-main .cm__manage-btn--floating {
  width: 44px;
  height: 44px;
  font-size: 20px;
  border-radius: 50%;
}

/* Acessibilidade: garantir contraste em focus */
#cc-main *:focus-visible {
  outline: 2px solid #0c7a3e;
  outline-offset: 2px;
}

/* Mobile: banner compacto (26/07).
 * Em 390x844 o card padrão comia ~40% da tela e cobria o CTA do hero — quem vem
 * de anúncio decide na primeira tela. Aqui só muda DENSIDADE (padding, corpo de
 * texto, botões lado a lado). Os dois botões de escolha seguem com o mesmo
 * tamanho, na mesma posição e com o mesmo peso visual, que é a exigência
 * ANPD/LGPD: aceitar e recusar têm de ser igualmente fáceis. */
/* O !important não é preguiça: as regras do pacote (cookieconsent.css, carregado
 * do CDN) empilham no mesmo #cc-main e vencem por especificidade — medido no ar,
 * a versão sem !important não mudou nem o flex-direction dos botões. */
@media (max-width: 640px) {
  #cc-main .cm__body { padding: 0.7rem 0.75rem 0.75rem !important; }
  #cc-main .cm__title { font-size: 0.9rem !important; margin-bottom: 0.15rem !important; }
  /* Só o corpo do texto diminui; nada é escondido ou truncado — a informação
   * tem de continuar legível e completa (LGPD/ANPD). Medido: o texto cabe
   * inteiro, sem overflow. */
  #cc-main .cm__desc { font-size: 0.75rem !important; line-height: 1.3 !important; }
  #cc-main .cm__texts { padding-bottom: 0.1rem !important; }
  /* Os três botões numa linha só: é o que derruba a altura de 301px para 187px. */
  #cc-main .cm__btns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding-top: 0.45rem !important;
    gap: 0.35rem !important;
  }
  #cc-main .cm__btn-group {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 0.35rem !important;
    min-width: 0 !important;
  }
  #cc-main .cm__btn {
    padding: 0.5rem 0.35rem !important;
    font-size: 0.75rem !important;
    flex: 1 1 auto !important;
    white-space: nowrap !important;
    min-width: 0 !important;
  }
}
