.th-consent[hidden] { display: none !important; }
.th-consent {
  position: fixed;
  z-index: 10000;
  inset: auto 1rem 1rem;
  max-width: 72rem;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #8a9a85;
  border-radius: 1rem;
  background: #fbfaf4;
  color: #173e30;
  box-shadow: 0 .5rem 2rem #142e2826;
  font: 400 .9375rem/1.5 system-ui, sans-serif;
}
.th-consent h2 { margin: 0 0 .35rem; font: 700 1.125rem/1.3 system-ui, sans-serif; }
.th-consent p { margin: 0 0 .5rem; }
.th-consent .th-consent-current { font-size: .8125rem; }
.th-consent a { color: #173e30; text-decoration: underline; text-underline-offset: .2em; }
.th-consent-actions { display: flex; flex-wrap: wrap; gap: .65rem; flex: 0 0 20rem; }
.th-consent-actions button {
  flex: 1 1 9rem;
  min-height: 44px;
  padding: .75rem 1rem;
  border: 1px solid #173e30;
  border-radius: .5rem;
  background: #173e30;
  color: #fff;
  font: 600 .875rem/1.3 system-ui, sans-serif;
  cursor: pointer;
}
.th-consent-actions button:hover { background: #285640; }
.th-consent :focus-visible, .th-consent-preferences:focus-visible {
  outline: 3px solid #7a6105; outline-offset: 3px;
}
.th-consent-preferences {
  background: none; border: 0; padding: .25rem 0; color: inherit;
  font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer;
}
@media (max-width: 52rem) {
  .th-consent { display: block; padding: 1rem; }
  .th-consent-actions { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .th-consent * { scroll-behavior: auto; } }
