:root {
  --pdg-navy: #0d2748;
  --pdg-blue: #1359a6;
  --pdg-blue-soft: #eaf2fb;
  --pdg-ink: #1b2635;
  --pdg-muted: #677384;
  --pdg-line: #e4e8ee;
  --pdg-panel: #f6f8fb;
  --pdg-white: #ffffff;
  --pdg-radius: 6px;
  --pdg-left: 270px;
  --pdg-right: 300px;
}

.pdg-legal-shell,
.pdg-legal-shell * { box-sizing: border-box; }

.pdg-legal-shell {
  display: grid;
  grid-template-columns: var(--pdg-left) minmax(0, 1fr) var(--pdg-right);
  min-height: 100vh;

  /* Break out of narrow WordPress/theme content containers. */
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: var(--pdg-white);
  color: var(--pdg-ink);
  border-top: 1px solid var(--pdg-line);
  border-bottom: 1px solid var(--pdg-line);
  border-left: 0;
  border-right: 0;
  position: relative;
  z-index: 1;
}


/* Keep the legal library full-bleed even when a theme applies max-width rules to entry-content children. */
.entry-content > .pdg-legal-shell,
.wp-block-post-content > .pdg-legal-shell,
.site-main .pdg-legal-shell {
  max-width: 100vw !important;
}

.pdg-legal-left {
  border-right: 1px solid var(--pdg-line);
  background: #fff;
  padding: 22px 0;
}

.pdg-legal-left-title {
  padding: 0 22px 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--pdg-muted);
}

.pdg-legal-doc-nav {
  position: sticky;
  top: 24px;
}

.pdg-legal-doc-link {
  appearance: none;
  display: block;
  width: 100%;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: #394657;
  text-align: left;
  padding: 11px 22px 11px 19px;
  font: inherit;
  line-height: 1.35;
  cursor: pointer;
  transition: .18s ease;
}

.pdg-legal-doc-link:hover {
  background: #f6f8fb;
  color: var(--pdg-blue);
}

.pdg-legal-doc-link.is-active {
  background: var(--pdg-blue);
  border-left-color: var(--pdg-blue);
  color: #fff;
}

.pdg-legal-main { min-width: 0; }

.pdg-legal-hero {
  background: var(--pdg-navy);
  color: #fff;
  padding: 34px clamp(28px, 5vw, 72px) 30px;
}

.pdg-legal-kicker {
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: 8px;
}

.pdg-legal-current-title {
  color: #fff;
  margin: 0;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.1;
  font-weight: 650;
}

.pdg-legal-documents {
  padding: 46px clamp(28px, 5vw, 72px) 70px;
}

.pdg-legal-document { display: none; }
.pdg-legal-document.is-active { display: block; }

.pdg-legal-document-inner {
  max-width: 850px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.75;
}

.pdg-legal-document-inner > :first-child { margin-top: 0; }

.pdg-legal-document-inner h2,
.pdg-legal-document-inner h3 {
  scroll-margin-top: 28px;
  color: var(--pdg-ink);
}

.pdg-legal-document-inner h2 {
  font-size: 26px;
  margin: 42px 0 14px;
}

.pdg-legal-document-inner h3 {
  font-size: 20px;
  margin: 30px 0 10px;
}

.pdg-legal-document-inner a { color: var(--pdg-blue); }
.pdg-legal-document-inner hr { border: 0; border-top: 1px solid var(--pdg-line); margin: 34px 0; }

.pdg-legal-right {
  background: var(--pdg-panel);
  padding: 26px 18px;
  border-left: 1px solid var(--pdg-line);
}

.pdg-legal-toc-card {
  position: sticky;
  top: 24px;
  background: #fff;
  border: 1px solid var(--pdg-line);
  box-shadow: 0 8px 24px rgba(24, 39, 58, .06);
  padding: 20px 18px 22px;
}

.pdg-legal-toc-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}

.pdg-legal-toc-current {
  color: var(--pdg-blue);
  font-size: 14px;
  line-height: 1.45;
  padding: 0 0 12px 12px;
  border-left: 3px solid #1aa2d6;
  margin-bottom: 10px;
}

.pdg-legal-toc {
  max-height: calc(100vh - 180px);
  overflow-y: auto;
  padding-right: 4px;
}

.pdg-legal-toc a {
  display: block;
  text-decoration: none;
  color: #687386;
  font-size: 14px;
  line-height: 1.35;
  padding: 8px 0 8px 12px;
  border-left: 1px solid #d9dee6;
  transition: .18s ease;
}

.pdg-legal-toc a[data-level="3"] {
  padding-left: 26px;
  font-size: 13px;
}

.pdg-legal-toc a:hover,
.pdg-legal-toc a.is-active {
  color: var(--pdg-blue);
  border-left-color: var(--pdg-blue);
}

.pdg-legal-empty {
  padding: 20px;
  border: 1px dashed #bcc5d1;
  background: #f8fafc;
}

@media (max-width: 1050px) {
  .pdg-legal-shell {
    grid-template-columns: 220px minmax(0, 1fr);
  }
  .pdg-legal-right { display: none; }
}

@media (max-width: 760px) {
  .pdg-legal-shell { display: block; }
  
/* Keep the legal library full-bleed even when a theme applies max-width rules to entry-content children. */
.entry-content > .pdg-legal-shell,
.wp-block-post-content > .pdg-legal-shell,
.site-main .pdg-legal-shell {
  max-width: 100vw !important;
}

.pdg-legal-left { border-right: 0; border-bottom: 1px solid var(--pdg-line); padding: 12px 0; }
  .pdg-legal-left-title { padding: 0 16px 10px; }
  .pdg-legal-doc-nav {
    position: static;
    display: flex;
    overflow-x: auto;
    padding: 0 10px 2px;
    gap: 8px;
  }
  .pdg-legal-doc-link {
    width: auto;
    flex: 0 0 auto;
    border: 1px solid var(--pdg-line);
    border-left-width: 1px;
    border-radius: 999px;
    padding: 9px 14px;
    white-space: nowrap;
  }
  .pdg-legal-doc-link.is-active { border-color: var(--pdg-blue); }
  .pdg-legal-hero { padding: 26px 22px; }
  .pdg-legal-documents { padding: 30px 22px 50px; }
}
