.hts-consent {
  --consent-navy: #0d2152;
  --consent-blue: #00799b;
  --consent-border: #cbd5e1;
  position: fixed;
  z-index: 2147483000;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  max-width: 42rem;
  margin-left: auto;
  padding: 1.25rem;
  border: 1px solid var(--consent-border);
  border-radius: .75rem;
  background: #fff;
  color: #1f2937;
  box-shadow: 0 .75rem 2.5rem rgba(13, 33, 82, .24);
  font: 400 1rem/1.5 Inter, Arial, sans-serif;
}
.hts-consent[hidden],
.hts-consent-link[hidden] { display: none !important; }
.hts-consent h2 { margin: 0 0 .5rem; color: var(--consent-navy); font-size: 1.35rem; }
.hts-consent p { margin: 0 0 1rem; }
.hts-consent a { color: var(--consent-blue); text-decoration: underline; }
.hts-consent-actions { display: flex; flex-wrap: wrap; gap: .625rem; }
.hts-consent button {
  min-height: 2.75rem;
  padding: .65rem 1rem;
  border: 2px solid var(--consent-navy);
  border-radius: .35rem;
  background: #fff;
  color: var(--consent-navy);
  font: 700 .95rem/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}
.hts-consent button[data-primary] { background: var(--consent-navy); color: #fff; }
.hts-consent button:focus-visible,
.hts-consent-link:focus-visible { outline: 3px solid #00b8eb; outline-offset: 3px; }
.hts-consent-preferences { padding-top: .25rem; }
.hts-consent-option {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  gap: .65rem;
  align-items: start;
  margin: 1rem 0;
}
.hts-consent-option input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; }
.hts-consent-option strong,
.hts-consent-option small { display: block; }
.hts-consent-link {
  position: fixed;
  z-index: 2147482999;
  right: 1rem;
  bottom: 1rem;
  max-width: 20rem;
  padding: .65rem .85rem;
  border: 2px solid var(--consent-navy);
  border-radius: .35rem;
  background: #fff;
  color: var(--consent-navy);
  box-shadow: 0 .25rem 1rem rgba(13, 33, 82, .2);
  font: 700 .82rem/1.25 Inter, Arial, sans-serif;
  cursor: pointer;
}
.hts-privacy-settings {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}
@media (max-width: 479px) {
  .hts-consent { right: .5rem; bottom: .5rem; left: .5rem; padding: 1rem; }
  .hts-consent-actions { display: grid; }
  .hts-consent-actions button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hts-consent, .hts-consent * { scroll-behavior: auto !important; transition: none !important; }
}
