/* ============================================================================
   Charter — "ADP" handbook theme
   Faithfully reproduces the ADP professional layout the customer selected:
   taupe header bands, white-inset cover, warm-grey left sidebar, Arial body.
   Activated by adding .theme-adp to the .doc element.
   Colors sampled from the source PDF.
   ========================================================================== */

.doc.theme-adp {
  --adp-taupe: #938C85;
  --adp-taupe-d: #847D76;
  --adp-sidebar: #E3DFDA;
  --adp-ink: #1F1F1F;
  --adp-font: Arial, "Helvetica Neue", Helvetica, "Liberation Sans", system-ui, sans-serif;
  font-family: var(--adp-font);
  color: var(--adp-ink);
}

/* white pages, warm-grey left sidebar on every page */
.theme-adp .page { background: #FFFFFF; overflow: hidden; }
.theme-adp .page::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 26px;
  background: var(--adp-sidebar); z-index: 0;
}
.theme-adp .page > * { position: relative; z-index: 1; }
.theme-adp .page::after { display: none; }

/* ---------------------------------------------------------------- cover -- */
.theme-adp .cover { padding: 0; min-height: 660px; }
.theme-adp .cover::before { display: none; }            /* no sidebar on cover */
.theme-adp .cv-top, .theme-adp .cv-foot,
.theme-adp .cv-kicker, .theme-adp .cv-rule, .theme-adp .cv-title { display: none; }

.theme-adp .cv-band {
  display: block; position: absolute; top: 0; left: 0; right: 0; height: 45%;
  background: var(--adp-taupe); border-radius: 3px 3px 0 0; z-index: 0;
}
.theme-adp .cv-draft-mark {
  display: block; position: absolute; left: 20px; z-index: 2;
  font-family: var(--adp-font); font-size: 11px; letter-spacing: .04em; color: #3a3a3a;
}
.theme-adp .cv-dm-top { top: 16px; }
.theme-adp .cv-dm-bot { bottom: 16px; }

.theme-adp .cv-center {
  position: absolute; left: 0; top: 29%; width: 56%; z-index: 1;
  background: #FFFFFF; padding: 30px 40px 28px; box-shadow: 0 1px 0 rgba(0,0,0,.04);
}
.theme-adp .cover .cv-co {
  font-family: var(--adp-font); font-weight: 700; color: var(--adp-ink);
  font-size: 2.5rem; line-height: 1.08; letter-spacing: 0; margin: 0;
}
.theme-adp .cv-draftdate {
  display: block; font-family: var(--adp-font); font-size: .95rem; color: #444; margin-top: .7rem;
}

/* ------------------------------------------------------------------ TOC -- */
.theme-adp .toc h2 {
  font-family: var(--adp-font); font-weight: 700; color: var(--adp-ink);
  font-size: 1.9rem; letter-spacing: 0; margin: 1.2rem 0 2rem;
}
.theme-adp .toc-colhead {
  display: flex; align-items: baseline; font-family: var(--adp-font); font-weight: 700;
  color: var(--adp-ink); font-size: .95rem; letter-spacing: .02em;
  border-bottom: 1.5px solid #8c8c8c; padding-bottom: .35rem; margin-bottom: .6rem;
}
.theme-adp .toc-colhead .ch-no { flex: 0 0 auto; }
.theme-adp .toc-colhead .ch-title { flex: 1 1 auto; padding-left: 2.4em; }
.theme-adp .toc-colhead .ch-date { flex: 0 0 auto; }

.theme-adp .ts-head {
  font-family: var(--adp-font); font-weight: 700; color: var(--adp-ink);
  font-size: 1rem; border: none; letter-spacing: 0; margin-bottom: .15rem; padding-bottom: 0;
}
.theme-adp .ts-num { color: var(--adp-ink); }
.theme-adp .toc-sec { margin-bottom: 1rem; }
.theme-adp .toc-row { font-family: var(--adp-font); color: var(--adp-ink); font-size: .92rem; padding: .12rem 0 .12rem 2.4em; }
.theme-adp .tr-num { width: 2.8em; color: var(--adp-ink); }
.theme-adp .tr-dots { display: none; }
.theme-adp .tr-st { display: none; }                    /* ADP leaves effective-date blank */

/* ---------------------------------------------------- section bands ----- */
.theme-adp .sec-title {
  background: var(--adp-taupe); color: #FFFFFF; border: none; border-radius: 3px;
  font-family: var(--adp-font); font-weight: 700; font-size: 1.45rem; letter-spacing: 0;
  margin: -64px -64px 26px -64px; padding: 24px 64px; gap: .15rem;
}
.theme-adp .sec-title .st-n { color: #FFFFFF; font-weight: 700; font-size: 1.45rem; }

/* ---------------------------------------------------------- policies ---- */
.theme-adp .pol-h { font-family: var(--adp-font); color: var(--adp-ink); font-weight: 700; font-size: 1rem; }
.theme-adp .pol-h .ph-n { color: var(--adp-ink); font-weight: 700; }
.theme-adp .ph-state { display: none; }                 /* state is already in the title text */
.theme-adp .pol-body {
  font-family: var(--adp-font); color: #2a2a2a; font-size: .9rem; line-height: 1.5; text-align: justify;
}
.theme-adp .pol-body strong { color: var(--adp-ink); }
.theme-adp .pol-body li::marker { color: var(--adp-taupe-d); }
.theme-adp .scaffold-note { background: #f4f1ec; border-color: var(--adp-taupe); color: #6a6259; }
.theme-adp .scaffold-note b { color: var(--adp-taupe-d); }

/* ---------------------------------------------------- acknowledgment ---- */
.theme-adp .signoff h2 { font-family: var(--adp-font); font-weight: 700; color: var(--adp-ink); }
.theme-adp .signoff p { font-family: var(--adp-font); color: #2a2a2a; }
.theme-adp .prep { background: #f4f1ec; border-color: #ddd6cd; }
.theme-adp .prep h3 { color: var(--adp-taupe-d); }
.theme-adp .prep-row, .theme-adp .prep-l, .theme-adp .prep-v, .theme-adp .sig-cap { font-family: var(--adp-font); }
.theme-adp .prep-v { color: var(--adp-ink); }

/* print: keep bands and sidebar in the PDF */
@media print {
  .theme-adp .page, .theme-adp .sec-title, .theme-adp .cv-band {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  .theme-adp .sec-title { margin: 0 0 22px 0; border-radius: 0; }
  .theme-adp .page::before { display: none; }
}
