/* legal.css V1.3 - 2026-10-17, Nolan: .h-legal__mine, the member's own accepted version in the version list. */
/* legal.css V1.2 - 2026-10-17, Nolan (official legal rollout): the earlier-version note and the Every version list on the public pages; the Updated agreements page (agreements.html). */
/* legal.css V1.1 - 2026-10-11, Nolan (Karl, Ben's walk): the Terms and Privacy pages scroll inside the app frame (the content area is the scroller; the app bar stays); print undoes the frame so the whole document prints. */
/* legal.css V1.0 - 2026-10-08, PT-TIPS (N-D-8). The public Terms of Service and Privacy Policy pages (terms.html, privacy.html; printable) and the Legal section of Staff Admin › Hockey365 settings (edit, preview, publish, history). */

/* ---- the public pages ---- */
.h-legal-page .h-appbar { justify-content: space-between; }
/* (2026-10-11, Karl, Ben's walk: the pages would not scroll.) .h-app is a fixed 100dvh column that clips, so the
   content area is the scroller inside it (the components.css APP SHELL rule: flex:1 + min-height:0 + overflow-y:auto)
   and the app bar stays put. The scroller is full width so the scroll bar sits at the window edge and the wheel works
   anywhere on the page; the side padding centres the same 760px text column (728px of text plus 16px each side). */
.h-legal-main {
  box-sizing: border-box; width: 100%; flex: 1 1 auto; min-height: 0;
  overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  padding: 18px max(16px, calc((100% - 728px) / 2)) 48px;
}
.h-legal__h1 { margin: 4px 0 4px; font: 400 30px/1.05 var(--font-display); letter-spacing: .02em; text-transform: uppercase; }
.h-legal__meta { margin: 0 0 18px; color: var(--muted); font-size: 12.5px; }
.h-legal { color: var(--ink); font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.h-legal h2 { margin: 26px 0 8px; font-size: 18px; font-weight: 800; }
.h-legal h3 { margin: 20px 0 6px; font-size: 16px; font-weight: 800; }
.h-legal h4 { margin: 16px 0 4px; font-size: 14.5px; font-weight: 800; }
.h-legal p { margin: 0 0 12px; }
.h-legal ul, .h-legal ol { margin: 0 0 12px; padding-left: 22px; }
.h-legal li { margin: 0 0 4px; }
.h-legal strong { font-weight: 800; }
.h-legal__old { margin: 0 0 16px; padding: 10px 12px; border: 1px solid var(--line2); border-radius: var(--r-lg); color: var(--ink); background: var(--panel); }
.h-legal__history { margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--line); }
.h-legal__history h2 { font-size: 15px; margin: 0 0 8px; }
.h-legal__history ul { margin: 0; padding-left: 18px; color: var(--muted); }
.h-legal__unloaded { padding: 14px; border: 1px dashed var(--line2); border-radius: var(--r-lg); color: var(--muted); }
/* Printed, the text is dark ink on white paper whatever the app style (the document.css pattern: scoped, reasoned). */
.h-legal-page {
  --legal-ink: #18191b;      /* raw-colour: printed legal text is near-black ink on white paper in every app style */
  --legal-paper: #ffffff;    /* raw-colour: the paper itself */
}
@media print {
  .h-legal-page .h-appbar { display: none; }
  body, .h-legal-page, .h-legal, .h-legal__h1, .h-legal__meta { background: var(--legal-paper); color: var(--legal-ink); }
  /* Paper shows the whole document: the frame and the scroller are undone, so nothing is clipped to one screen. */
  .h-app.h-legal-page { display: block; height: auto; max-height: none; overflow: visible; }
  .h-legal-main { max-width: none; padding: 0; overflow: visible; flex: none; min-height: 0; }
}

/* ---- Staff Admin › Hockey365 settings › Legal ---- */
.h-lgl__host { margin-top: 18px; }
.h-lgl__host .h-sec-label .h-ic { width: 15px; height: 15px; margin-right: 6px; vertical-align: -2px; color: var(--green); }
.h-lgl__rows, .h-lgl__hist { display: grid; gap: 6px; margin: 8px 0 4px; }
.h-lgl__row, .h-lgl__ver {
  display: grid; grid-template-columns: 34px minmax(0, 1fr) 14px; align-items: center; gap: 10px; width: 100%;
  min-height: 48px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--bg);
  color: var(--ink); font: inherit; text-align: left; cursor: pointer;
}
.h-lgl__ver { grid-template-columns: minmax(0, 1fr) 14px; }
.h-lgl__ic { display: grid; place-items: center; width: 34px; height: 34px; border-radius: var(--r-md); background: var(--active-green-bg); color: var(--green); }
.h-lgl__ic .h-ic { width: 17px; height: 17px; }
.h-lgl__main, .h-lgl__ver > span:first-child { min-width: 0; }
.h-lgl__row strong, .h-lgl__ver strong { display: block; font-size: 14px; }
.h-lgl__row small, .h-lgl__ver small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.h-lgl__row > .h-ic:last-child, .h-lgl__ver > .h-ic:last-child { width: 14px; height: 14px; color: var(--muted); }
.h-lgl .h-sec-label .h-ic { width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; color: var(--green); }
.h-lgl__text { box-sizing: border-box; width: 100%; min-height: 260px; font: 14px/1.5 var(--font-body); resize: vertical; }
.h-lgl__prev { margin: 12px 0; padding: 12px; border: 1px solid var(--line2); border-radius: var(--r-lg); background: var(--bg); }
.h-lgl__prev[hidden] { display: none; }
.h-lgl__prevhead { margin-bottom: 8px; color: var(--purple); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.h-lgl__prev .h-legal { font-size: 14px; }
.h-lgl__acts { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; margin-top: 14px; }
.h-lgl__acts .h-btn .h-ic { width: 15px; height: 15px; margin-right: 6px; }

/* The Updated agreements page (agreements.html): one card per document, the two ticks, the one action, Help and Sign out. */
.h-agree__doc { margin: 0 0 14px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel); }
.h-agree__doc h2 { margin: 0 0 6px; font-size: 16px; }
.h-agree__doc h2 small { font-weight: 500; color: var(--muted); font-size: 12.5px; }
.h-agree__acts { margin: 6px 0 18px; }
.h-agree__help { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); }
/* The member's own accepted versions (signed in), beside each version in the list (2026-10-17). */
.h-legal__mine { display: block; font-style: normal; font-size: 0.9em; color: var(--green); }
