/* Consent controls use the existing Trade Splaining palette and fonts. */
.nav-listen { background: transparent; color: inherit; cursor: pointer; }
.footer-bottom { flex-wrap: wrap; }
.ts-consent {
  position: fixed; z-index: 60; inset: auto 20px 20px;
  max-width: 1060px; margin: 0 auto; padding: 20px 24px;
  background: var(--paper); color: var(--ink); border: 2px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink); display: flex; align-items: center;
  gap: 18px; font: 16px/1.5 var(--font);
}
.ts-consent-copy { flex: 1; }
.ts-consent p { margin: 0 0 6px; }
.ts-consent strong { font-weight: 800; }
.ts-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ts-consent-button {
  appearance: none; padding: 11px 16px; min-height: 44px; border: 2px solid var(--ink);
  border-radius: 0; background: var(--paper); color: var(--ink);
  font: 800 15px/1.3 var(--font); cursor: pointer;
}
.ts-consent-button:hover { background: var(--yellow); }
.ts-consent-button:focus-visible, .ts-privacy-link:focus-visible {
  outline: 3px solid var(--red); outline-offset: 4px;
}
.ts-privacy-link {
  appearance: none; border: 0; padding: 6px 0; background: transparent;
  color: inherit; font: 700 15px/1.4 var(--font); text-decoration: underline;
  text-underline-offset: 4px; cursor: pointer;
}
.ts-privacy-dialog {
  max-width: 680px; width: calc(100% - 32px); max-height: calc(100dvh - 48px);
  padding: 30px; border: 2px solid var(--ink); background: var(--paper);
  color: var(--ink); font: 16px/1.6 var(--font); overflow: auto;
}
.ts-privacy-dialog::backdrop { background: rgba(11, 27, 43, .7); }
.ts-privacy-dialog h2 { font: 800 38px/1.05 var(--display); margin: 10px 0 20px; }
.ts-privacy-dialog p { margin: 12px 0; }
.ts-privacy-dialog a { text-decoration: underline; color: var(--ink); }
.ts-privacy-dialog .ts-consent-actions { margin-top: 20px; }
.ts-privacy-status { font-weight: 800; }
body.player-open .ts-consent { bottom: 126px; }
@media (max-width: 700px) {
  .ts-consent { inset-inline: 12px; bottom: 12px; padding: 16px; flex-direction: column; align-items: stretch; gap: 12px; }
  .ts-consent-actions .ts-consent-button { flex: 1; }
  body.player-open .ts-consent { bottom: 170px; }
  .ts-privacy-dialog { padding: 22px; }
}
