/* TrainLab analytics consent: neutral typography, no color accents. */
.tl-analytics-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 2000;
  box-sizing: border-box; background: #fff; color: #202020;
  border-top: 1px solid #dededb; box-shadow: 0 -4px 18px rgba(0,0,0,.045);
  padding: 14px max(20px,calc((100vw - 1040px) / 2));
  display: flex; align-items: center; justify-content: flex-end; gap: 12px;
  font: 13px/1.5 "DM Sans",system-ui,sans-serif;
}
.tl-analytics-banner p { margin: 0 auto 0 0; max-width: 620px; }
.tl-analytics-banner button {
  white-space: nowrap; padding: 8px 12px; border: 1px solid #202020;
  font: inherit; cursor: pointer; border-radius: 5px; background: #fff; color: #202020;
}
.tl-analytics-banner button:last-child { background: #202020; color: #fff; }
.tl-analytics-banner button:focus-visible,.tl-analytics-settings:focus-visible { outline: 2px solid #202020; outline-offset: 3px; }
.tl-analytics-settings { background: transparent; border: 0; text-decoration: underline; text-underline-offset: 3px;
  font: inherit; font-size: 12px; color: inherit; cursor: pointer; padding: 0; }
@media (max-width: 760px) {
  .tl-analytics-banner { flex-wrap: wrap; justify-content: flex-start; padding: 16px 20px; gap: 10px; }
  .tl-analytics-banner p { flex-basis: 100%; }
}

.tl-analytics-privacy-link { font: inherit; font-size: 12px; color: inherit;
  text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
