/* Group D — PUB-10 Privacy and Child Safety, PUB-14/15/16 legal pages (B1 p.33–35, 45–53). */

/* Dark page heroes */
.safety-hero, .legal-hero { padding: 48px 0; }
@media (min-width: 600px) { .safety-hero, .legal-hero { padding: 64px 0 56px; } }
@media (min-width: 1024px) { .safety-hero, .legal-hero { padding: 72px 0; } }
.safety-hero .wrap, .legal-hero .wrap { display: grid; gap: 22px; justify-items: start; }
.safety-hero .h1, .legal-hero .h1 { color: #fff; }
.legal-hero__lede { font-size: 18px; line-height: 1.6; color: #F2EFEA; max-width: 31em; }
@media (min-width: 1024px) { .legal-hero__lede { font-size: 20px; } }
.safety-hero .btn-row { margin-top: 8px; }
.br-t { display: none; }
@media (min-width: 600px) and (max-width: 1023px) { .br-t { display: inline; } }
@media (max-width: 599px) { .safety-hero .btn-row { width: 100%; } }

/* Legal meta row: version facts and actions */
.legal-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 6px; }
.legal-meta__facts { display: flex; flex-wrap: wrap; gap: 8px 24px; color: var(--dark-muted); font-size: 16px; }
.legal-meta__facts > span { display: inline-flex; align-items: center; gap: 8px; }
.legal-meta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.on-dark .ph { background: #3A3000; color: #F9E27D; }
.on-dark .ph--proposed { box-shadow: inset 0 -1px 0 #F9E27D; }
.btn--inert { cursor: not-allowed; opacity: .62; }
@media (max-width: 599px) {
  .legal-meta, .legal-meta__actions { width: 100%; }
  .legal-meta__actions { flex-direction: column; }
  .legal-meta__actions .btn { width: 100%; }
}

/* Pending-counsel banner band */
.legal-banner { padding-bottom: 0; }
@media (min-width: 1024px) { .legal-banner { padding-top: 64px; } }

/* Contents + article */
.legal-grid { display: grid; gap: 24px; }
@media (min-width: 1024px) { .legal-grid { grid-template-columns: 260px minmax(0, 672px); gap: 64px; align-items: start; } }
.legal-toc__list { display: none; }
@media (min-width: 1024px) {
  .legal-toc__list { display: block; border-left: 1px solid var(--border-strong); padding: 4px 0 4px 16px; }
  .legal-toc__disclosure { display: none; }
}
.legal-toc ol { display: grid; gap: 4px; }
.legal-toc a { display: block; padding: 6px 0; color: var(--body); text-decoration: none; font-size: 15px; line-height: 1.45; }
.legal-toc a:hover { color: var(--teal-600); text-decoration: underline; }
.legal-toc a[aria-current] { color: var(--ink); font-weight: 600; }
.legal-toc__disclosure { background: var(--card); border: 1px solid var(--border-strong); border-radius: var(--r-ctl); }
.legal-toc__disclosure summary { list-style: none; display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 0 16px 0 20px; font: 600 17px/1.3 var(--f-ui); color: var(--ink); cursor: pointer; }
.legal-toc__disclosure summary::-webkit-details-marker { display: none; }
.legal-toc__disclosure summary .i { transition: transform var(--t); }
.legal-toc__disclosure[open] summary .i { transform: rotate(180deg); }
.legal-toc__disclosure ol { padding: 0 20px 14px; }
.legal-toc__disclosure a { min-height: 44px; display: flex; align-items: center; }

.legal-article { display: grid; gap: 40px; }
.legal-sec { display: grid; gap: 16px; scroll-margin-top: 16px; }
.legal-sec__h { font: 400 28px/1.15 var(--f-display); letter-spacing: -0.01em; color: var(--ink); }
@media (min-width: 1024px) { .legal-sec__h { font-size: 34px; } }
.counsel-block { background: #FFFAF0; border: 1px dashed #E6D3A3; border-radius: var(--r-ctl); padding: 14px 16px; color: #5C4100; font-size: 15.5px; line-height: 1.6; }
.legal-note { font-size: 14px; color: var(--muted); }

/* Legal tables: stacked records with inline labels below 600 px (GB-05) */
.legal-table { border: 1px solid var(--border); border-radius: var(--r-ctl); background: var(--card); overflow: hidden; }
.legal-table table { width: 100%; border-collapse: collapse; font-size: 15px; }
.legal-table th, .legal-table td { text-align: left; padding: 14px; border-bottom: 1px solid var(--border); vertical-align: top; font-weight: 400; color: var(--body); }
.legal-table thead th { background: var(--sunken); font: 600 12px/1.4 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.legal-table tbody tr:last-child > * { border-bottom: 0; }
@media (max-width: 599px) {
  .legal-table thead { display: none; }
  .legal-table table, .legal-table tbody, .legal-table tr, .legal-table th, .legal-table td { display: block; }
  .legal-table tr { padding: 12px 14px; border-bottom: 1px solid var(--border); }
  .legal-table tbody tr:last-child { border-bottom: 0; }
  .legal-table tbody th, .legal-table td { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 12px; padding: 6px 0; border-bottom: 0; }
  .legal-table tbody th::before, .legal-table td::before { content: attr(data-label); color: var(--muted); font-weight: 600; font-size: 14px; }
}

/* Version history state */
.history { display: grid; gap: 16px; padding: 24px 20px; }
@media (min-width: 600px) { .history { padding: 32px; } }
.history .h2 { font-size: 32px; margin-bottom: 8px; }
.history__v { margin: 0; border-bottom: 2px solid var(--border); }
.history__v > div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 20px; border-bottom: 1px solid var(--border); }
.history__v > div:last-child { border-bottom: 0; }
.history__v dt { font-weight: 600; color: var(--muted); }
.history__v dd { margin: 0; text-align: right; color: var(--body); }
.history__note { color: var(--muted); font-size: 15px; }

/* PUB-10 sections */
.safety-x li { color: var(--body); }
.safety-x .i { color: var(--teal-600); }
@media (min-width: 1024px) { .safety-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .safety-x { align-self: start; padding-top: 34px; } }
.doc-card { display: grid; gap: 10px; align-content: start; }
.doc-card .h3 { display: flex; align-items: center; gap: 10px; }
.doc-card .h3 .i { color: var(--teal-600); }
.doc-card p { font-size: 15px; }
.safety-contact { margin-top: 24px; font-size: 15px; color: var(--muted); }
.legal-withheld { min-height: 30vh; }
.on-dark .btn--inert[aria-disabled="true"] { background: transparent; color: #8A857E; border-color: #3A3734; opacity: 1; }
@media (min-width: 1024px) { .safety-hero .legal-hero__lede { max-width: 28em; } }
@media (max-width: 599px) { .legal-table td > *, .legal-table th > * { justify-self: start; align-self: start; } }
