/* Cookie consent (PLAN-site-hygiene F2): card flutuante, mesmo desenho dos outros sites do portfólio,
   na paleta clara do Iron Condor (design/design-system.html): paper #FAF7F2, cream-border #E6E0D5,
   ink-hi #1A1A1C, ink-mid #54524E, ink-lo #8B8780, brand #2596BE. */
.ic-consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  padding: 0 16px 16px;
  transform: translateY(100%); opacity: 0;
  transition: transform 0.2s ease, opacity 0.2s ease;
  pointer-events: none;
}
.ic-consent[data-open] { transform: translateY(0); opacity: 1; }
.ic-consent[hidden], .ic-consent__prefs[hidden] { display: none; }
.ic-consent__card {
  max-width: 56rem; margin: 0 auto; padding: 20px;
  max-height: calc(100vh - 32px); overflow-y: auto;
  border-radius: 16px; border: 1px solid #E6E0D5;
  background: rgba(255,255,255,0.96); backdrop-filter: blur(24px);
  box-shadow: 0 22px 48px -24px rgba(27,36,46,0.30);
  pointer-events: auto;
}
.ic-consent__head { display: flex; flex-direction: column; gap: 16px; }
.ic-consent__copy { flex: 1; }
.ic-consent__title { margin: 0 0 6px; font: 600 17px 'Fraunces', Georgia, serif; color: #1A1A1C; }
.ic-consent__text { margin: 0; color: #54524E; font: 400 14px 'Inter Tight', system-ui, sans-serif; line-height: 1.6; }
.ic-consent__text a { color: #2596BE; text-decoration: underline; text-underline-offset: 2px; transition: color 0.2s; }
.ic-consent__text a:hover { color: #1B6E8C; }
/* No celular a coluna é invertida: Aceitar em cima, Personalizar por último. */
.ic-consent__actions { display: flex; flex-direction: column-reverse; gap: 8px; }
/* Aceitar e Rejeitar: mesmo tamanho e peso (S2). Só a cor muda, e é a da marca. */
.ic-consent__btn {
  padding: 10px 20px; border-radius: 9999px; cursor: pointer;
  font: 600 14px 'Inter Tight', system-ui, sans-serif; color: #1A1A1C;
  background: transparent; border: 1px solid #E6E0D5;
  transition: background 0.2s, filter 0.2s;
}
.ic-consent__btn:hover { background: #F3EEE5; }
.ic-consent__btn--primary { background: #2596BE; border-color: #2596BE; color: #FAF7F2; }
.ic-consent__btn--primary:hover { background: #1B6E8C; border-color: #1B6E8C; }
.ic-consent__btn--outline { border-color: rgba(37,150,190,0.5); color: #2596BE; }
.ic-consent__btn--outline:hover { background: rgba(37,150,190,0.10); }
.ic-consent__link {
  padding: 10px 12px; background: none; border: 0; cursor: pointer;
  font: 400 12px 'Inter Tight', system-ui, sans-serif; color: #8B8780;
  transition: color 0.2s;
}
.ic-consent__link:hover { color: #1A1A1C; }
.ic-consent__prefs {
  display: grid; gap: 12px; margin-top: 20px; padding-top: 20px;
  border-top: 1px solid #E6E0D5;
}
.ic-consent__purpose { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-family: 'Inter Tight', system-ui, sans-serif; }
.ic-consent__purpose--locked { opacity: 0.6; cursor: not-allowed; }
.ic-consent__purpose input { margin-top: 4px; width: 16px; height: 16px; flex-shrink: 0; accent-color: #2596BE; cursor: inherit; }
.ic-consent__purpose strong { color: #1A1A1C; font-size: 14px; font-weight: 500; }
.ic-consent__purpose em { color: #8B8780; font-style: normal; font-size: 12px; margin-left: 4px; }
.ic-consent__purpose small { display: block; margin-top: 2px; color: #54524E; font-size: 12px; line-height: 1.6; }
.ic-consent__save { display: flex; justify-content: flex-end; margin-top: 8px; }
@media (min-width: 640px) {
  .ic-consent__card { padding: 24px; }
  .ic-consent__head { flex-direction: row; align-items: flex-start; gap: 24px; }
  .ic-consent__actions { flex-direction: row; align-items: center; flex-shrink: 0; }
}
