/* Zertifikate: Raster und Rhythmus entsprechen der gesicherten Framer-Referenz. */
body.rc-subpage .rc-cert-hero,
body.rc-subpage.rc-editorial--zertifikate .rc-editorial-hero--text .rc-cert-hero {
  padding: calc(260px - var(--_navbar---navbar-height, 68px)) 0 0 !important;
  padding-bottom: 0;
}

body.rc-subpage .rc-cert-hero > .main-container,
body.rc-subpage .rc-certs > .main-container {
  width: 100%;
  max-width: 1400px;
  padding-right: 36px;
  padding-left: 36px;
}

body.rc-subpage .rc-cert-hero .title-hero-content {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(24px, 1fr));
  gap: 24px;
  align-items: start;
}

body.rc-subpage .rc-cert-hero .title,
body.rc-subpage .rc-cert-hero .heading---h1 {
  width: 100%;
  max-width: none !important;
  margin: 0;
}

body.rc-subpage .rc-cert-hero .heading---h1 {
  font-family: var(--_typography---type-font-headings, Arial, sans-serif);
  font-size: 60.0226px;
  line-height: 1.2;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  letter-spacing: 0;
  color: #171717;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

body.rc-subpage.rc-editorial--zertifikate .rc-editorial-hero--text {
  border-bottom: 0 !important;
}

body.rc-subpage.rc-editorial--zertifikate .rc-cert-hero .title {
  align-self: start;
}

body.rc-subpage .rc-cert-hero__intro {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(24px, 1fr));
  column-gap: 24px;
  row-gap: 0;
}

body.rc-subpage .rc-cert-hero__intro > :is(p, .button) {
  grid-column: span 5;
}

body.rc-subpage .rc-cert-hero__intro p {
  margin: 0;
  font-family: var(--_typography---type-font-headings, inherit);
  font-size: 23.814px;
  line-height: 1.42;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  letter-spacing: 0;
}

body.rc-subpage .rc-cert-hero__intro p strong {
  display: block;
  margin-bottom: 12px;
  color: #171717;
  font-weight: 350;
  font-variation-settings: "wght" 350;
}

body.rc-subpage .rc-cert-hero__intro p span {
  display: block;
  color: #737373;
  text-wrap: pretty;
}

body.rc-subpage .rc-cert-hero__intro .button {
  margin-top: 48px;
  width: 240px;
  height: 96px;
  min-width: 240px;
  min-height: 96px;
  padding: 12px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  justify-self: start;
  background: #f1f1f1;
}

body.rc-subpage .rc-certs,
body.rc-subpage.rc-editorial--zertifikate .rc-main > .rc-certs {
  padding: 144px 0 96px !important;
  border-top: 0 !important;
}

body.rc-subpage .rc-certs .title-top-section {
  gap: 0;
}

body.rc-subpage .rc-cert-reference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 72px;
  row-gap: 96px;
  align-items: stretch;
}

body.rc-subpage .rc-cert-reference {
  min-width: 0;
  padding-top: 22px;
  display: grid;
  grid-template-rows: auto minmax(96px, auto) auto auto;
  gap: 48px;
  border-top: 1px solid rgba(23, 23, 23, .1);
  color: #171717;
}

body.rc-subpage .rc-cert-reference__head {
  display: flex;
  flex-direction: column;
}

body.rc-subpage .rc-cert-reference__top {
  min-height: 88px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}

body.rc-subpage .rc-cert-reference__standard,
body.rc-subpage .rc-cert-reference__issuer,
body.rc-subpage .rc-cert-reference__number-label,
body.rc-subpage .rc-cert-reference__intro :is(h3, p),
body.rc-subpage .rc-cert-reference__facts,
body.rc-subpage .rc-norms-reference {
  margin: 0;
}

body.rc-subpage .rc-cert-reference__standard {
  max-width: none;
  min-height: 76px;
  margin-top: 24px;
  display: flex;
  align-items: center;
  font-family: var(--_typography---type-font-headings, inherit);
  font-size: clamp(21px, 2.45vw, 46px);
  line-height: 1.08;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  letter-spacing: -.025em;
  white-space: nowrap;
  text-wrap: nowrap;
}

