.consent-panel {
  position: fixed;
  z-index: 90;
  inset: auto 0 0;
  box-sizing: border-box;
  max-height: 80vh;
  max-height: 80dvh;
  overflow-y: auto;
  padding: 1.25rem max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
  border: 1px solid #ac8150;
  border-radius: 1rem 1rem 0 0;
  background: #fff8ee;
  color: #29251f;
  box-shadow: 0 -4px 24px #0002;
  font: 1rem/1.5 system-ui, sans-serif;
  text-align: left;
}
.consent-panel[hidden], .consent-space[hidden] { display: none; }
.consent-space { block-size: calc(80dvh + 2rem); }
.consent-panel h2 { margin: 0 0 .5rem; font: 700 1.125rem/1.3 system-ui, sans-serif; letter-spacing: normal; text-transform: none; color: #5b1f33; }
.consent-panel p { margin: 0 0 1rem; font: inherit; color: inherit; }
.consent-panel a { color: #4c5229; text-decoration: underline; text-underline-offset: .2em; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .625rem; }
.consent-actions button {
  appearance: none;
  min-height: 48px;
  padding: .75rem .5rem;
  border: 1px solid #4c5229;
  border-radius: .5rem;
  background: #4c5229;
  color: #fff8ee;
  font: 600 1rem/1.35 system-ui, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
}
.consent-actions button:hover { background: #363c1c; }
.consent-panel :focus-visible, [data-consent-open]:focus-visible { outline: 3px solid #ac8150; outline-offset: 3px; }
button.consent-settings {
  appearance: none;
  display: inline-block;
  padding: .5rem 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: underline;
  text-underline-offset: .2em;
  cursor: pointer;
}
.consent-return-footer { padding-block: 1.5rem; }
@media (min-width: 640px) {
  .consent-panel { inset: auto auto 1.25rem 1.25rem; width: 26rem; max-width: calc(100vw - 2.5rem); border-radius: 1rem; box-shadow: 0 4px 24px #0003; }
  .consent-space { block-size: 22rem; }
}

html[lang="sv"] [data-consent-open] [lang="en"],
html[lang="en"] [data-consent-open] [lang="sv"] { display: none; }
