/* Gemeinsames Papierlayout; ausschließlich mit media="print" eingebunden. */
@page {
  margin: 15mm;
}

html {
  font-size: 11pt;
}

body {
  background: var(--color-surface);
  color: var(--color-text);
  line-height: 1.45;
  --layout-width-content: 100%;
  --layout-width-text: 100%;
  --layout-width-narrow: 100%;
}

/* Das vorhandene Logo steht einmal im Dokumentfluss. */
body .site-topbar {
  position: static;
  display: block;
  height: auto;
  padding: 0 0 4mm;
  break-after: avoid;
}

body .site-topbar .site-logo img {
  width: 13mm;
  height: auto;
  transform: none;
  transition: none;
}

.site-topbar__area-mobile,
.site-topbar__center,
.site-topbar__utilities,
.page-hero-sticky-strip,
.site-footer,
.rs-cookieconsent,
.rs-page-edit,
.rsarticlehero__actions,
.rseventhero__actions,
.rselearninghero__button,
.rsvideoplayer__action,
.rsvideoplayer__privacy-note,
.rsvideoplayer__overlay,
.rscomments-formWrap,
.rscomments__subscribe,
.rscomments__inboxLink,
.rscomments-comment__reply,
.rsteaserpage__loadmore,
.rsteaserpage-card__video-play {
  display: none !important;
}

/* Auch komponentenspezifische Hero-Mindesthöhen aufheben. */
body .page-hero-full,
body .page-hero-full:has(.rsarticlehero, .rseventhero, .rselearninghero, .rsvideoplayer) {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  background: none;
}

body .page-hero-full :is(.page-hero-visual, .page-hero-media, .page-hero-region) {
  position: static;
  inset: auto;
  overflow: visible;
  /* site.js setzt beim Scrollen Inline-Transforms. */
  transform: none !important;
  will-change: auto;
}

body .page-hero-full .page-hero-media img {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 0 auto 4mm;
  object-fit: contain;
  break-inside: avoid;
}

.page-hero-region :is(.rsarticlehero, .rseventhero, .rselearninghero, .rsvideoplayer) {
  position: static;
  display: block;
  padding: 0;
  color: var(--color-text);
  will-change: auto;
}

.page-hero-region :is(.rsarticlehero, .rseventhero, .rselearninghero, .rsvideoplayer)::before,
.page-main::before {
  display: none;
}

.page-hero-region :is(.rsarticlehero__inner, .rseventhero__inner, .rselearninghero__inner, .rsvideoplayer__inner) {
  display: block;
  width: 100%;
  max-width: none;
}

.page-title,
.page-hero-region :is(.rsarticlehero__title, .rseventhero__title, .rselearninghero__title, .rsvideoplayer__title) {
  margin: 0 0 3mm;
  color: var(--color-heading);
  font-size: 23pt;
  line-height: 1.15;
  letter-spacing: normal;
  text-shadow: none;
}

.page-hero-region :is(.rsarticlehero__abstract, .rseventhero__abstract, .rselearninghero__abstract,
  .rsarticlehero__meta, .rseventhero__meta, .rsvideoplayer__abstract, .rsvideoplayer__meta) {
  max-width: none;
  margin: 0 0 3mm;
  color: var(--color-text);
  font-size: 11pt;
  line-height: 1.45;
  text-shadow: none;
}

.page-hero-region .rseventhero__meta li + li::before {
  color: var(--color-text-soft);
}

/* Der Lernstand bleibt als Text erhalten; dessen Bedienung entfällt. */
.page-hero-region .rselearninghero__panel {
  margin-top: 3mm;
  background: none;
  border-color: var(--color-border);
  box-shadow: none;
  backdrop-filter: none;
}

.page-hero-region .rselearninghero__panel :is(span, strong, p, a) {
  color: var(--color-text);
  text-shadow: none;
}

body .page-main {
  max-width: none;
  padding: 4mm 0 0;
}

.page-header {
  margin-bottom: 4mm;
}

.page-main :is(.layout-width-regular, .layout-width-content, .layout-width-text,
  .layout-width-narrow, .layout-width-wide, .layout-width-full) {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

/* Blockfluss lässt lange redaktionelle Abschnitte über Seiten umbrechen. */
.page-content :is(.rsgridauto, .rsgridauto__row, .rsgridfixed__grid,
  .rsgridfixed__column, .rsteaserpage, .rsteaserpage__grid,
  .rssanskritoverview-item, .rssanskritoverview-preview,
  .rssanskritoverview-preview__sentence) {
  display: block;
}

.page-content .rsgridauto .rsgridauto__row [data-rs-grid-items] {
  display: block;
}

.page-content .rsgridauto__item > *,
.page-content .rsgridfixed--equal-height .rsgridfixed__column > * {
  height: auto;
  flex: none;
}

.page-content :is(.rsgridauto__item, .rsgridfixed__column, .rssanskritoverview-item) {
  margin-bottom: 4mm;
}

.page-content .ce-rsarticle__item {
  float: none;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

.page-content .rsteaserpage-card {
  box-shadow: none;
  margin-bottom: 3mm;
  break-inside: avoid;
}

.page-content .rsteaserpage-card .rsteaserpage-card__link,
.page-content .rsteaserpage-card.is-wide .rsteaserpage-card__link {
  display: block;
  height: auto;
}

.page-content .rsteaserpage-card .rsteaserpage-card__media--wide {
  display: block;
  aspect-ratio: auto;
}

.page-content .rsteaserpage-card .rsteaserpage-card__media--square,
.page-content .rsteaserpage-card.is-wide .rsteaserpage-card__media--square {
  display: none;
}

.page-content .rsteaserpage-card .rsteaserpage-card__image:not(.rsteaserpage-card__image--video) {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

.page-content .rsteaserpage-card .rsteaserpage-card__body {
  padding: 3mm;
}

.page-content .rsteaserpage-card .rsteaserpage-card__overlay {
  position: static;
  width: auto;
  transform: none;
  color: var(--color-text);
  text-shadow: none;
}

.page-content .rsteaserpage-card--editorial-overlay .rsteaserpage-card__media::after {
  display: none;
}

.page-content .rsteaserpage-card .rsteaserpage-card__title,
.page-content .rsteaserpage-card.is-wide.rsteaserpage-card--editorial-overlay .rsteaserpage-card__title--overlay {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  font-size: 14pt;
}

.page-content .rsteaserpage-card .rsteaserpage-card__meta:not(script) {
  color: var(--color-text-soft);
  white-space: normal;
}

.page-content :is(p, li) {
  orphans: 3;
  widows: 3;
}

.page-content p {
  margin-bottom: 3mm;
}

h1, h2, h3, h4, h5, h6 {
  break-after: avoid;
}

.rssanskritoverview-preview__identifier {
  break-after: avoid;
}

.page-content h2 {
  font-size: 17pt;
  margin: 6mm 0 3mm;
}

.page-content h3 {
  font-size: 14pt;
  margin: 4mm 0 2mm;
}

.page-content :is(figure, table, blockquote, .ce-rsarticle, .rsgridfixed) {
  margin-block: 4mm;
}

.page-content img {
  max-height: 220mm;
  object-fit: contain;
  break-inside: avoid;
}

.page-content figcaption {
  break-before: avoid;
}

.page-content :is(td, th) {
  padding: 2mm;
  overflow-wrap: anywhere;
}

.page-content thead {
  display: table-header-group;
}

/* Schutzcontainer behalten ihre eigenen Höhen, Masken und Sichtbarkeiten. */
