/**
 * ID Metall brand tokens on top of the Fisher Design studio shell.
 * Accent red + navy from the live idmetall.de Astra palette.
 */
:root,
[data-bs-theme="light"] {
  --studio-accent: #c10807;
  --studio-link-hover: #c10807;
  --studio-faq-toggle-color: #c10807;
  --bs-primary: #c10807;
  --bs-primary-rgb: 193, 8, 7;
}

/* Burger / overlay nav: red hover like idmetall.de (not Fisher blue) */
.studio-nav-primary a:hover,
.studio-nav-primary a:focus-visible,
.studio-nav-secondary a:hover,
.studio-nav-secondary a:focus-visible,
.studio-a11y-menu__btn:hover,
.studio-a11y-menu__btn:focus-visible,
.studio-cookie-menu__btn:hover,
.studio-cookie-menu__btn:focus-visible {
  color: #c10807;
}

.studio-nav-primary .current-menu-item > a,
.studio-nav-primary .current_page_item > a,
.studio-nav-secondary .current-menu-item > a,
.studio-nav-secondary .current_page_item > a {
  color: #c10807;
}

/* Phone: theme-bundle bumps burger links to ~2.15–2.85rem — too large for DE labels. */
@media (max-width: 767.98px) {
  .studio-offcanvas-full .studio-nav-primary a {
    font-size: clamp(1.2rem, 5.2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.25;
    min-height: 0;
    padding: 0.5rem 0;
  }

  .studio-offcanvas-full .studio-nav-primary li + li {
    margin-top: 0.1rem;
  }

  .studio-offcanvas-full .studio-nav-primary {
    margin-bottom: 1.15rem;
  }

  .studio-offcanvas-full .studio-nav-secondary a {
    font-size: clamp(0.98rem, 3.8vw, 1.1rem);
    font-weight: 600;
    line-height: 1.3;
    min-height: 0;
    padding: 0.4rem 0;
  }

  .studio-offcanvas-full .studio-nav-secondary li + li {
    margin-top: 0.05rem;
  }
}

/* Contact success/error modal — ID Metall red (not Fisher blue) */
.studio-contact-modal__content:before {
  background: var(--studio-accent, #c10807);
}

.studio-contact-modal__eyebrow {
  color: var(--studio-accent, #c10807);
}

.studio-contact-modal--error .studio-contact-modal__content:before {
  background: #9a0605;
}

.studio-contact-modal--error .studio-contact-modal__eyebrow {
  color: #9a0605;
}

html[data-bs-theme="dark"] .studio-contact-modal__content:before {
  background: var(--studio-accent, #d94948);
}

html[data-bs-theme="dark"] .studio-contact-modal__eyebrow {
  color: var(--studio-accent, #d94948);
}

/* Header / chrome CTA — brand red (not Fisher blue) */
.studio-cta-btn,
.studio-topbar__offer {
  border-color: var(--studio-accent, #c10807) !important;
  background: var(--studio-accent, #c10807) !important;
  color: #fff !important;
}

@media (max-width: 420px) {
  .studio-topbar__offer {
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
    font-size: 0.82rem !important;
    white-space: nowrap;
  }
}

.studio-cta-btn:hover,
.studio-cta-btn:focus-visible,
.studio-topbar__offer:hover,
.studio-topbar__offer:focus-visible {
  border-color: #9a0605 !important;
  background: #9a0605 !important;
  color: #fff !important;
}

html[data-bs-theme="dark"] .studio-cta-btn,
html[data-bs-theme="dark"] .studio-topbar__offer {
  border-color: #d94848 !important;
  background: #d94848 !important;
}

html[data-bs-theme="dark"] .studio-cta-btn:hover,
html[data-bs-theme="dark"] .studio-cta-btn:focus-visible,
html[data-bs-theme="dark"] .studio-topbar__offer:hover,
html[data-bs-theme="dark"] .studio-topbar__offer:focus-visible {
  border-color: #c10807 !important;
  background: #c10807 !important;
}

/* Cookie tool — brand red instead of Fisher blue */
.studio-cookie-banner__btn--primary {
  border-color: var(--studio-accent, #c10807) !important;
  background: var(--studio-accent, #c10807) !important;
  color: #fff !important;
}

.studio-cookie-banner__btn--primary:hover,
.studio-cookie-banner__btn--primary:focus-visible {
  border-color: #9a0605 !important;
  background: #9a0605 !important;
  color: #fff !important;
}

.studio-cookie-banner__btn--ghost:hover,
.studio-cookie-banner__btn--ghost:focus-visible {
  border-color: var(--studio-accent, #c10807) !important;
  color: var(--studio-accent, #c10807) !important;
}

.studio-cookie-banner__btn--settings-inline {
  border-color: var(--studio-accent, #c10807) !important;
  background: color-mix(in srgb, var(--studio-accent, #c10807) 12%, transparent) !important;
  color: var(--studio-accent, #c10807) !important;
}

.studio-cookie-banner__btn--settings-inline:hover,
.studio-cookie-banner__btn--settings-inline:focus-visible {
  border-color: var(--studio-accent, #c10807) !important;
  background: var(--studio-accent, #c10807) !important;
  color: #fff !important;
}

.studio-cookie-banner__switch input:checked + .studio-cookie-banner__switch-ui {
  background: var(--studio-accent, #c10807) !important;
}

html[data-bs-theme="dark"] .studio-cookie-banner__btn--ghost:hover,
html[data-bs-theme="dark"] .studio-cookie-banner__btn--ghost:focus-visible {
  border-color: #d94848 !important;
  background: #d94848 !important;
  color: #fff !important;
}

html[data-bs-theme="dark"] .studio-cookie-banner__btn--settings-inline {
  border-color: #d94848 !important;
  background: color-mix(in srgb, #d94848 18%, transparent) !important;
  color: #d94848 !important;
}

html[data-bs-theme="dark"] .studio-cookie-banner__btn--settings-inline:hover,
html[data-bs-theme="dark"] .studio-cookie-banner__btn--settings-inline:focus-visible {
  border-color: #d94848 !important;
  background: #d94848 !important;
  color: #fff !important;
}

body.studio-body {
  --studio-bg: #ffffff;
  --studio-surface: #ffffff;
  --studio-text: #1a1a1a;
  --studio-text-strong: #011627;
  --studio-muted: #4a5560;
  --studio-border: #dde1e6;
  --studio-hover-bg: #f0f2f4;
  --studio-accent: #c10807;
  --studio-link-hover: #c10807;
  --studio-faq-toggle-color: #c10807;
  background-color: var(--studio-bg, #ffffff);
}

html[data-bs-theme="dark"] body.studio-body {
  --studio-bg: #0a1018;
  --studio-surface: #121a24;
  --studio-text: #e8eaed;
  --studio-text-strong: #ffffff;
  --studio-muted: #9aa0a6;
  --studio-border: #2a3441;
  --studio-hover-bg: #1a2330;
  --studio-accent: #d94948;
  --studio-link-hover: #d94948;
  --studio-faq-toggle-color: #d94948;
}

/*
 * ID Metall logo is a square stacked mark (icon + wordmark).
 * Fisher SVG was a wide wordmark at 2.25rem — that height makes this PNG illegible.
 */
body.studio-body {
  --studio-topbar-row-h: 4.25rem;
}

.studio-topbar__logo {
  max-height: none;
}

.studio-topbar__logo .studio-logo .studio-logo__img,
.studio-logo .studio-logo__img {
  display: block;
  height: 3.35rem;
  width: auto;
  max-width: min(100%, 220px);
  object-fit: contain;
}

/* Square file has transparent margin; a taller box keeps the wordmark readable. */
.studio-topbar__logo .studio-logo .studio-logo__img {
  height: 4.15rem;
  max-width: none;
}

/* Large brand mark in the open burger overlay */
.studio-overlay-logo .studio-logo .studio-logo__img {
  height: auto;
  width: min(100%, 200px);
  max-width: 200px;
  max-height: none;
}

/*
 * Burger open: freeze scroll without position:fixed on body.
 * Fixed body zeroes window.scrollY, the header script drops the compact
 * state, and closing restores the wrong offset (page jumps up, then down).
 * Padding replaces the topbar once it is taken out of flow.
 */
html:has(body.studio-menu-open) {
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.studio-menu-open {
  overflow: hidden !important;
  overscroll-behavior: none;
  overflow-anchor: none;
  padding-top: var(--studio-menu-pad, 0px) !important;
}

body.studio-menu-open .studio-topbar {
  position: fixed !important;
  left: 0;
  right: 0;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1060;
  margin-top: 0 !important;
}

body.studio-menu-open:not(.studio-header-compact) .studio-topbar {
  top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media screen and (min-width: 783px) {
  body.admin-bar.studio-menu-open:not(.studio-header-compact) .studio-topbar {
    top: 32px !important;
  }
}

@media screen and (max-width: 782px) {
  body.admin-bar.studio-menu-open:not(.studio-header-compact) .studio-topbar {
    top: 46px !important;
  }
}

body.studio-menu-open #studioOffcanvas .offcanvas-body {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* theme-bundle locks footer mark to 2.25rem below 992px — that clips the
 * white-backed PNG inside the rounded plate on tablets. Keep plate + mark sized together. */
.studio-footer .studio-footer__logo-link {
  display: inline-flex;
  align-items: center;
  max-height: none;
  height: auto;
  overflow: visible;
  line-height: 0;
}

.studio-footer .studio-footer__logo.studio-logo,
.studio-footer .studio-footer__logo {
  display: block;
  height: auto;
  max-height: none;
  max-width: min(100%, 220px);
  line-height: 0;
}

.studio-footer .studio-footer__logo-link .studio-logo .studio-logo__img,
.studio-footer .studio-footer__logo .studio-logo__img {
  display: block;
  height: 3.35rem;
  width: auto;
  max-width: min(100%, 220px);
  max-height: none;
  object-fit: contain;
}

html[data-bs-theme="dark"] .studio-logo__img {
  filter: none;
}

/* Square header mark is navy on a transparent ground. */
html[data-bs-theme="dark"] .studio-topbar__logo .studio-logo__img,
html[data-bs-theme="dark"] .studio-overlay-logo .studio-logo__img {
  background: #fff;
  border-radius: 0.4rem;
}

/*
 * Light theme: footer stays dark navy like original idmetall.de
 * (Astra footer was ~#011627 / #031525 with light text).
 */
html[data-bs-theme="light"] .studio-footer,
:root:not([data-bs-theme="dark"]) .studio-footer {
  --studio-footer-bg: #011627;
  --studio-footer-text: #ffffff;
  --studio-footer-muted: #ffffff;
  --studio-footer-border: rgba(255, 255, 255, 0.14);
  --studio-footer-hover: #d94848; /* original Astra menu-link hover */
  background-color: var(--studio-footer-bg) !important;
  color: var(--studio-footer-text) !important;
  border-color: var(--studio-footer-border) !important;
}

html[data-bs-theme="light"] .studio-footer .studio-footer__brand-text,
html[data-bs-theme="light"] .studio-footer .studio-footer__section-title,
html[data-bs-theme="light"] .studio-footer .studio-footer__link,
html[data-bs-theme="light"] .studio-footer .studio-footer__link-list a,
html[data-bs-theme="light"] .studio-footer .studio-footer__meta,
html[data-bs-theme="light"] .studio-footer .studio-footer__credit,
html[data-bs-theme="light"] .studio-footer .studio-footer__copy,
html[data-bs-theme="light"] .studio-footer .idm-footer__contact-list,
html[data-bs-theme="light"] .studio-footer .idm-footer__contact-label,
html[data-bs-theme="light"] .studio-footer .idm-footer__address,
html[data-bs-theme="light"] .studio-footer a:not(.studio-footer__icon-btn) {
  color: #ffffff !important;
}

html[data-bs-theme="light"] .studio-footer .studio-footer__link:hover,
html[data-bs-theme="light"] .studio-footer .studio-footer__link:focus,
html[data-bs-theme="light"] .studio-footer .studio-footer__link:focus-visible,
html[data-bs-theme="light"] .studio-footer .studio-footer__link-list a:hover,
html[data-bs-theme="light"] .studio-footer .studio-footer__link-list a:focus,
html[data-bs-theme="light"] .studio-footer .studio-footer__meta-link:hover,
html[data-bs-theme="light"] .studio-footer .studio-footer__meta-link:focus,
html[data-bs-theme="light"] .studio-footer .studio-footer__credit a:hover,
html[data-bs-theme="light"] .studio-footer .studio-footer__credit a:focus,
html[data-bs-theme="light"] .studio-footer a:not(.studio-footer__icon-btn):hover,
html[data-bs-theme="light"] .studio-footer a:not(.studio-footer__icon-btn):focus,
html[data-bs-theme="light"] .studio-footer a:not(.studio-footer__icon-btn):focus-visible,
html[data-bs-theme="light"] .studio-footer li.menu-item > a:hover,
html[data-bs-theme="light"] .studio-footer li.menu-item > a:focus-visible {
  color: var(--studio-footer-hover, #d94848) !important;
  text-decoration: none !important;
}

html[data-bs-theme="light"] .studio-footer .border-top,
html[data-bs-theme="light"] .studio-footer .border-bottom,
html[data-bs-theme="light"] .studio-footer hr {
  border-color: var(--studio-footer-border) !important;
}

/* Logo plate on the navy footer (original mark sits on a white ground). */
html[data-bs-theme="light"] .studio-footer .studio-footer__logo-link,
html[data-bs-theme="dark"] .studio-footer .studio-footer__logo-link {
  background: #ffffff;
  padding: 0.55rem 0.65rem;
  border-radius: 0.35rem;
  color: inherit !important; /* don't recolor logo link to red on hover */
}

html[data-bs-theme="light"] .studio-footer .studio-footer__logo-link:hover,
html[data-bs-theme="light"] .studio-footer .studio-footer__logo-link:focus-visible,
html[data-bs-theme="dark"] .studio-footer .studio-footer__logo-link:hover,
html[data-bs-theme="dark"] .studio-footer .studio-footer__logo-link:focus-visible {
  color: inherit !important;
}

html[data-bs-theme="light"] .studio-footer .studio-footer__icon-btn,
html[data-bs-theme="light"] .studio-footer .idm-footer__social-btn {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-bs-theme="light"] .studio-footer .studio-footer__icon-btn svg,
html[data-bs-theme="light"] .studio-footer .idm-footer__social-btn svg {
  fill: currentColor;
  color: #ffffff;
}

html[data-bs-theme="light"] .studio-footer .studio-footer__icon-btn:hover,
html[data-bs-theme="light"] .studio-footer .studio-footer__icon-btn:focus-visible,
html[data-bs-theme="light"] .studio-footer .idm-footer__social-btn:hover,
html[data-bs-theme="light"] .studio-footer .idm-footer__social-btn:focus-visible {
  color: #ffffff !important;
  background-color: var(--studio-footer-hover, #d94848) !important;
}

html[data-bs-theme="light"] .studio-footer .studio-footer__icon-btn:hover svg,
html[data-bs-theme="light"] .studio-footer .studio-footer__icon-btn:focus-visible svg,
html[data-bs-theme="light"] .studio-footer .idm-footer__social-btn:hover svg,
html[data-bs-theme="light"] .studio-footer .idm-footer__social-btn:focus-visible svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* ID Metall footer layout extras */
.idm-footer__socials {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.25rem;
}

.idm-footer__social-btn {
  width: 2.5rem;
  height: 2.5rem;
}

.idm-footer__contact-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  font-size: 0.95rem;
  line-height: 1.45;
}

.idm-footer__contact-label {
  display: block;
  font-weight: 700;
  margin-bottom: 0.1rem;
  color: inherit;
}

.idm-footer__address {
  margin-top: 0.35rem;
}

.idm-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem 1.75rem;
  margin-top: 2rem;
  font-size: 0.95rem;
}

.idm-footer__legal .studio-footer__link {
  text-decoration: none;
}

.studio-footer__credit a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* Dark theme for inner pages. Hardcoded light surfaces sit in later stylesheets;
   the html attribute keeps these rules more specific. */
html[data-bs-theme="dark"] .idm-about-intro,
html[data-bs-theme="dark"] .idm-about-story,
html[data-bs-theme="dark"] .idm-leist-services,
html[data-bs-theme="dark"] .idm-stg-intro,
html[data-bs-theme="dark"] .idm-stg-advantages,
html[data-bs-theme="dark"] .idm-stg-industries,
html[data-bs-theme="dark"] .idm-stg-quality,
html[data-bs-theme="dark"] .idm-stg-faq,
html[data-bs-theme="dark"] .idm-prz-part:nth-child(even),
html[data-bs-theme="dark"] .idm-prod-line:nth-child(odd) {
  background: var(--studio-surface, #121a24);
}

html[data-bs-theme="dark"] .idm-about-stats,
html[data-bs-theme="dark"] .idm-leist-intro,
html[data-bs-theme="dark"] .idm-stg-series,
html[data-bs-theme="dark"] .idm-stg-process,
html[data-bs-theme="dark"] .idm-stg-tech,
html[data-bs-theme="dark"] .idm-stg-region,
html[data-bs-theme="dark"] .idm-prz-services,
html[data-bs-theme="dark"] .idm-prz-part:nth-child(odd),
html[data-bs-theme="dark"] .idm-prod-intro,
html[data-bs-theme="dark"] .idm-prod-lines,
html[data-bs-theme="dark"] .idm-prod-line,
html[data-bs-theme="dark"] .idm-kontakt-intro {
  background: var(--studio-bg, #0a1018);
}

html[data-bs-theme="dark"] .idm-about-intro__list li,
html[data-bs-theme="dark"] .idm-about-intro__note,
html[data-bs-theme="dark"] .idm-about-story__card,
html[data-bs-theme="dark"] .idm-about-stats__item,
html[data-bs-theme="dark"] .idm-leist-intro__caps li,
html[data-bs-theme="dark"] .idm-leist-service,
html[data-bs-theme="dark"] .idm-stg-quality__board,
html[data-bs-theme="dark"] .idm-stg-faq__item[open],
html[data-bs-theme="dark"] .idm-prz-part__media,
html[data-bs-theme="dark"] .idm-prz-part:nth-child(even) .idm-prz-part__media {
  background: #161f2b;
  border-color: var(--studio-border, #2a3441);
}

html[data-bs-theme="dark"] .idm-stg-process__num {
  background: var(--studio-bg, #0a1018);
}

html[data-bs-theme="dark"] .idm-stg-process__list li::before {
  background: var(--studio-border, #2a3441);
}

html[data-bs-theme="dark"] .idm-kontakt-intro__lead,
html[data-bs-theme="dark"] .idm-kontakt-intro__text,
html[data-bs-theme="dark"] .idm-prod-intro__lead,
html[data-bs-theme="dark"] .idm-prod-line__body,
html[data-bs-theme="dark"] .idm-prod-line__features p,
html[data-bs-theme="dark"] .idm-prz-part__body {
  color: var(--studio-text, #e8eaed);
}

html[data-bs-theme="dark"] .idm-prod-slider__count {
  color: var(--studio-muted, #9aa0a6);
}

html[data-bs-theme="dark"] .idm-prod-slider__dot {
  background: #3a4654;
}

html[data-bs-theme="dark"] .idm-kontakt-facts a {
  color: var(--studio-text-strong, #fff);
}

html[data-bs-theme="dark"] .idm-kontakt-facts li:last-child a {
  border-bottom-color: var(--studio-border, #2a3441);
}

html[data-bs-theme="dark"] .idm-stg-intro__facts,
html[data-bs-theme="dark"] .idm-stg-series__materials,
html[data-bs-theme="dark"] .idm-stg-series__materials li,
html[data-bs-theme="dark"] .idm-stg-series__sizes li,
html[data-bs-theme="dark"] .idm-stg-advantages__list,
html[data-bs-theme="dark"] .idm-stg-advantages__list li,
html[data-bs-theme="dark"] .idm-stg-process__motto,
html[data-bs-theme="dark"] .idm-stg-tech__measures,
html[data-bs-theme="dark"] .idm-stg-tech__measures li,
html[data-bs-theme="dark"] .idm-stg-tech__caps,
html[data-bs-theme="dark"] .idm-stg-tech__caps li,
html[data-bs-theme="dark"] .idm-stg-quality__group + .idm-stg-quality__group,
html[data-bs-theme="dark"] .idm-stg-quality__names li,
html[data-bs-theme="dark"] .idm-stg-quality__close,
html[data-bs-theme="dark"] .idm-stg-control,
html[data-bs-theme="dark"] .idm-stg-region__places,
html[data-bs-theme="dark"] .idm-about-intro__note-stat,
html[data-bs-theme="dark"] .idm-prz-services {
  border-color: var(--studio-border, #2a3441);
}

/* Accessibility tool. ID Metall heroes sit outside .studio-main, and section
   colors are hardcoded, so the shared studio rules never reach them. */
html.studio-a11y-line-height-custom body.studio-body :is(.idm-hero, .idm-page-hero),
html.studio-a11y-line-height-custom body.studio-body :is(.idm-hero, .idm-page-hero) * {
  line-height: var(--studio-a11y-line-height) !important;
}

html.studio-a11y-letter-spacing-custom body.studio-body :is(.idm-hero, .idm-page-hero),
html.studio-a11y-letter-spacing-custom body.studio-body :is(.idm-hero, .idm-page-hero) * {
  letter-spacing: var(--studio-a11y-letter-spacing) !important;
}

html.studio-a11y-font-weight-custom body.studio-body :is(.idm-hero, .idm-page-hero),
html.studio-a11y-font-weight-custom body.studio-body :is(.idm-hero, .idm-page-hero) * {
  font-weight: var(--studio-a11y-font-weight) !important;
}

html.studio-a11y-readable-font body.studio-body :is(.idm-hero, .idm-page-hero),
html.studio-a11y-readable-font body.studio-body :is(.idm-hero, .idm-page-hero) * {
  font-family: Arial, Helvetica, "Segoe UI", sans-serif !important;
}

html.studio-a11y-text-align body.studio-body :is(.idm-hero, .idm-hero__copy, .idm-page-hero, .idm-page-hero__inner) {
  text-align: center !important;
}

html.studio-a11y-large-cursor body.studio-body :is(.idm-hero, .idm-page-hero),
html.studio-a11y-large-cursor body.studio-body :is(.idm-hero, .idm-page-hero) * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.2' d='M4 4l8 22 3-8 8-3z'/%3E%3C/svg%3E") 4 4, auto !important;
}

html.studio-a11y-monochrome body.studio-body :is(.idm-hero, .idm-page-hero) {
  filter: grayscale(1);
}

html.studio-a11y-stop-animations body.studio-body :is(.idm-hero, .idm-page-hero, .idm-quality),
html.studio-a11y-stop-animations body.studio-body :is(.idm-hero, .idm-page-hero, .idm-quality) * {
  animation: none !important;
  transition: none !important;
}

html.studio-a11y-highlight-links body.studio-body :is(.idm-hero, .idm-page-hero) a {
  outline: 2px solid #0612f4 !important;
  background: #0612f41f !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}

html.studio-a11y-highlight-content body.studio-body :is(.idm-hero, .idm-page-hero) :is(h1, p) {
  outline: 1px dashed #0612f4;
  outline-offset: 3px;
}

html.studio-a11y-high-contrast body.studio-body {
  background-color: #000 !important;
  color: #fff !important;
}

html.studio-a11y-high-contrast body.studio-body .studio-main,
html.studio-a11y-high-contrast body.studio-body .studio-main :where(section, article, div, li, details, form, fieldset) {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

html.studio-a11y-high-contrast body.studio-body .studio-main :is(p, li, h1, h2, h3, h4, label, strong, summary, td, th),
html.studio-a11y-high-contrast body.studio-body :is(.idm-hero, .idm-page-hero) :is(h1, p, span) {
  color: #fff !important;
}

html.studio-a11y-high-contrast body.studio-body .studio-main a,
html.studio-a11y-high-contrast body.studio-body :is(.idm-hero, .idm-page-hero) a {
  color: #ff0 !important;
}

html.studio-a11y-high-contrast body.studio-body .studio-main :is(input, select, textarea) {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

html.studio-a11y-light-contrast body.studio-body {
  background-color: #fff !important;
  color: #111 !important;
}

html.studio-a11y-light-contrast body.studio-body .studio-main,
html.studio-a11y-light-contrast body.studio-body .studio-main :where(section, article, div, li, details, form, fieldset) {
  background-color: #fff !important;
  color: #111 !important;
  border-color: #333 !important;
}

html.studio-a11y-light-contrast body.studio-body .studio-main :is(p, li, h1, h2, h3, h4, label, strong, summary, td, th) {
  color: #111 !important;
}

html.studio-a11y-light-contrast body.studio-body .studio-main :is(input, select, textarea) {
  background-color: #fff !important;
  color: #111 !important;
  border-color: #333 !important;
}

/* Back to top — Customizer label «Nach oben» in footer meta */
.idm-back-top {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.45rem 0.8rem 0.45rem 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 2px;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.idm-back-top__mark {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid #c10807;
  border-right: 2px solid #c10807;
  transform: rotate(-45deg);
  translate: 0 0.1rem;
}

.idm-back-top:hover,
.idm-back-top:focus-visible {
  background: #c10807;
  border-color: #c10807;
  color: #fff;
  outline: none;
}

.idm-back-top:hover .idm-back-top__mark,
.idm-back-top:focus-visible .idm-back-top__mark {
  border-color: #fff;
}

html[data-bs-theme="light"] .studio-footer .idm-back-top {
  color: #fff !important;
}

@media (prefers-reduced-motion: reduce) {
  .idm-back-top {
    transition: none;
  }
}
