/* =================================================
   PAGE — Terms of Use
   Page ID: 21039
   Editorial typography only. No decorative components.
   Depends on: base.css, privacy-policy.css
   ================================================= */

/* ── Layout ── */

.page-id-21039 .sticky-section {
  padding: 40px 0 48px;
  border-bottom: 1px solid #e8edf5;
}

.page-id-21039 .sticky-section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.page-id-21039 .sticky-section h3 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ng-blue);
  margin: 0 0 24px;
  display: block;
  border: none;
  padding: 0;
}

.page-id-21039 [id^="section"] {
  scroll-margin-top: 100px;
}

/* ── Important notice ── */

.tou-important-notice {
  border-top: 2px solid #0a1628;
  border-bottom: 1px solid #e8edf5;
  border-left: none;
  border-right: none;
  padding: 20px 0;
  margin: 0 0 24px;
  background: none;
}

.tou-important-notice p,
.tou-important-notice .elementor-widget-text-editor p {
  color: #0a1628 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 !important;
}

.tou-important-notice .elementor-heading-title {
  color: #0a1628 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* ── Services list (Section 3) ── */

.tou-services-grid {
  display: block;
  margin: 16px 0 24px;
  border: none;
  border-top: 1px solid #e8edf5;
  background: none;
  border-radius: 0;
  overflow: visible;
}

.tou-service-item {
  display: block !important;
  padding: 14px 0;
  border: none;
  border-bottom: 1px solid #eef2f8;
  background: none !important;
  transition: none;
}

.tou-service-item:last-child { border-bottom: none; }
.tou-service-item:hover { background: none !important; }
.tou-service-icon { display: none !important; }

.tou-service-content {
  display: block !important;
}

.tou-service-content strong {
  display: inline;
  font-size: 14.5px;
  font-weight: 700;
  color: #0a1628;
}

.tou-service-content strong::after {
  content: " — ";
  font-weight: 400;
  color: #3d4f66;
}

.tou-service-content span {
  display: inline;
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.8;
}

/* ── Legal banners (Sections 7 & 8) ── */

.tou-legal-banner {
  display: block !important;
  background: none !important;
  border: none !important;
  border-top: 1px solid #e8edf5 !important;
  border-bottom: 1px solid #e8edf5 !important;
  border-radius: 0;
  padding: 16px 0 !important;
  margin: 20px 0 24px;
  font-size: 15px;
  font-style: italic;
  color: #4e617e;
  line-height: 1.85;
}

.tou-legal-banner * {
  display: inline !important;
  flex-direction: unset !important;
  align-items: unset !important;
  gap: 0 !important;
}

.tou-legal-banner strong {
  color: #0a1628;
  font-style: normal;
  font-weight: 700;
}

/* ── Liability cap ── */

.tou-liability-cap {
  display: block !important;
  background: none !important;
  border: none !important;
  border-top: 1px solid #e8edf5 !important;
  border-bottom: 1px solid #e8edf5 !important;
  border-radius: 0;
  padding: 16px 0;
  margin: 20px 0;
}

.tou-liability-cap-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #0a1628;
  margin-bottom: 10px;
  display: block;
}

.tou-liability-cap p {
  font-size: 15px;
  color: #3d4f66;
  line-height: 1.85;
  margin: 0;
}

/* ── Prohibited list (Section 5) ── */

.tou-prohibited-list {
  display: block;
  margin: 16px 0 24px;
  border: none;
  border-top: 1px solid #e8edf5;
  background: none;
  border-radius: 0;
  overflow: visible;
}

.tou-prohibited-item {
  display: block !important;
  padding: 12px 0;
  border: none;
  border-bottom: 1px solid #eef2f8;
  background: none !important;
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
  transition: none;
}

.tou-prohibited-item:last-child { border-bottom: none; }
.tou-prohibited-item:hover { background: none !important; }
.tou-prohibited-icon { display: none !important; }

/* ── Termination box ── */

.tou-termination-box {
  display: block !important;
  background: none !important;
  border: none !important;
  border-top: 1px solid #e8edf5 !important;
  border-radius: 0;
  padding: 16px 0 0;
  margin: 20px 0;
}

.tou-termination-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #0a1628;
  margin-bottom: 12px;
  display: block;
}

.tou-termination-box ul {
  margin: 0;
  padding: 0 0 0 18px;
  list-style: disc;
}

.tou-termination-box ul li {
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
  margin-bottom: 8px;
}

.tou-termination-box ul li:last-child { margin-bottom: 0; }

/* ── Arbitration grid (Section 12) ── */

.tou-arbitration-grid {
  display: block;
  margin: 16px 0 24px;
  border: none;
  border-top: 1px solid #e8edf5;
}

.tou-arbitration-item {
  display: block !important;
  padding: 14px 0;
  border: none;
  border-bottom: 1px solid #eef2f8;
  background: none !important;
  border-radius: 0;
}

.tou-arbitration-item:last-child { border-bottom: none; }

