/*!
 * legal.css - shared styling for Plus Care public policy pages
 * (privacy policy, terms and conditions, cookie policy, disclaimer)
 *
 * Uses the existing Plus Care palette only: #00568b (brand blue),
 * #f26e38 (brand orange), #3e3e72 (body text), #e6eaec (header band).
 * No branding, colour or typography decisions are introduced here.
 */

.legal-page {
  margin: 0;
  padding: 0;
  color: #3e3e72;
  font-family: Geometria, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  background: #fff;
}

.legal-header {
  background: #e6eaec;
  padding: 18px 20px;
}

.legal-header a.legal-logo { display: inline-block; }
.legal-header img { height: 64px; width: auto; }

.legal-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 32px 20px 56px;
}

.legal-wrap h1 {
  font-size: 30px;
  line-height: 1.25;
  color: #00568b;
  margin: 0 0 6px;
}

.legal-meta {
  font-size: 14px;
  color: #5a5a7a;
  margin: 0 0 28px;
}

.legal-wrap h2 {
  font-size: 21px;
  line-height: 1.3;
  color: #00568b;
  margin: 34px 0 10px;
}

.legal-wrap h3 {
  font-size: 17px;
  line-height: 1.35;
  color: #3e3e72;
  margin: 22px 0 8px;
}

.legal-wrap p { margin: 0 0 14px; }
.legal-wrap ul, .legal-wrap ol { margin: 0 0 16px; padding-left: 1.6rem; }
.legal-wrap li { margin-bottom: 7px; }
.legal-wrap a { color: #00568b; }
.legal-wrap a:hover { color: #f26e38; }

.legal-wrap table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 20px;
  font-size: 15px;
}
.legal-wrap caption {
  caption-side: top;
  text-align: left;
  font-weight: 700;
  padding-bottom: 8px;
  color: #3e3e72;
}
.legal-wrap th, .legal-wrap td {
  border: 1px solid #c9d3da;
  padding: 9px 11px;
  text-align: left;
  vertical-align: top;
}
.legal-wrap th { background: #e6eaec; color: #00568b; }

/* Clearly marked, visually obvious placeholder for anything awaiting sign-off. */
.legal-review {
  display: block;
  border-left: 5px solid #f26e38;
  background: #fff6f1;
  padding: 12px 16px;
  margin: 0 0 18px;
  font-size: 15px;
}
.legal-review strong { color: #a8410f; }

.legal-footer {
  border-top: 1px solid #c9d3da;
  margin-top: 40px;
  padding-top: 20px;
  font-size: 15px;
}
.legal-footer ul { list-style: none; padding: 0; margin: 0 0 12px; }
.legal-footer li { display: inline-block; margin: 0 16px 8px 0; }

a:focus-visible,
button:focus-visible { outline: 3px solid #f26e38; outline-offset: 2px; }

.skip-link {
  position: absolute;
  left: -9999px;
  background: #00568b;
  color: #fff;
  padding: 10px 16px;
  z-index: 100;
}
.skip-link:focus {
  left: 8px;
  top: 8px;
}

@media (max-width: 600px) {
  .legal-wrap { padding: 22px 16px 40px; }
  .legal-wrap h1 { font-size: 25px; }
  .legal-wrap h2 { font-size: 19px; }
  /* Tables scroll rather than overflow the page. */
  .legal-table-scroll { overflow-x: auto; }
}
