/* SaaS Agreement page – extends the shared legal layout in advisercrm.css */
@media (min-width: 901px) { .legal-nav { max-height: calc(100vh - 140px); overflow-y: auto; } }
.saas-nav-group { grid-column: 1 / -1; margin: 12px 0 2px; padding: 0 9px; color: var(--acr-navy); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legal-nav strong + .saas-nav-group { grid-column: 1 / -1; margin-top: 0; }

.saas-part { scroll-margin-top: 110px; margin: 0 0 34px; padding: 18px 22px; border-radius: var(--acr-radius-sm); background: var(--acr-navy); color: #fff; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; }
.saas-part span { display: block; margin-bottom: 4px; color: var(--acr-primary); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.legal-section + .saas-part { margin-top: 60px; }

.saas-clause { scroll-margin-top: 110px; display: grid; grid-template-columns: 3.1rem minmax(0, 1fr); gap: 10px; }
.saas-clause p { margin: 0 0 15px; }
.saas-clause__num { color: var(--acr-navy); font-weight: 800; line-height: 1.78; font-variant-numeric: tabular-nums; }
.saas-clause--sub { margin-left: 3.1rem; grid-template-columns: 2.2rem minmax(0, 1fr); }
.saas-clause--sub .saas-clause__num { color: var(--acr-muted); font-weight: 600; }
.saas-clause--flush { margin-left: 0; }
.saas-clause:target, .saas-defn:target { background: var(--acr-blue-soft); border-radius: 8px; box-shadow: 0 0 0 8px var(--acr-blue-soft); }

.saas-defn { scroll-margin-top: 110px; }
.legal-section a:not(.legal-contact-link) { color: var(--acr-primary-dark); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }

.saas-placeholder { padding: 1px 4px; border-radius: 4px; background: #fff3b0; color: #6b5800; }

.saas-table-wrap { margin: 18px 0 22px; overflow-x: auto; border: 1px solid var(--acr-line); border-radius: var(--acr-radius-sm); }
.saas-table { width: 100%; border-collapse: collapse; font-size: .88rem; color: #415865; }
.saas-table th { padding: 12px 14px; background: var(--acr-navy); color: #fff; text-align: left; font-weight: 700; }
.saas-table td { padding: 12px 14px; border-top: 1px solid var(--acr-line); vertical-align: top; line-height: 1.55; }
.saas-table tbody tr:nth-child(even) td { background: var(--acr-soft); }
.saas-tag { display: inline-block; margin-top: 6px; padding: 2px 8px; border-radius: 999px; background: var(--acr-blue-soft); color: var(--acr-navy); font-size: .7rem; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }

@media (max-width: 700px) {
  .saas-clause { grid-template-columns: 2.6rem minmax(0, 1fr); }
  .saas-clause--sub { margin-left: 1.2rem; }
  .saas-table thead { display: none; }
  .saas-table, .saas-table tbody, .saas-table tr, .saas-table td { display: block; width: 100%; }
  .saas-table tr { border-top: 1px solid var(--acr-line); }
  .saas-table tr:first-child { border-top: 0; }
  .saas-table td { border-top: 0; padding: 6px 14px; }
  .saas-table td::before { content: attr(data-label); display: block; color: var(--acr-muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .saas-table td:first-child { padding-top: 14px; }
  .saas-table td:last-child { padding-bottom: 14px; }
  .saas-table tbody tr:nth-child(even) td { background: transparent; }
}
@media print {
  .site-header, .site-footer, .legal-nav { display: none; }
  .legal-layout { display: block; }
  .saas-part { background: none; color: var(--acr-navy); border-bottom: 2px solid var(--acr-navy); border-radius: 0; padding: 0 0 8px; }
}
