.agb-page {
  background: var(--color-paper);
}

.agb-page__intro {
  padding-block-end: var(--space-7);
}

.agb-page__intro-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.agb-page__intro-content {
  grid-column: 1 / span 8;
  min-width: 0;
}

.agb-page__intro-space {
  grid-column: 9 / span 4;
  min-width: 0;
}

.agb-page__intro-content > :last-child {
  margin-block-end: 0;
}

.agb-page__intro-lead {
  max-width: 64ch;
}

.agb-page__scope-strip {
  display: grid;
  grid-template-columns: minmax(4rem, 0.16fr) minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  margin-block: var(--space-5);
  border-block: var(--border-default);
  padding: var(--space-4);
}

.agb-page__scope-index,
.agb-page__module-index span,
.agb-page__rule-index {
  color: var(--color-safety-orange);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}

.agb-page__scope-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  min-width: 0;
  color: var(--color-graphite);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.agb-page__scope-copy strong {
  font-size: var(--text-body);
}

.agb-page__legal-links {
  max-width: 68ch;
  color: var(--color-graphite-soft);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.agb-page__section {
  border-top: var(--border-default);
}

.agb-page__reader {
  min-width: 0;
}

.agb-page__reader--nine {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.agb-page__reader--nine > :not(.agb-page__modules) {
  grid-column: 1 / span 9;
  min-width: 0;
}

.agb-page__reader--nine > .agb-page__modules {
  grid-column: 1 / span 9;
  min-width: 0;
}

.agb-page__reader--eight {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.agb-page__reader--eight > * {
  grid-column: 1 / span 8;
  min-width: 0;
}

.agb-page__reader > .technical-label {
  margin-block-end: var(--space-2);
}

.agb-page__reader > h2 {
  margin-block-end: var(--space-5);
}

.agb-page__modules {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-width: 0;
}

.agb-page__module {
  display: grid;
  grid-template-columns: minmax(7rem, 0.15fr) minmax(0, 0.85fr);
  column-gap: var(--space-5);
  min-width: 0;
  border-top: var(--border-default);
  padding-block: var(--space-5);
}

.agb-page__module:last-child {
  border-bottom: var(--border-default);
}

.agb-page__module-index,
.agb-page__rule-index {
  min-width: 0;
}

.agb-page__module-index {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: var(--space-2);
}

.agb-page__module-index small {
  color: var(--color-graphite-soft);
  font-size: var(--text-label);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.agb-page__module-copy {
  min-width: 0;
  max-width: 68ch;
}

.agb-page__module-copy--definition {
  border-inline-start: 3px solid var(--color-steel-blue);
  padding-inline-start: var(--space-4);
}

.agb-page__module-copy > :last-child,
.agb-page__text-module > :last-child,
.agb-page__closing-copy > :last-child,
.agb-page__infringement-note > :last-child {
  margin-block-end: 0;
}

.agb-page__section-intro {
  max-width: 72ch;
  margin-block-end: var(--space-5);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.agb-page__modules--rules .agb-page__module {
  grid-template-columns: minmax(4.5rem, 0.12fr) minmax(0, 0.88fr);
}

.agb-page__modules--rules .agb-page__module-copy {
  max-width: 66ch;
}

.agb-page__module--important {
  border-inline-start: 2px solid var(--color-safety-orange);
  padding-inline-start: var(--space-4);
}

.agb-page__rule-summary {
  margin-block-start: var(--space-4);
  color: var(--color-steel-blue);
  font-size: var(--text-meta);
  font-weight: 600;
  line-height: var(--leading-meta);
}

.agb-page__text-module {
  max-width: 68ch;
}

.agb-page__source-note {
  max-width: 66ch;
  margin-block-start: var(--space-4);
  border-inline-start: 2px solid var(--color-steel-blue);
  padding-inline-start: var(--space-3);
  color: var(--color-steel-blue);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.agb-page__external-module {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  width: calc((100% - 11 * var(--space-5)) / 12 * 9 + 8 * var(--space-5));
  min-width: 0;
  margin-block: var(--space-6);
  border: 1px solid var(--color-graphite);
  padding: var(--space-5);
}

.agb-page__external-module > * {
  min-width: 0;
  margin: 0;
}

.agb-page__external-module p:last-child {
  max-width: 68ch;
}

.agb-page__link-protocol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  max-width: 72ch;
  margin-block-start: var(--space-6);
  border-top: var(--border-default);
  padding-block-start: var(--space-5);
}

.agb-page__link-protocol > * {
  min-width: 0;
  margin: 0;
}

.agb-page__link-protocol ul {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  padding: 0;
  list-style: none;
}

.agb-page__link-protocol li {
  display: grid;
  grid-template-columns: minmax(10rem, max-content) minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  border-bottom: var(--border-default);
  padding-block-end: var(--space-3);
}

.agb-page__link-protocol li > * {
  min-width: 0;
}

.agb-page__link-protocol li span {
  color: var(--color-graphite-soft);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.agb-page__availability-modules,
.agb-page__rights-modules {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  min-width: 0;
}

.agb-page__availability-modules {
  border-top: var(--border-default);
  padding-block-start: var(--space-5);
}

.agb-page__availability-modules > *,
.agb-page__rights-modules > * {
  min-width: 0;
}

.agb-page__statutory-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 60ch;
  margin-block-start: var(--space-6);
  border: var(--border-default);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}

.agb-page__statutory-note > * {
  min-width: 0;
  margin: 0;
}

.agb-page__text-module--silver {
  border-inline-start: 3px solid var(--color-brushed-silver);
  padding-inline-start: var(--space-4);
}

.agb-page__infringement-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  max-width: 58ch;
  margin-block-start: var(--space-6);
  border: var(--border-default);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}

.agb-page__infringement-note > * {
  min-width: 0;
  margin: 0;
}

.agb-page__section--closing {
  padding-block-end: var(--space-9);
}

.agb-page__closing-copy {
  max-width: 64ch;
  border-top: var(--border-default);
  padding-block-start: var(--space-5);
}

.agb-page__closing-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 60ch;
  margin-block-start: var(--space-6);
  border: var(--border-default);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}

.agb-page__closing-links > * {
  min-width: 0;
  margin: 0;
}

.agb-page__closing-link-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  gap: var(--space-4);
  align-items: center;
}

.agb-page__closing-link-list > a {
  min-width: 0;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.agb-page__completion-line {
  grid-column: 1 / span 8;
  width: min(100%, 42rem);
  min-width: 0;
  height: 1px;
  margin-block-start: var(--space-7);
  background: var(--color-safety-orange);
}

.agb-page a:focus-visible {
  outline: 2px solid var(--color-safety-orange);
  outline-offset: 2px;
}

@media (max-width: 61.25rem) {
  .agb-page__module {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .agb-page__modules--rules .agb-page__module {
    grid-template-columns: minmax(0, 1fr);
  }

  .agb-page__module-copy,
  .agb-page__modules--rules .agb-page__module-copy {
    max-width: 700px;
  }

  .agb-page__module-index {
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
  }

  .agb-page__module-index small {
    padding-inline-start: var(--space-3);
    border-inline-start: var(--border-default);
  }

  .agb-page__external-module {
    width: min(100%, 720px);
  }
}

@media (max-width: 56.25rem) {
  .agb-page__intro-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .agb-page__intro-content {
    grid-column: 1;
    width: min(100%, 720px);
  }

  .agb-page__intro-space {
    display: none;
  }

  .agb-page__reader--eight,
  .agb-page__reader--nine {
    grid-template-columns: minmax(0, 1fr);
  }

  .agb-page__reader--eight > *,
  .agb-page__reader--nine > :not(.agb-page__modules),
  .agb-page__reader--nine > .agb-page__modules,
  .agb-page__statutory-note,
  .agb-page__closing-links,
  .agb-page__completion-line {
    grid-column: 1;
  }

  .agb-page__reader--eight,
  .agb-page__reader--nine {
    width: min(100%, 720px);
  }
}

@media (max-width: 51.25rem) {
  .agb-page__intro {
    padding-block-end: var(--space-6);
  }

  .agb-page__scope-strip {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .agb-page__scope-index {
    padding-block-end: var(--space-2);
    border-bottom: var(--border-default);
  }

  .agb-page__external-module {
    width: 100%;
    margin-block: var(--space-5);
    padding: var(--space-5);
  }

  .agb-page__link-protocol li {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .agb-page__statutory-note,
  .agb-page__infringement-note,
  .agb-page__closing-links {
    padding: var(--space-4);
  }

  .agb-page__closing-link-list {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }
}

@media (max-width: 30rem) {
  .agb-page__module--important {
    padding-inline-start: var(--space-3);
  }

  .agb-page__module-copy--definition,
  .agb-page__text-module--silver {
    padding-inline-start: var(--space-3);
  }
}

@media print {
  .agb-page {
    background: #fff;
  }

  .agb-page__section {
    break-inside: avoid;
  }

  .agb-page__scope-strip,
  .agb-page__external-module,
  .agb-page__statutory-note,
  .agb-page__infringement-note,
  .agb-page__closing-links {
    background: #fff;
  }

  .agb-page__external-module {
    width: 100%;
  }

  .agb-page a {
    color: #20272b;
    text-decoration: underline;
  }
}
