/* Cookie consent banner. Fixed to the bottom of the (zoomed) body, same card language as the nav. */
.consent { position: fixed; left: 50%; bottom: 20px; translate: -50% 0; z-index: 60; width: 1480px; box-sizing: border-box;
  padding: 24px 28px; background: var(--white); border: 1px solid var(--g200); border-radius: 16px;
  box-shadow: 0 8px 17px rgba(95,94,161,.06), 0 30px 30px rgba(95,94,161,.06), 0 68px 41px rgba(95,94,161,.04);
  font-size: 15px; line-height: 22px; color: var(--g700); }
.consent[hidden] { display: none; }
.consent-row { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.consent-text b { font-weight: 500; color: var(--g900); }
.consent-text a { color: var(--brand600); text-decoration: underline; text-underline-offset: 3px; }
.consent-btns { display: flex; gap: 10px; flex: none; }
.consent .btn { cursor: pointer; }
.consent-details { display: none; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--g200); }
.consent.is-details .consent-details { display: block; }
.consent-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.consent-cat { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--g200); border-radius: 12px; background: var(--g50); cursor: pointer; }
.consent-cat input { margin: 3px 0 0; width: 16px; height: 16px; flex: none; accent-color: var(--indigo); }
.consent-cat b { display: block; font-weight: 500; color: var(--g900); }
.consent-cat span { display: block; margin-top: 4px; font-size: 14px; line-height: 20px; }
.consent-cat.is-locked { cursor: default; opacity: .8; }
.consent-details .consent-btns { margin-top: 16px; justify-content: flex-end; }