.tou-arbitration-item strong {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0a1628;
  margin-bottom: 5px;
}

.tou-arbitration-item span {
  display: block;
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
}

/* ── General provisions list (Section 13) ── */

.tou-provisions-list {
  display: block;
  border: none;
  border-top: 1px solid #e8edf5;
  margin-top: 8px;
  border-radius: 0;
  overflow: visible;
}

.tou-provision-item {
  display: block !important;
  padding: 16px 0;
  background: none !important;
  border: none;
  border-bottom: 1px solid #eef2f8;
  transition: none;
}

.tou-provision-item:last-child { border-bottom: none; }
.tou-provision-item:hover { background: none !important; }

.tou-provision-header {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0a1628;
  margin-bottom: 6px;
}

.tou-provision-item p {
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
  margin: 0;
}

/* ══════════════════════════════════════════════════
   PROGREPS SUPPLEMENTAL TERMS
   All pr-* classes stripped to plain typography
   ══════════════════════════════════════════════════ */

/* ── Section divider ── */

.pr-section-divider {
  display: block;
  padding: 40px 0 32px;
}

.pr-divider-line { display: none !important; }

.pr-divider-badge {
  display: inline-block;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ng-blue);
}

.pr-divider-badge svg { display: none !important; }

/* ── ProgReps product header ── */

.pr-product-header {
  background: none !important;
  border: none !important;
  border-top: 2px solid #0a1628 !important;
  border-radius: 0;
  padding: 24px 0 0;
  margin-bottom: 8px;
}

.pr-product-header-inner { margin-bottom: 16px; }

.pr-product-wordmark {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
  display: block;
}

.pr-wordmark-prog { color: #0a1628; }
.pr-wordmark-reps { color: var(--ng-blue); }

.pr-product-byline {
  font-size: 14px;
  color: #5a6a85;
  margin: 0 0 14px;
  display: block;
}

.pr-product-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #4e617e;
  margin-bottom: 0;
}