body.rc-subpage .rc-cert-reference__logo {
  width: 88px;
  height: 88px;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  display: block;
  object-fit: contain;
  object-position: left center;
}

body.rc-subpage .rc-cert-reference__logo--tuev {
  width: 72px;
  height: 72px;
}

body.rc-subpage .rc-cert-reference__logo--dakks {
  width: 150px;
  height: 72px;
}

body.rc-subpage .rc-cert-reference__number-block {
  min-height: 0;
  margin: 0;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: right;
}

body.rc-subpage .rc-cert-reference__number-label,
body.rc-subpage .rc-cert-reference__issuer {
  color: #777;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 350;
  font-variation-settings: "wght" 350;
}

body.rc-subpage .rc-cert-reference__number {
  display: block;
  font-family: var(--_typography---type-font-headings, inherit);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  letter-spacing: 0;
  white-space: nowrap;
}

body.rc-subpage .rc-cert-reference__number--long {
  font-size: 14px;
}

body.rc-subpage .rc-cert-reference__issuer {
  margin-top: 12px;
}

body.rc-subpage .rc-cert-reference__intro {
  margin: 0;
  padding: 0;
  min-height: 0;
}

body.rc-subpage .rc-cert-reference__intro h3 {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 350;
  font-variation-settings: "wght" 350;
}

body.rc-subpage .rc-cert-reference__intro p {
  max-width: 590px;
  color: #777;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  text-wrap: pretty;
}

body.rc-subpage .rc-cert-reference__facts {
  margin-top: -8px;
  display: grid;
  grid-template-rows: repeat(2, minmax(59px, auto)) minmax(82px, auto);
}

body.rc-subpage .rc-cert-reference__facts > div,
body.rc-subpage .rc-norms-reference__facts > div {
  padding: 18px 0;
  display: grid;
  gap: 8px;
}

body.rc-subpage .rc-cert-reference__facts > div {
  border-top: 1px solid rgba(23, 23, 23, .2);
}

body.rc-subpage .rc-norms-reference__facts > div {
  border-top: 1px solid rgba(23, 23, 23, .2);
}

body.rc-subpage .rc-cert-reference__facts > div {
  grid-template-columns: 4px 170px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
}

body.rc-subpage .rc-cert-reference__facts > div::before {
  width: 4px;
  height: 4px;
  margin-top: 9px;
  content: "";
  background: #777;
}

body.rc-subpage .rc-norms-reference__facts dt {
  font-family: var(--_typography---type-font-badges), monospace;
  color: #777;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: -.1px;
  text-transform: uppercase;
}

