/* Consent.
   .consent-bar (+ -row, -actions, -settings) – cookie preference bar */
@layer components {
  body { padding-block-end: var(--consent-height, 0rem); }
  html { scroll-padding-block-end: calc(var(--consent-height, 0rem) + 1rem); }
  .consent-bar { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 30; padding: .35rem var(--space-inline); border-block-start: .1rem solid var(--utility-line); background: var(--utility-surface); font-size: calc(var(--small-size) * .9); line-height: 1.4; max-block-size: 45svh; overflow: auto; }
  .consent-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 1rem; }
  .consent-row > p { flex: none; }
    .consent-actions { display: flex; flex-wrap: nowrap; gap: .6rem; }
  .consent-actions button { white-space: nowrap; flex: none; }
  .consent-bar button, .consent-reopen { min-block-size: 3.8rem; padding: .6rem 1rem; border: .1rem solid var(--accent); border-radius: .4rem; color: var(--accent); background: var(--paper); font: inherit; }
  .consent-bar button { min-block-size: 3.2rem; padding: .25rem .8rem; }
  .consent-settings { padding-block: 1rem; border-block-end: .1rem solid var(--line); margin-block-end: 1rem; }
  .consent-settings label { display: inline-flex; align-items: center; gap: .6rem; margin-inline-end: 2rem; padding-block: .5rem; }
  .consent-settings input { inline-size: 1.8rem; block-size: 1.8rem; margin: 0; accent-color: var(--accent); }
  .consent-bar[hidden], .consent-settings[hidden], .consent-reopen[hidden] { display: none; }
  .consent-bar :is(a, button, select, input, label) { transform: none; transition: none; }
  @media (width <= 50em) {
        .consent-row > p { flex: none; }
  }
  @media (width > 50em) {
    .consent-row > p { flex: 0 1 auto; min-inline-size: 0; }
    .consent-bar { padding-block: .25rem; font-size: calc(var(--small-size) * .8); }
    .consent-bar button { min-block-size: 2.8rem; padding: .2rem .7rem; }
  }
  @media print {
    .consent-bar, .consent-reopen { display: none; }
    body { padding-block-end: 0; }
  }
}
