.tmc-privacy-links button {
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.tmc-privacy-links button:hover,
.tmc-privacy-links button:focus-visible { color: #bef264; }

.tmc-consent-banner {
  position: fixed;
  z-index: 10000;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  max-width: 72rem;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.2rem;
  color: #f4f4f5;
  background: rgba(9,9,11,.97);
  box-shadow: 0 22px 70px rgba(0,0,0,.34);
}
.tmc-consent-banner strong { font-size: .95rem; }
.tmc-consent-banner p { max-width: 48rem; margin: .25rem 0 0; color: #a1a1aa; font-size: .78rem; line-height: 1.35rem; }
.tmc-consent-banner__actions,
.tmc-privacy-dialog__actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.tmc-consent-banner button,
.tmc-privacy-dialog__actions button {
  min-height: 2.6rem;
  padding: .58rem .9rem;
  border: 1px solid #d4d4d8;
  border-radius: 999px;
  color: #18181b;
  background: #fff;
  font-size: .76rem;
  font-weight: 850;
  cursor: pointer;
}
.tmc-consent-banner button.is-primary,
.tmc-privacy-dialog__actions button.is-primary { border-color: #a3e635; background: #a3e635; }

.tmc-privacy-dialog {
  width: min(43rem, calc(100% - 1.5rem));
  max-height: calc(100dvh - 2rem);
  padding: 0;
  border: 0;
  border-radius: 1.5rem;
  color: #18181b;
  background: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.32);
}
.tmc-privacy-dialog::backdrop { background: rgba(9,9,11,.7); backdrop-filter: blur(4px); }
.tmc-privacy-dialog__card { position: relative; margin: 0; }
.tmc-privacy-dialog__content { max-height: calc(100dvh - 9rem); padding: 2rem; overflow: auto; }
.tmc-privacy-dialog__content h2 { margin: .3rem 2rem 1rem 0; font-size: clamp(1.75rem, 5vw, 2.4rem); line-height: 1; }
.tmc-privacy-dialog__content h3 { margin: 1.25rem 0 .35rem; font-size: 1rem; }
.tmc-privacy-dialog__content p { margin: 0; color: #52525b; font-size: .88rem; line-height: 1.55rem; }
.tmc-privacy-dialog__content a { color: #3f6212; font-weight: 750; }
.tmc-privacy-kicker { color: #4d7c0f !important; font-size: .68rem !important; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.tmc-privacy-dialog__close { position: absolute; z-index: 2; top: 1rem; right: 1rem; width: 2.3rem; height: 2.3rem; border: 1px solid #e4e4e7; border-radius: 999px; background: #fff; font-size: 1.35rem; cursor: pointer; }
.tmc-privacy-dialog__actions { justify-content: flex-end; padding: 1rem 2rem; border-top: 1px solid #e4e4e7; background: #fafafa; }
.tmc-privacy-options { display: grid; gap: .7rem; margin-top: 1.25rem; }
.tmc-privacy-options label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem; border: 1px solid #e4e4e7; border-radius: .9rem; }
.tmc-privacy-options span { display: grid; gap: .18rem; }
.tmc-privacy-options small { color: #71717a; line-height: 1.25rem; }
.tmc-privacy-options input { width: 1.2rem; height: 1.2rem; accent-color: #84cc16; }

@media (max-width: 640px) {
  .tmc-consent-banner {
    right: .5rem;
    bottom: .5rem;
    bottom: max(.5rem, env(safe-area-inset-bottom));
    left: .5rem;
    max-height: calc(100dvh - 1rem);
    align-items: stretch;
    flex-direction: column;
    overflow-y: auto;
  }
  .tmc-consent-banner__actions button { flex: 1 1 auto; }
  .tmc-privacy-dialog__content { padding: 1.5rem; }
  .tmc-privacy-dialog__actions { padding: 1rem 1.5rem; }
  .tmc-privacy-dialog__actions button { flex: 1 1 auto; }
}
