/* Cookie consent banner.
   Uses the site's own palette (#0f284c navy, #004596 blue) and its .button
   classes, so it reads as part of the page rather than a bolted-on widget. */

.cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1080;
  background-color: #0f284c;
  color: #fff;
  padding: 20px 24px;
  box-shadow: 0 -2px 16px rgba(15, 40, 76, 0.18);
  font-size: 15px;
  line-height: 24px;
}

.cookie-consent[hidden] { display: none; }

.cookie-consent__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
}

.cookie-consent__text { flex: 1 1 420px; margin: 0; }

.cookie-consent__text a {
  color: #fff;
  text-decoration: underline;
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.cookie-consent .button { padding: 10px 18px; font-size: 15px; line-height: 22px; }

.cookie-consent__link {
  background: none;
  border: 0;
  color: #fff;
  text-decoration: underline;
  cursor: pointer;
  font-size: 15px;
  padding: 10px 4px;
}

.cookie-consent__panel {
  flex: 1 1 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 4px;
  padding-top: 16px;
}

.cookie-consent__panel[hidden] { display: none; }

.cookie-consent__option { margin-bottom: 12px; }

.cookie-consent__option label { font-weight: 600; cursor: pointer; }

.cookie-consent__option p {
  margin: 2px 0 0 24px;
  opacity: 0.8;
  font-size: 14px;
  line-height: 20px;
}

.cookie-consent__option input { margin-right: 8px; }

.cookie-consent__option input:disabled + label { opacity: 0.7; cursor: default; }

@media (max-width: 767px) {
  .cookie-consent { padding: 16px; font-size: 14px; line-height: 21px; }
  .cookie-consent__actions { width: 100%; }
  .cookie-consent__actions .button { flex: 1 1 auto; }
}

/* Plain, readable legal pages. The rest of the site is marketing layout;
   these are documents. */
.legal-page { max-width: 820px; margin: 0 auto; padding: 48px 16px 64px; }
.legal-page h1 { margin-bottom: 8px; }
.legal-page h2 { margin-top: 36px; margin-bottom: 12px; font-size: 22px; }
.legal-page h3 { margin-top: 24px; margin-bottom: 8px; font-size: 18px; }
.legal-page p, .legal-page li { line-height: 26px; }
.legal-page table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.legal-page th, .legal-page td {
  border: 1px solid #dde3ec; padding: 8px 10px; text-align: left; vertical-align: top;
  font-size: 15px; line-height: 22px;
}
.legal-page th { background: #f5f7fa; }
.legal-page__updated { color: #6b7a90; font-size: 15px; }
.legal-page__draft {
  border: 1px solid #f0c36d; background: #fdf6e3; color: #6b5420;
  padding: 12px 16px; border-radius: 4px; margin: 20px 0; font-size: 15px; line-height: 22px;
}

/* Legal links in the site footer. Matches the footer's own muted style. */
.footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  padding: 20px 0 4px;
  font-size: 14px;
  line-height: 20px;
  opacity: 0.75;
}
.footer__legal a, .footer__legal-button {
  color: inherit;
  text-decoration: underline;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.footer__legal a:hover, .footer__legal-button:hover { opacity: 0.85; }
.footer__legal-entity { margin-left: auto; opacity: 0.8; }
@media (max-width: 767px) { .footer__legal-entity { margin-left: 0; width: 100%; } }
