/* AGB-only presentation layer; legal copy and links stay in the PHP templates. */
.integrated-main .legacy-content .terms-shell {
  --terms-ink: #18362d;
  --terms-muted: #557064;
  --terms-green: #176b4d;
  --terms-green-dark: #12583e;
  --terms-line: #cfe7d8;
  --terms-soft: #f1faf4;
  max-width: 920px;
  margin-inline: auto;
  color: var(--terms-ink);
}

.integrated-main .legacy-content .terms-shell,
.integrated-main .legacy-content .terms-shell * {
  box-sizing: border-box;
}

.integrated-main .legacy-content .terms-shell p,
.integrated-main .legacy-content .terms-shell li {
  margin: 0 0 .72rem;
  color: var(--terms-ink);
  font-size: .98rem;
  line-height: 1.62;
}

.integrated-main .legacy-content .terms-shell h1.terms-title {
  margin: 0 0 1.35rem;
  color: #153d2d;
  font-size: clamp(2rem, 4.2vw, 3rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.04;
}

.integrated-main .legacy-content .terms-shell h2.terms-heading {
  margin: 1.65rem 0 .65rem;
  color: #1a674a;
  font-size: clamp(1.14rem, 1.8vw, 1.35rem);
  font-weight: 800;
  letter-spacing: -.018em;
  line-height: 1.25;
}

.integrated-main .legacy-content .terms-shell .terms-card {
  margin: 0 0 1rem;
  padding: 1.15rem clamp(1rem, 2.2vw, 1.45rem);
  border: 1px solid var(--terms-line);
  border-radius: 1rem;
  background: var(--terms-soft);
  box-shadow: 0 .45rem 1.25rem rgba(24, 74, 49, .07);
}

.integrated-main .legacy-content .terms-shell .terms-card p:last-child,
.integrated-main .legacy-content .terms-shell .terms-card li:last-child {
  margin-bottom: 0;
}

.integrated-main .legacy-content .terms-shell .terms-language-note {
  color: var(--terms-muted);
  font-size: .92rem;
  line-height: 1.55;
}

.integrated-main .legacy-content .terms-shell .terms-language-note a {
  margin-left: .35rem;
  font-weight: 800;
}

.integrated-main .legacy-content .terms-shell a {
  color: var(--terms-green);
  overflow-wrap: anywhere;
  text-decoration-color: #9fc4a8;
  text-underline-offset: .16em;
  text-decoration-thickness: .08em;
}

.integrated-main .legacy-content .terms-shell a:hover,
.integrated-main .legacy-content .terms-shell a:focus-visible {
  color: var(--terms-green-dark);
}

.integrated-main .legacy-content .terms-shell .terms-links {
  margin: .1rem 0 0;
  padding-inline-start: 1.2rem;
}

.integrated-main .legacy-content .terms-shell .terms-links li {
  padding-inline-start: .2rem;
}

.integrated-main .legacy-content .terms-shell .terms-footnote {
  margin-top: 1rem;
}

.integrated-main .legacy-content .terms-shell table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

.integrated-main .legacy-content .terms-shell th,
.integrated-main .legacy-content .terms-shell td {
  padding: .55rem .7rem;
  border: 1px solid var(--terms-line);
  text-align: left;
  vertical-align: top;
}

@media (max-width: 640px) {
  .integrated-main .legacy-content .terms-shell h1.terms-title {
    font-size: clamp(1.45rem, 7vw, 1.85rem);
    hyphens: auto;
  }

  .integrated-main .legacy-content .terms-shell h2.terms-heading {
    margin-top: 1.35rem;
  }

  .integrated-main .legacy-content .terms-shell .terms-card {
    padding: 1rem;
    border-radius: .85rem;
  }
}
