/* Public policy pages and legal request forms. Presentation only; no form behaviour. */
.bbs-legal {
  --bbs-legal-ink: #171715;
  --bbs-legal-paper: #fffdf8;
  --bbs-legal-soft: #f7f5f0;
  --bbs-legal-rose: #f4e1e3;
  --bbs-legal-accent: #ae1851;
  --bbs-legal-muted: #625d58;
  --bbs-legal-line: #d9d4cc;
  width: calc(100% - 48px);
  max-width: 920px;
  margin: 40px auto 72px;
  color: var(--bbs-legal-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.bbs-legal,
.bbs-legal *,
.bbs-legal *::before,
.bbs-legal *::after { box-sizing: border-box; }
.bbs-legal [hidden] { display: none !important; }
.bbs-legal :is(h1, h2, h3) {
  color: var(--bbs-legal-ink);
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.2;
  text-wrap: balance;
}
.bbs-legal h1 { max-width: 24ch; margin: 0 0 22px; font-size: clamp(32px, 4.5vw, 48px); letter-spacing: -.045em; }
.bbs-legal h2 { margin: 35px 0 14px; font-size: clamp(23px, 3vw, 29px); }
.bbs-legal h3 { margin: 27px 0 12px; font-size: 21px; }
.bbs-legal p { margin: 0 0 18px; color: var(--bbs-legal-muted); font-size: 16px; line-height: 1.75; }
.bbs-legal :is(ul, ol) { margin: 0 0 22px; padding-left: 24px; color: var(--bbs-legal-muted); }
.bbs-legal li { margin: 0 0 8px; padding-left: 3px; }
.bbs-legal a { color: var(--bbs-legal-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bbs-legal a:hover { color: var(--bbs-legal-ink); text-decoration-thickness: 2px; }
.bbs-legal strong { color: var(--bbs-legal-ink); }
.bbs-legal :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--bbs-legal-accent);
  outline-offset: 4px;
}
.bbs-legal :is(h2, h3, [id]) { scroll-margin-top: 130px; }
.bbs-legal-content {
  padding: clamp(23px, 4vw, 42px);
  border: 1px solid var(--bbs-legal-line);
  border-radius: 3px;
  background: var(--bbs-legal-paper);
}
.bbs-legal-content > :first-child { margin-top: 0; }
.bbs-legal-content > :last-child { margin-bottom: 0; }
.bbs-legal-content :is(h2, h3) { break-after: avoid; }
.bbs-legal-content h2:not(:first-child) { padding-top: 25px; border-top: 1px solid var(--bbs-legal-line); }
.bbs-legal-content :is(address, small) { color: var(--bbs-legal-muted); font-style: normal; }
.bbs-legal-content small { font-size: 13px; line-height: 1.7; }
.bbs-legal-form {
  margin: 25px 0 0;
  padding: clamp(23px, 4vw, 38px);
  border: 1px solid var(--bbs-legal-line);
  border-radius: 3px;
  background: var(--bbs-legal-paper);
}
.bbs-legal-form > :first-child { margin-top: 0; }
.bbs-legal-form > :last-child { margin-bottom: 0; }
.bbs-legal-form fieldset { min-width: 0; margin: 0 0 25px; padding: 0; border: 0; }
.bbs-legal-form legend { margin: 0 0 17px; padding: 0; color: var(--bbs-legal-ink); font-size: 18px; font-weight: 700; }
.bbs-legal-field { display: block; min-width: 0; margin: 0 0 23px; }
.bbs-legal-field > label,
.bbs-legal-field > span:first-child,
.bbs-legal-field > .bbs-legal-label { display: block; margin: 0 0 8px; color: var(--bbs-legal-ink); font-size: 15px; font-weight: 700; line-height: 1.6; }
.bbs-legal-field :is(input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="date"], input[type="datetime-local"], select, textarea) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 51px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #aaa298;
  border-radius: 2px;
  background: var(--bbs-legal-paper);
  box-shadow: none;
  color: var(--bbs-legal-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.bbs-legal-field select { padding-right: 32px; }
.bbs-legal-field textarea { min-height: 150px; resize: vertical; }
.bbs-legal-field input::placeholder,
.bbs-legal-field textarea::placeholder { color: #716b64; opacity: 1; }
.bbs-legal-field :is(input[type="checkbox"], input[type="radio"]) { width: 22px; height: 22px; min-width: 22px; min-height: 22px; margin: 0 8px 2px 0; accent-color: var(--bbs-legal-accent); vertical-align: middle; }
.bbs-legal-field label:has(input[type="checkbox"]),
.bbs-legal-field label:has(input[type="radio"]) { padding-block: 9px; font-size: 14px; font-weight: 400; }
.bbs-legal-field :is(small, .description, .bbs-legal-help) { display: block; margin: 8px 0 0; color: var(--bbs-legal-muted); font-size: 13px; line-height: 1.7; }
.bbs-legal-field :is(input, select, textarea)[aria-invalid="true"] { border: 2px solid #9b2339; }
.bbs-legal-field :is(.bbs-legal-error, [role="alert"]) { margin: 8px 0 0; color: #8b2034; font-size: 14px; font-weight: 700; }
.bbs-legal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 27px 0 0; }
.bbs-legal .bbs-legal-actions :is(button, input[type="submit"], a) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  min-height: 51px;
  margin: 0;
  padding: 14px 21px;
  border: 1px solid var(--bbs-legal-ink);
  border-radius: 2px;
  background: var(--bbs-legal-ink);
  color: var(--bbs-legal-paper);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
.bbs-legal .bbs-legal-actions :is(button, input[type="submit"], a):hover { border-color: var(--bbs-legal-accent); background: var(--bbs-legal-accent); color: #fff; }
.bbs-legal .bbs-legal-actions .bbs-legal-secondary { border-color: #aaa298; background: transparent; color: var(--bbs-legal-ink); }
.bbs-legal .bbs-legal-actions .bbs-legal-secondary:hover { border-color: var(--bbs-legal-ink); background: var(--bbs-legal-soft); color: var(--bbs-legal-ink); }
.bbs-legal .bbs-legal-actions :is(button, input[type="submit"]):disabled { border-color: #b6b0a8; background: #e6e1d9; color: #625d58; cursor: not-allowed; }
.bbs-legal-notice {
  margin: 23px 0;
  padding: 19px 22px;
  border: 1px solid #dfbdc5;
  border-left: 4px solid var(--bbs-legal-accent);
  border-radius: 2px;
  background: var(--bbs-legal-rose);
  color: var(--bbs-legal-ink);
}
.bbs-legal-notice :is(p, ul, ol) { color: #554548; font-size: 14px; }
.bbs-legal-notice > :first-child { margin-top: 0; }
.bbs-legal-notice > :last-child { margin-bottom: 0; }
.bbs-legal-notice--error,
.bbs-legal-notice[role="alert"] { border-color: #d4a0ac; border-left-color: #9b2339; background: #faebee; color: #8b2034; }
.bbs-legal-notice--error :is(p, ul, ol, strong),
.bbs-legal-notice[role="alert"] :is(p, ul, ol, strong) { color: #8b2034; }
.bbs-legal-notice[tabindex="-1"]:focus { outline: 3px solid var(--bbs-legal-accent); outline-offset: 4px; }
.bbs-legal-receipt { margin: 27px 0; padding: clamp(23px, 4vw, 38px); border: 1px solid #dfbdc5; border-top: 5px solid var(--bbs-legal-accent); border-radius: 3px; background: var(--bbs-legal-paper); }
.bbs-legal-receipt > :first-child { margin-top: 0; }
.bbs-legal-receipt > :last-child { margin-bottom: 0; }
.bbs-legal-receipt dl { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); gap: 12px 22px; margin: 23px 0; padding: 20px 0; border-block: 1px solid var(--bbs-legal-line); }
.bbs-legal-receipt dl > div { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); grid-column: 1 / -1; gap: 22px; }
.bbs-legal-receipt dt { margin: 0; color: var(--bbs-legal-muted); font-size: 13px; font-weight: 400; }
.bbs-legal-receipt dd { min-width: 0; margin: 0; color: var(--bbs-legal-ink); font-size: 15px; font-weight: 700; }
.bbs-legal-receipt :is(code, time) { color: inherit; font-family: inherit; font-size: inherit; }
@media (max-width: 600px) {
  .bbs-legal { width: calc(100% - 32px); margin-block: 28px 44px; font-size: 15px; }
  .bbs-legal h1 { font-size: 33px; }
  .bbs-legal h2 { margin-top: 29px; font-size: 24px; }
  .bbs-legal p { font-size: 15px; }
  .bbs-legal-content,
  .bbs-legal-form,
  .bbs-legal-receipt { padding: 23px 20px; }
  .bbs-legal-content :is(ul, ol) { padding-left: 20px; }
  .bbs-legal-field { margin-bottom: 21px; }
  .bbs-legal-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .bbs-legal .bbs-legal-actions :is(button, input[type="submit"], a) { width: 100%; }
  .bbs-legal-notice { padding: 17px; }
  .bbs-legal-receipt dl,
  .bbs-legal-receipt dl > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .bbs-legal-receipt dd { margin-bottom: 12px; }
  .bbs-legal-receipt dd:last-child { margin-bottom: 0; }
}
@media print {
  .bbs-legal { width: 100%; max-width: none; margin: 0; color: #000; font-size: 11pt; }
  .bbs-legal :is(p, li, dt, dd, small, strong) { color: #000; }
  .bbs-legal :is(p, li) { font-size: 11pt; }
  .bbs-legal :is(h1, h2, h3) { color: #000; break-after: avoid; }
  .bbs-legal-content,
  .bbs-legal-receipt,
  .bbs-legal-notice { padding: 15pt 0; border: 0; border-block: 1px solid #777; border-radius: 0; background: #fff; box-shadow: none; }
  .bbs-legal-receipt dl { break-inside: avoid; }
  .bbs-legal a { color: #000; text-decoration: underline; }
  .bbs-legal .bbs-legal-actions { display: none; }
  .bbs-legal-form { border-color: #777; background: #fff; }
}

/* Legal navigation is available throughout the site, including maintenance. */
.bbs-legal.bbs-legal-footer{max-width:none;margin:0;padding:20px 24px;background:#eee7e0;text-align:center;font-size:14px;line-height:1.8;color:#24211f}
.bbs-legal-footer a{display:inline-block;margin:0 7px;color:inherit;text-decoration:underline;text-underline-offset:3px}
.bbs-legal-footer a:focus-visible{outline:3px solid #8a4e68;outline-offset:4px}
@media print{.bbs-legal-footer{display:none!important}}