.pr-product-meta strong { color: #0a1628; font-weight: 700; }
.pr-meta-dot { color: #c0cfe0; }

.pr-product-notice {
  display: block !important;
  background: none !important;
  border: none !important;
  border-top: 1px solid #e8edf5 !important;
  border-radius: 0;
  padding: 16px 0 0;
  margin-top: 16px;
  font-size: 14.5px;
  font-style: italic;
  color: #4e617e;
  line-height: 1.85;
}

.pr-product-notice svg { display: none !important; }
.pr-product-notice strong { color: #0a1628; font-style: normal; }

/* ── Features list (PR Section 1) ── */

.pr-features-grid {
  display: block;
  margin: 16px 0 24px;
  border: none;
  border-top: 1px solid #e8edf5;
  border-radius: 0;
  overflow: visible;
}

.pr-feature-item {
  display: block !important;
  padding: 14px 0;
  border: none;
  border-bottom: 1px solid #eef2f8;
  background: none !important;
  transition: none;
}

.pr-feature-item:last-child { border-bottom: none; }
.pr-feature-item:hover { background: none !important; }
.pr-feature-icon { display: none !important; }

.pr-feature-content { display: block !important; }

.pr-feature-content strong {
  display: inline;
  font-size: 14.5px;
  font-weight: 700;
  color: #0a1628;
}

.pr-feature-content strong::after {
  content: " — ";
  font-weight: 400;
  color: #3d4f66;
}

.pr-feature-content span {
  display: inline;
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.8;
}

/* ── Enterprise callout (PR Section 2) ── */

.pr-enterprise-callout {
  display: block !important;
  background: none !important;
  border: none !important;
  border-top: 1px solid #e8edf5 !important;
  border-bottom: 1px solid #e8edf5 !important;
  border-radius: 0;
  padding: 16px 0 !important;
  margin: 20px 0;
}

.pr-enterprise-icon { display: none !important; }

.pr-enterprise-callout > div {
  display: block !important;
  flex-direction: unset !important;
  align-items: unset !important;
  gap: 0 !important;
}

.pr-enterprise-callout strong {
  display: block !important;
  font-size: 14.5px;
  font-weight: 700;
  color: #0a1628;
  margin-bottom: 6px;
  font-style: normal;
}

.pr-enterprise-callout p {
  display: block !important;
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.85;
  margin: 0;
  font-style: italic;
}

/* ── Data rights grid (PR Section 4) ── */

.pr-data-rights-grid {
  display: block;
  margin: 16px 0 24px;
  border: none;
  border-top: 1px solid #e8edf5;
}

.pr-data-right-item {
  display: block !important;
  padding: 16px 0;
  border: none;
  border-bottom: 1px solid #eef2f8;
  background: none !important;
  border-radius: 0;
  gap: 0;
}

.pr-data-right-item--positive {
  background: none !important;
  border-color: #eef2f8 !important;
}

.pr-data-right-item:last-child { border-bottom: none; }

.pr-data-badge,
.pr-data-badge--green,
.pr-data-badge--amber { display: none !important; }

.pr-data-right-header {
  display: block !important;
  gap: 0;
}

.pr-data-right-header strong {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: #0a1628;
  margin-bottom: 5px;
}

.pr-data-right-item p {
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
  margin: 0;
}

/* ── Data categories (PR Section 4) ── */

.pr-data-categories {
  display: block;
  margin: 16px 0 24px;
  border: none;
  border-top: 2px solid #0a1628;
  border-radius: 0;
  overflow: visible;
}

.pr-data-category-item {
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  background: none !important;
  border: none;
  border-bottom: 1px solid #eef2f8;
  font-size: 14.5px;
  line-height: 1.7;
  gap: 0;
}

.pr-data-category-item:last-child { border-bottom: none; }

.pr-data-category-label {
  flex-shrink: 0;
  width: 160px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0;
  color: #0a1628;
  text-transform: none;
  padding-right: 20px;
  padding-top: 0;
}

.pr-data-category-item span:last-child {
  color: #3d4f66;
}

@media (max-width: 600px) {
  .pr-data-category-item { flex-direction: column; gap: 4px; }
  .pr-data-category-label { width: auto; }
}

/* ── Microsoft dependency list (PR Section 5) ── */

.pr-ms-dependency-list {
  display: block;
  margin: 16px 0 8px;
  border: none;
  border-top: 1px solid #e8edf5;
  border-radius: 0;
  overflow: visible;
}

.pr-ms-item {
  display: block !important;
  padding: 12px 0;
  background: none !important;
  border: none;
  border-bottom: 1px solid #eef2f8;
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
  transition: none;
}

.pr-ms-item:last-child { border-bottom: none; }
.pr-ms-item:hover { background: none !important; }
.pr-ms-icon { display: none !important; }

/* ── IP split (PR Section 8) ── */

.pr-ip-split {
  display: block !important;
  margin: 8px 0;
  gap: 0;
  border-top: 1px solid #e8edf5;
}

.pr-ip-item {
  display: block !important;
  padding: 16px 0;
  border: none !important;
  border-bottom: 1px solid #eef2f8 !important;
  background: none !important;
  border-radius: 0;
  gap: 0;
}

.pr-ip-item--yours { background: none !important; }
.pr-ip-item--ours { background: none !important; }
.pr-ip-item:last-child { border-bottom: none !important; }

.pr-ip-header {
  display: block !important;
  gap: 0;
  margin-bottom: 6px;
}

.pr-ip-header strong {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: #0a1628;
}

.pr-ip-item p {
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
  margin: 0;
}

/* ── Disclaimers list (PR Section 10) ── */

.pr-disclaimer-list {
  display: block;
  border: none;
  border-top: 1px solid #e8edf5;
  border-radius: 0;
  overflow: visible;
  margin: 16px 0;
}

.pr-disclaimer-item {
  display: block !important;
  flex-direction: unset !important;
  align-items: unset !important;
  gap: 0 !important;
  padding: 16px 0;
  background: none !important;
  border: none;
  border-bottom: 1px solid #eef2f8;
  transition: none;
}

.pr-disclaimer-item:last-child { border-bottom: none; }
.pr-disclaimer-item:hover { background: none !important; }
.pr-disclaimer-icon { display: none !important; }

.pr-disclaimer-item > div {
  display: block !important;
  flex-direction: unset !important;
  align-items: unset !important;
  gap: 0 !important;
}

.pr-disclaimer-item strong {
  display: block !important;
  font-size: 14.5px;
  font-weight: 700;
  color: #0a1628;
  margin-bottom: 5px;
  font-style: normal;
}

.pr-disclaimer-item p {
  display: block !important;
  font-size: 14.5px;
  color: #3d4f66;
  line-height: 1.75;
  margin: 0;
}

/* ── Shared pp-* overrides for Terms page ── */

.page-id-21039 .pp-contact-final {
  border-top: 2px solid #0a1628;
  background: none;
  border-radius: 0;
  overflow: visible;
}

.page-id-21039 .pp-contact-final-brand {
  display: block !important;
  background: none !important;
  padding: 0;
  margin-bottom: 16px;
}

.page-id-21039 .pp-contact-final-logo { display: none !important; }

.page-id-21039 .pp-contact-final-brand strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #0a1628;
}

.page-id-21039 .pp-contact-final-brand span {
  font-size: 13.5px;
  color: #5a6a85;
}

.page-id-21039 .pp-contact-final-icon {
  color: #5a6a85;
  background: none !important;
  width: auto;
  height: auto;
  border-radius: 0;
}

.page-id-21039 .pp-contact-final-row:hover .pp-contact-final-icon {
  background: none !important;
  color: var(--ng-blue);
}

.page-id-21039 .pp-contact-final-response {
  display: block !important;
  background: none !important;
  padding: 0;
  margin-top: 14px;
  font-size: 14px;
  font-style: italic;
  color: #4e617e;
  line-height: 1.75;
}

.page-id-21039 .pp-contact-final-response svg { display: none !important; }