/* Aviso de cookies: embaixo à esquerda (largura total no celular); não cobre o botão de feedback, no canto inferior direito. */
.tl-consent {
  --tl-consent-bg: #fbfaf6; --tl-consent-ink: #142033; --tl-consent-rule: #c9cfc6; --tl-consent-accent: #145c3f;
  position: fixed; z-index: 45; left: 0; bottom: 0; box-sizing: border-box;
  width: min(100%, 44rem); max-width: 100%;
  padding: .85rem max(12px, env(safe-area-inset-right)) max(.85rem, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background: var(--tl-consent-bg); color: var(--tl-consent-ink);
  border: 1px solid var(--tl-consent-rule); border-left: 0; border-bottom: 0; border-radius: 0 10px 0 0;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .16); font-size: .875rem; line-height: 1.45;
}
.tl-consent[hidden] { display: none; }
.tl-consent-text { margin: 0 0 .65rem; }
.tl-consent-text a { color: inherit; text-decoration: underline; }
.tl-consent-actions { display: flex; gap: .6rem; }
/* Recusar e Aceitar com o mesmo estilo e peso. */
.tl-consent-btn {
  flex: 1 1 0; min-height: 44px; padding: 0 1rem; border-radius: 8px; cursor: pointer;
  font: inherit; font-weight: 600; background: var(--tl-consent-accent); color: #fff; border: 2px solid var(--tl-consent-accent);
}
.tl-consent-btn:hover { filter: brightness(1.1); }
.tl-consent-btn:focus-visible, .tl-consent-text a:focus-visible { outline: 3px solid #2f6fd0; outline-offset: 2px; }
@media (min-width: 640px) {
  .tl-consent { display: flex; align-items: center; gap: 1rem; }
  .tl-consent[hidden] { display: none; }
  .tl-consent-text { margin: 0; }
  .tl-consent-actions { margin-left: auto; }
  .tl-consent-btn { flex: 0 0 8rem; }
}
@media (max-width: 639px) { .tl-consent { width: 100%; border-right: 0; border-radius: 10px 10px 0 0; } }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .tl-consent { --tl-consent-bg: #17202c; --tl-consent-ink: #eef1ec; --tl-consent-rule: #3a4757; --tl-consent-accent: #1f7a58; }
}
:root[data-theme="dark"] .tl-consent { --tl-consent-bg: #17202c; --tl-consent-ink: #eef1ec; --tl-consent-rule: #3a4757; --tl-consent-accent: #1f7a58; }
@media (prefers-reduced-motion: no-preference) {
  .tl-consent { animation: tl-consent-in .2s ease-out; }
  @keyframes tl-consent-in { from { transform: translateY(12px); opacity: 0; } }
}
