/* Page-owned styles for Datenschutz page */

.datenschutz-page {
  display: block;
}

/* Hero */
.datenschutz-hero {
  background-color: var(--color-midnight-blue);
  color: var(--color-cream);
  padding-block: var(--space-4xl);
}

.datenschutz-hero__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.datenschutz-hero__eyebrow {
  margin-block-end: 0;
}

.datenschutz-hero__title {
  color: var(--color-cream);
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  font-weight: var(--text-h1-weight);
  margin-block-end: 0;
  max-width: 720px;
}

.datenschutz-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: var(--text-body-large-weight);
  max-width: 720px;
  margin-block-end: 0;
}

.datenschutz-hero__date {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  font-weight: 600;
  color: var(--color-burgundy-light);
  margin-block-end: 0;
}

.datenschutz-hero__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-cream-muted);
  max-width: 720px;
  margin-block-end: 0;
}

/* Sections */
.datenschutz-section {
  padding-block: var(--space-3xl);
}

.datenschutz-section--cream {
  background-color: var(--color-cream);
  color: var(--color-midnight-blue);
}

.datenschutz-section--muted {
  background-color: var(--color-cream-muted);
  color: var(--color-midnight-blue);
}

.datenschutz-section__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.datenschutz-section__inner--narrow {
  max-width: 720px;
}

.datenschutz-section__title {
  color: var(--color-midnight-blue);
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  font-weight: var(--text-h2-weight);
  margin-block-end: 0;
}

.datenschutz-section__subtitle {
  color: var(--color-midnight-blue);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  font-weight: var(--text-h3-weight);
  margin-block-start: var(--space-lg);
  margin-block-end: 0;
}

.datenschutz-section__subtitle--callout {
  margin-block-start: 0;
}

.datenschutz-section__text {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  font-weight: var(--text-body-weight);
  margin-block-end: 0;
}

/* Contact */
.datenschutz-contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  font-style: normal;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
}

.datenschutz-contact__name {
  font-weight: 600;
}

.datenschutz-contact__line {
  display: block;
}

.datenschutz-contact a {
  color: var(--color-burgundy);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.datenschutz-contact a:hover {
  color: var(--color-burgundy-light);
}

/* Lists */
.datenschutz-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.datenschutz-list > li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.datenschutz-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--color-burgundy);
}

/* Callout */
.datenschutz-callout {
  background-color: var(--color-cream);
  border: var(--border-thin) solid var(--color-dark-walnut);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.datenschutz-list--callout {
  gap: var(--space-sm);
}

/* Responsive */
@media (max-width: 48rem) {
  .datenschutz-hero {
    padding-block: var(--space-3xl);
  }

  .datenschutz-hero__title {
    font-size: 2rem;
    line-height: 1.2;
  }

  .datenschutz-hero__lead {
    font-size: 1.125rem;
    line-height: 1.6;
  }

  .datenschutz-section {
    padding-block: var(--space-2xl);
  }

  .datenschutz-section__inner {
    padding-inline: var(--space-md);
  }

  .datenschutz-section__inner--narrow {
    max-width: 100%;
  }

  .datenschutz-callout {
    padding: var(--space-md);
  }
}

@media (max-width: 30rem) {
  .datenschutz-hero__title {
    font-size: 1.75rem;
  }

  .datenschutz-hero__lead,
  .datenschutz-hero__note {
    font-size: 1rem;
    line-height: 1.6;
  }

  .datenschutz-section__title {
    font-size: 1.5rem;
  }

  .datenschutz-section__subtitle {
    font-size: 1.25rem;
  }
}