body.rc-subpage .rc-cert-reference__facts dt {
  color: #171717;
  font-family: var(--_typography---type-font-body, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  white-space: nowrap;
}

body.rc-subpage .rc-cert-reference__facts dd,
body.rc-subpage .rc-norms-reference__facts dd {
  margin: 0;
  color: #686868;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 350;
  font-variation-settings: "wght" 350;
}

body.rc-subpage .rc-cert-reference__facts dd {
  min-width: 0;
  justify-self: stretch;
  text-align: left;
}

body.rc-subpage .rc-cert-reference__actions {
  margin-top: -16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.rc-subpage .rc-cert-reference__actions a {
  flex: 1 1 220px;
  width: auto;
  max-width: 270px;
  height: 96px;
  min-width: 0;
  min-height: 0;
  padding: 12px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  border-radius: 4px;
  color: #171717;
  background: #f1f1f1;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

body.rc-subpage .rc-cert-reference__actions .button-text {
  white-space: normal;
  text-wrap: balance;
}

body.rc-subpage .rc-cert-reference__actions .rc-cert-action:not(.bg-brand) {
  color: #171717;
  background: #f1f1f1 !important;
}

body.rc-subpage .rc-cert-reference__actions .rc-cert-action.bg-brand {
  color: #fff;
  background: var(--_color---color-brand, #049ce4) !important;
}

body.rc-subpage.rc-editorial--zertifikate .button .button-icon-text-wrap,
body.rc-subpage.rc-editorial--zertifikate .button .button-icon-wrap {
  z-index: 2;
  position: relative;
}

body.rc-subpage.rc-editorial--zertifikate .button .button-icon {
  transform: translateX(0);
  transition: transform 200ms linear;
}

body.rc-subpage.rc-editorial--zertifikate .button .button-hover-element-wrap {
  z-index: 0;
  pointer-events: none;
  will-change: transform;
  transform: translateX(0);
}

body.rc-subpage.rc-editorial--zertifikate .button .button-hover-element {
  opacity: 0;
  filter: blur(10px);
  transform: scale(1);
  transform-style: preserve-3d;
  transition: opacity 350ms linear, transform 350ms linear;
}

body.rc-subpage .rc-cert-reference__actions .rc-cert-action:not(.bg-brand) .button-icon {
  filter: brightness(0);
}

body.rc-subpage .rc-cert-reference__actions .rc-cert-action.bg-brand .button-icon {
  filter: none;
}

@media (hover: hover) and (pointer: fine) {
  body.rc-subpage.rc-editorial--zertifikate .button:hover .button-icon,
  body.rc-subpage.rc-editorial--zertifikate .button:focus-visible .button-icon {
    transform: translateX(100%);
  }

  body.rc-subpage.rc-editorial--zertifikate .button:hover .button-hover-element,
  body.rc-subpage.rc-editorial--zertifikate .button:focus-visible .button-hover-element {
    opacity: .1;
    transform: scale(3.5);
  }
}

body.rc-subpage .rc-cert-reference__actions a:focus-visible {
  outline: 2px solid var(--_color---color-brand, #049ce4);
  outline-offset: 3px;
}

body.rc-subpage .rc-norms .rc-section-head {
  max-width: none;
}

body.rc-subpage .rc-norms .rc-section-intro {
  max-width: 820px;
  line-height: 1.55;
  text-wrap: pretty;
}

body.rc-subpage .rc-norms-reference {
  max-width: 100%;
  margin-top: clamp(48px, 6vw, 88px);
}

body.rc-subpage .rc-norms-reference__standard {
  margin: 0 0 32px;
  font-family: var(--_typography---type-font-badges), monospace;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: -.1px;
  text-transform: uppercase;
}

body.rc-subpage .rc-norms-reference__facts {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--_grid---grid-gap, 24px);
}

body.rc-subpage .rc-norms__table .rc-norms__code {
  color: #171717;
  font-family: var(--_typography---type-font-headings, Arial, sans-serif);
  font-weight: 600;
  font-variation-settings: "wght" 600;
  white-space: nowrap;
}

/* Sortierbare Spalte "Stand": Der Pfeil steht dauerhaft neben dem Label und
   wird zusammen mit dem Text beim Hover blau. Das Zellen-Padding bleibt am
   <th>, damit "Stand" exakt auf der urspruenglichen Position sitzt. */
body.rc-subpage .rc-norms__sort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-align: inherit;
  cursor: pointer;
  transition: color 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.rc-subpage .rc-norms__sort:focus-visible {
  outline: 2px solid var(--_color---color-brand, #049ce4);
  outline-offset: 3px;
}

/* Die Icon-Box ist so hoch wie die Versalhoehe von "Stand" (12px * 0.72),
   damit der Pfeil mittig zum Wort sitzt und nicht zur ganzen Zeilenhoehe. */
body.rc-subpage .rc-norms__sort-icon {
  position: relative;
  flex: none;
  align-self: center;
  width: 8px;
  height: 8.6px;
  transition: color 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Nur die Spitze nach oben – kein Schaft. Die Strichstaerke entspricht dem
   Stamm der Versalien (12px, Weight 500) neben dem Pfeil.
   Der Chevron traegt sein Gewicht an der oberen Spitze, waehrend die Schenkel
   nach unten auslaufen. Rein geometrisch zentriert wirkt er dadurch zu hoch,
   deshalb der kleine optische Ausgleich nach unten. */
body.rc-subpage .rc-norms__sort-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5.5px;
  height: 5.5px;
  border-left: 1.5px solid currentColor;
  border-top: 1.5px solid currentColor;
  transform: translate(-50%, -34%) rotate(45deg);
  content: "";
}

body.rc-subpage .rc-norms__sort:hover,
body.rc-subpage .rc-norms__sort:focus-visible,
body.rc-subpage .rc-norms__sort.is-sorted {
  color: var(--_color---color-brand, #049ce4);
}

/* Der Sortierknopf in der Toolbar ersetzt auf schmalen Viewports den
   Tabellenkopf, der dort ausgeblendet ist. Ab 768px uebernimmt wieder die
   Spaltenueberschrift. */
body.rc-subpage .rc-norms__toolbar-meta {
  display: flex;
  align-items: baseline;
  gap: 20px;
}

body.rc-subpage .rc-norms__sort--mobile {
  display: none;
  padding: 4px 0;
  color: #6e6e73;
}

body.rc-subpage .rc-norms__sort--mobile .rc-norms__sort-icon {
  align-self: center;
}

body.rc-subpage .rc-norms__scroll-shell {
  position: relative;
}

body.rc-subpage .rc-norms__scroll {
  padding-right: 18px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.rc-subpage .rc-norms__scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

body.rc-subpage .rc-norms__scroll:focus-visible {
  outline: 2px solid var(--_color---color-brand, #049ce4);
  outline-offset: 4px;
}

body.rc-subpage .rc-norms__scroll-indicator {
  z-index: 3;
  position: absolute;
  top: 8px;
  right: 0;
  bottom: 8px;
  width: 16px;
  cursor: pointer;
  opacity: 0;
  touch-action: none;
}

body.rc-subpage .rc-norms__scroll-indicator::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7px;
  width: 2px;
  border-radius: 999px;
  content: "";
  background: rgba(23, 23, 23, .12);
}

body.rc-subpage .rc-norms__scroll-shell.is-scrollable .rc-norms__scroll-indicator {
  opacity: 1;
}

body.rc-subpage .rc-norms__scroll-thumb {
  position: absolute;
  top: 0;
  left: 6px;
  width: 4px;
  min-height: 40px;
  border-radius: 999px;
  background: var(--_color---color-brand, #049ce4);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .7);
  cursor: grab;
  will-change: transform;
}

body.rc-subpage .rc-norms__scroll-thumb:active {
  cursor: grabbing;
}

body.rc-subpage .rc-cert-quote {
  padding: 96px 0 144px;
  background: #fff;
}

body.rc-subpage .rc-cert-quote > .main-container,
body.rc-subpage .rc-cert-faq > .main-container {
  width: 100%;
  max-width: 1400px;
  padding-right: 36px;
  padding-left: 36px;
}

body.rc-subpage .rc-cert-quote__content {
  width: min(100%, 1080px);
  max-width: 100%;
  margin: 0;
  padding: 0;
  border-left: 0 !important;
}

body.rc-subpage .rc-cert-quote__content p {
  margin: 0;
  color: #737373;
  font-family: var(--_typography---type-font-headings, Arial, sans-serif);
  font-size: 37.797px;
  line-height: 1.3;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  letter-spacing: 0;
  text-wrap: pretty;
}

body.rc-subpage .rc-cert-quote__content p strong {
  color: #171717;
  font-weight: 350;
  font-variation-settings: "wght" 350;
}

body.rc-subpage .rc-cert-quote__content footer {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 350;
}

body.rc-subpage .rc-cert-quote__content footer strong {
  color: #171717;
  font-weight: 400;
}

body.rc-subpage .rc-cert-quote__content footer span {
  color: #737373;
}

body.rc-subpage .rc-cert-faq {
  padding: 48px 0 192px;
  border-top: 1px solid rgba(23, 23, 23, .16);
  background: #fff;
}

body.rc-subpage .rc-cert-faq__title {
  margin: 0 0 96px;
  color: #171717;
  font-size: 47.637px;
  line-height: 1.25;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  letter-spacing: 0;
}

body.rc-subpage .rc-cert-faq__list {
  border-top: 1px solid rgba(23, 23, 23, .18);
}

body.rc-subpage .rc-cert-faq__item {
  border-bottom: 1px solid rgba(23, 23, 23, .18);
}

body.rc-subpage .rc-cert-faq__question {
  height: 53px;
  padding: 12px 0;
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(0, 2fr) 28px;
  gap: 24px;
  align-items: center;
  color: #171717;
  cursor: pointer;
  user-select: none;
}

body.rc-subpage .rc-cert-faq__question:focus-visible {
  outline: 2px solid var(--_color---color-brand, #049ce4);
  outline-offset: 4px;
}

body.rc-subpage .rc-cert-faq__number {
  color: #777;
  font-family: var(--_typography---type-font-badges), monospace;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: -.1px;
}

body.rc-subpage .rc-cert-faq__question h3 {
  margin: 0;
  font-size: 18.9px;
  line-height: 1.5;
  font-weight: 350;
  font-variation-settings: "wght" 350;
}

body.rc-subpage .rc-cert-faq__icon {
  position: relative;
  width: 18px;
  height: 18px;
  transition: transform 400ms cubic-bezier(.44, 0, .56, 1);
}

body.rc-subpage .rc-cert-faq__icon::before,
body.rc-subpage .rc-cert-faq__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 1px;
  content: "";
  background: #171717;
  transform: translate(-50%, -50%);
}

body.rc-subpage .rc-cert-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

body.rc-subpage .rc-cert-faq__item.is-open .rc-cert-faq__icon {
  transform: rotate(45deg);
}

body.rc-subpage .rc-cert-faq__answer {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 400ms cubic-bezier(.44, 0, .56, 1), opacity 400ms cubic-bezier(.44, 0, .56, 1);
}

body.rc-subpage .rc-cert-faq__item.is-open .rc-cert-faq__answer {
  opacity: 1;
}

body.rc-subpage .rc-cert-faq__answer > div {
  width: 100%;
  margin-left: 0;
  padding: 8px 52px 48px calc((100% - 76px) / 3 + 24px);
}

body.rc-subpage .rc-cert-faq__answer p {
  margin: 0 0 16px;
  color: #686868;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 350;
  font-variation-settings: "wght" 350;
}

body.rc-subpage .rc-norms .heading---h3 {
  font-size: 47.637px;
  line-height: 1.25;
  font-weight: 350;
  font-variation-settings: "wght" 350;
  letter-spacing: 0;
}

body.rc-subpage .rc-norms > .main-container > .title-top-section {
  gap: 96px;
}

body.rc-subpage .rc-cert-faq__answer p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 1137px) {
  body.rc-subpage .rc-cert-hero,
  body.rc-subpage.rc-editorial--zertifikate .rc-editorial-hero--text .rc-cert-hero {
    padding-top: calc(200px - var(--_navbar---navbar-height, 68px)) !important;
    padding-bottom: 0;
  }

  body.rc-subpage .rc-cert-hero > .main-container,
  body.rc-subpage .rc-certs > .main-container,
  body.rc-subpage .rc-cert-quote > .main-container,
  body.rc-subpage .rc-cert-faq > .main-container {
    padding-right: 24px;
    padding-left: 24px;
  }

  body.rc-subpage .rc-certs,
  body.rc-subpage.rc-editorial--zertifikate .rc-main > .rc-certs {
    padding-top: 96px;
    padding-bottom: 80px;
  }

  body.rc-subpage .rc-cert-reference-grid {
    column-gap: 48px;
  }

  body.rc-subpage .rc-cert-reference__facts > div {
    grid-template-columns: 4px minmax(138px, 40%) minmax(0, 1fr);
  }

  body.rc-subpage .rc-cert-reference__facts dt {
    white-space: normal;
  }

  body.rc-subpage .rc-cert-reference__top {
    min-height: 80px;
    gap: 18px;
  }

  body.rc-subpage .rc-cert-reference__logo {
    width: 80px;
    height: 80px;
  }

  body.rc-subpage .rc-cert-reference__logo--tuev {
    width: 60px;
    height: 60px;
  }

  body.rc-subpage .rc-cert-reference__logo--dakks {
    width: 132px;
    height: 60px;
  }

  body.rc-subpage .rc-cert-reference__number,
  body.rc-subpage .rc-cert-reference__number--long {
    font-size: 14px;
  }
}

@media screen and (max-width: 809px) {
  body.rc-subpage .rc-cert-hero,
  body.rc-subpage.rc-editorial--zertifikate .rc-editorial-hero--text .rc-cert-hero {
    padding-top: calc(144px - var(--_navbar---navbar-height, 68px)) !important;
    padding-bottom: 0;
  }

  body.rc-subpage .rc-cert-hero .title-hero-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }

  body.rc-subpage .rc-cert-hero .heading---h1 {
    font-size: clamp(42px, 10vw, 60px);
    white-space: normal !important;
    text-wrap: balance !important;
  }

  body.rc-subpage .rc-cert-hero__intro p {
    font-size: clamp(19px, 4.8vw, 23px);
  }

  body.rc-subpage .rc-cert-hero__intro {
    grid-template-columns: minmax(0, 1fr);
  }

  body.rc-subpage .rc-cert-hero__intro > :is(p, .button) {
    grid-column: auto;
  }

  body.rc-subpage .rc-cert-reference-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 72px;
  }

  body.rc-subpage .rc-cert-reference {
    grid-template-rows: auto;
    gap: 40px;
  }

  body.rc-subpage .rc-cert-reference__number,
  body.rc-subpage .rc-cert-reference__number--long {
    font-size: 14px;
    white-space: nowrap;
  }

  body.rc-subpage .rc-cert-reference__top {
    min-height: 0;
  }

  body.rc-subpage .rc-cert-reference__standard {
    min-height: 0;
    margin-top: 20px;
    font-size: clamp(18px, 5.5vw, 30px);
  }

  body.rc-subpage .rc-cert-reference__intro {
    min-height: 0;
    margin-top: 0;
  }

  body.rc-subpage .rc-cert-reference__facts,
  body.rc-subpage .rc-cert-reference__actions {
    margin-top: 0;
  }

  body.rc-subpage .rc-cert-reference__facts > div {
    grid-template-columns: 4px minmax(118px, 38%) minmax(0, 1fr);
  }

  body.rc-subpage .rc-norms-reference__facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  body.rc-subpage .rc-cert-quote,
  body.rc-subpage .rc-cert-faq {
    padding: 96px 0;
  }

  body.rc-subpage .rc-cert-quote__content p {
    font-size: clamp(30px, 7vw, 42px);
  }

  body.rc-subpage .rc-cert-faq__title {
    margin-bottom: 80px;
  }

  body.rc-subpage .rc-cert-faq__question {
    min-height: 80px;
    grid-template-columns: 44px minmax(0, 1fr) 24px;
    gap: 12px;
  }

  body.rc-subpage .rc-cert-faq__answer > div {
    width: 100%;
    margin-left: 0;
    padding-left: 56px;
    padding-right: 36px;
  }
}

@media screen and (max-width: 479px) {
  body.rc-subpage .rc-cert-hero .title-hero-content {
    gap: 40px;
  }

  body.rc-subpage .rc-cert-hero__intro p {
    font-size: 18px;
  }

  body.rc-subpage .rc-cert-reference__top {
    gap: 16px;
  }

  body.rc-subpage .rc-cert-reference__standard {
    font-size: clamp(14px, 4.4vw, 20px);
  }

  body.rc-subpage .rc-cert-reference__logo {
    width: 72px;
    height: 72px;
  }

  body.rc-subpage .rc-cert-reference__logo--tuev {
    width: 52px;
    height: 52px;
  }

  body.rc-subpage .rc-cert-reference__logo--dakks {
    width: 112px;
    height: 52px;
  }

  body.rc-subpage .rc-cert-reference__actions {
    flex-direction: column;
  }

  body.rc-subpage .rc-cert-reference__actions a {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 96px;
    min-height: 96px;
  }

  body.rc-subpage .rc-cert-reference__facts > div {
    grid-template-columns: 4px minmax(0, 1fr);
    row-gap: 4px;
  }

  body.rc-subpage .rc-cert-reference__facts > div::before {
    grid-row: 1 / span 2;
  }

  body.rc-subpage .rc-cert-reference__facts :is(dt, dd) {
    grid-column: 2;
  }

  body.rc-subpage .rc-cert-quote,
  body.rc-subpage .rc-cert-faq {
    padding: 72px 0;
  }

  body.rc-subpage .rc-cert-quote__content p {
    font-size: 22px;
    line-height: 1.35;
  }

  body.rc-subpage .rc-cert-faq__title {
    margin-bottom: 56px;
  }

  body.rc-subpage .rc-cert-faq__answer > div {
    padding-right: 0;
    padding-left: 0;
  }
}

/* ---------------------------------------------------------------------
   Normenliste mobil: eigenstaendige Kartenansicht

   Vier Spalten werden unter 768px zu eng, deshalb wird jede Zeile zu einer
   Karte umgebrochen. Unternehmen steht als Ueberschrift oben, darunter
   bilden "Norm" und "Stand" ein zweispaltiges Wertepaar mit vorangestellten
   Labels, gefolgt von der Bezeichnung. Der Tabellenkopf entfaellt, weil die
   Labels seine Aufgabe uebernehmen; die Sortierung bleibt ueber die
   Schaltflaeche unter der Suche erreichbar.
   --------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  body.rc-subpage .rc-norms__table,
  body.rc-subpage .rc-norms__table tbody,
  body.rc-subpage .rc-norms__table tr,
  body.rc-subpage .rc-norms__table td {
    display: block;
    width: auto;
  }

  body.rc-subpage .rc-norms__table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  body.rc-subpage .rc-norms__table tr {
    padding: 20px 0;
    border-bottom: 1px solid rgba(23, 23, 23, .12);
  }

  body.rc-subpage .rc-norms__table tr:hover td {
    background: none;
  }

  body.rc-subpage .rc-norms__table td {
    padding: 0;
    border-bottom: 0;
  }

  /* Unternehmen als Kartentitel */
  body.rc-subpage .rc-norms__table .rc-norms__company {
    margin-bottom: 12px;
    color: #171717;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 400;
    text-wrap: pretty;
  }

  /* Norm und Stand nebeneinander, jeweils mit Label darueber */
  body.rc-subpage .rc-norms__table .rc-norms__code,
  body.rc-subpage .rc-norms__table .rc-norms__date {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    padding-right: 12px;
    white-space: normal;
  }

  body.rc-subpage .rc-norms__table .rc-norms__code::before,
  body.rc-subpage .rc-norms__table .rc-norms__date::before {
    display: block;
    margin-bottom: 2px;
    color: #8a8a8e;
    font-family: var(--_typography---type-font-badges), monospace;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    content: attr(data-label);
  }

  body.rc-subpage .rc-norms__table .rc-norms__code {
    font-size: 13px;
    line-height: 1.4;
  }

  body.rc-subpage .rc-norms__table .rc-norms__date {
    color: #6e6e73;
    font-size: 13px;
    line-height: 1.4;
  }

  /* Bezeichnung als Fliesstext unter dem Wertepaar */
  body.rc-subpage .rc-norms__table .rc-norms__title {
    margin-top: 12px;
    color: #6e6e73;
    font-size: 13px;
    line-height: 1.5;
    text-wrap: pretty;
  }

  /* Ohne Tabellenkopf braucht die Liste keine klebende Kopfzeile mehr. */
  body.rc-subpage .rc-norms__scroll {
    padding-right: 0;
  }

  body.rc-subpage .rc-norms__scroll-indicator {
    display: none;
  }

  body.rc-subpage .rc-norms__sort--mobile {
    display: inline-flex;
  }

  body.rc-subpage .rc-norms__toolbar-meta {
    width: 100%;
    justify-content: space-between;
    gap: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.rc-subpage .rc-cert-reference__actions a,
  body.rc-subpage.rc-editorial--zertifikate .button .button-icon,
  body.rc-subpage.rc-editorial--zertifikate .button .button-hover-element,
  body.rc-subpage.rc-editorial--zertifikate .button .button-hover-element-wrap,
  body.rc-subpage .rc-cert-faq__icon,
  body.rc-subpage .rc-norms__sort,
  body.rc-subpage .rc-norms__sort-icon {
    transition: none;
  }

  body.rc-subpage .rc-cert-faq__answer {
    transition: opacity 200ms ease;
  }
}

/* Zertifikate: verfeinerte mobile Komposition. */
@media screen and (max-width: 767px) {
  /* Beide Abschnittstitel verwenden mobil dieselbe Displaygroesse. */
  body.rc-subpage .rc-cert-hero .heading---h1,
  body.rc-subpage.rc-editorial--zertifikate .rc-norms .heading---h3 {
    font-size: clamp(32px, 8vw, 38px) !important;
    line-height: 1.15;
  }

  /* Das Zitat folgt mobil exakt der Schriftgroesse des Normtitels. */
  body.rc-subpage .rc-cert-quote__content p {
    font-size: clamp(18px, 5.5vw, 30px);
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-reference-grid {
    gap: 56px;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-reference {
    gap: 32px;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-reference__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin-top: 4px;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-reference__actions a {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 92px;
    min-height: 92px;
    padding: 13px 12px;
  }

  body.rc-subpage.rc-editorial--zertifikate
    .rc-cert-reference__actions
    .button-text {
    font-size: 13px;
    line-height: 1.3;
    text-wrap: pretty;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms .heading---h3 {
    font-size: clamp(32px, 8vw, 38px) !important;
    line-height: 1.15;
    text-wrap: balance;
  }

  body.rc-subpage.rc-editorial--zertifikate
    .rc-norms
    > .main-container
    > .title-top-section {
    gap: 56px;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms-reference {
    margin-top: 40px;
  }

  /* Nur die lange Normenliste laeuft rechts aus dem Container heraus. So
     bleibt die linke Inhaltsachse erhalten, waehrend die Scrollleiste bis an
     den rechten Viewportrand reicht und der Liste mehr Breite zur Verfuegung
     steht. */
  body.rc-subpage.rc-editorial--zertifikate .rc-norms__scroll-shell {
    margin-right: calc(-1 * var(--_grid---grid-window-gutter, 24px) - 8px);
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms__scroll {
    max-height: min(720px, 72vh);
    padding-right: calc(var(--_grid---grid-window-gutter, 24px) + 8px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms__scroll-indicator {
    display: block;
    right: 0;
  }

  /* Jede mobile Tabellenzeile bildet ein klares, linksbuendiges Raster. */
  body.rc-subpage.rc-editorial--zertifikate .rc-norms__table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(104px, 0.7fr);
    column-gap: 22px;
    row-gap: 10px;
    padding: 22px 0;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms__table td {
    width: auto;
    min-width: 0;
    padding: 0;
    text-align: left;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms__table .rc-norms__company {
    grid-column: 1 / -1;
    margin: 0;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms__table .rc-norms__code {
    grid-column: 1;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms__table .rc-norms__date {
    grid-column: 2;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-norms__table .rc-norms__title {
    grid-column: 1;
    max-width: 100%;
    text-align: left;
    text-wrap: pretty;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-faq {
    padding: 80px 0 96px;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-faq__title {
    margin-bottom: 52px;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-faq__question {
    height: auto;
    min-height: 92px;
    padding: 20px 0;
    grid-template-columns: 44px minmax(0, 1fr) 24px;
    gap: 12px;
    align-items: center;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-faq__question h3 {
    font-size: 18px;
    line-height: 1.35;
    text-wrap: pretty;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-faq__answer > div {
    padding: 4px 0 32px 56px;
  }
}

@media screen and (max-width: 479px) {
  body.rc-subpage .rc-cert-quote__content p {
    font-size: clamp(14px, 4.4vw, 20px);
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-reference__actions {
    flex-direction: initial;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-reference__actions a {
    width: 100%;
    max-width: none;
    height: 92px;
    min-height: 92px;
  }

  body.rc-subpage.rc-editorial--zertifikate .rc-cert-faq__question {
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    min-height: 96px;
  }
}
