.ts-consent-lock { overflow: hidden; }
.ts-consent-banner,
.ts-consent-dialog { color: #082f3f; font-family: inherit; }
.ts-consent-banner[hidden],
.ts-consent-dialog[hidden] { display: none !important; }
.ts-consent-banner {
  position: fixed; inset: auto 1rem 1rem 1rem; z-index: 10000;
  max-width: 980px; margin: 0 auto; padding: 1.25rem;
  background: #fff; border: 1px solid #b8cbd2; box-shadow: 0 18px 60px rgba(4, 40, 54, .22);
}
.ts-consent-banner h2,
.ts-consent-dialog h2 { margin: 0 0 .65rem; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.ts-consent-banner p,
.ts-consent-dialog p { margin: 0; line-height: 1.55; }
.ts-consent-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
.ts-consent-button {
  min-height: 46px; padding: .7rem .9rem; border: 1px solid #075b70; border-radius: 0;
  background: #fff; color: #06394a; font: inherit; font-weight: 700; cursor: pointer;
}
.ts-consent-button:hover,
.ts-consent-button:focus-visible { outline: 2px solid #00b7c7; outline-offset: 2px; }
.ts-consent-button--primary,
.ts-consent-button[data-consent-accept],
.ts-consent-button[data-consent-reject] { background: #075b70; color: #fff; }
.ts-consent-backdrop { position: fixed; inset: 0; z-index: 10001; background: rgba(2, 28, 38, .68); }
.ts-consent-dialog {
  position: fixed; z-index: 10002; inset: 50% auto auto 50%; transform: translate(-50%, -50%);
  width: min(680px, calc(100% - 2rem)); max-height: calc(100vh - 2rem); overflow: auto;
  background: #fff; border: 1px solid #b8cbd2; padding: 1.35rem; box-shadow: 0 22px 70px rgba(0,0,0,.3);
}
.ts-consent-purpose { margin: 1rem 0; padding: 1rem; background: #f2f6f7; border-left: 3px solid #075b70; }
.ts-consent-purpose label { display: flex; gap: .7rem; align-items: flex-start; font-weight: 700; }
.ts-consent-purpose input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: #075b70; }
.ts-consent-purpose small { display: block; margin: .5rem 0 0 1.85rem; line-height: 1.45; }
.ts-consent-settings-link {
  border: 0; padding: 0; background: transparent; color: inherit; font: inherit;
  text-decoration: underline; cursor: pointer;
}
.ts-consent-status { margin-top: .7rem !important; font-size: .9rem; }
@media (max-width: 680px) {
  .ts-consent-banner { inset: auto .5rem .5rem .5rem; padding: 1rem; }
  .ts-consent-actions { grid-template-columns: 1fr; }
  .ts-consent-dialog { width: calc(100% - 1rem); padding: 1rem; }
}
