/* ==========================================================
   FALLER MANUALS
   Global Stylesheet
   ========================================================== */


/* ==========================================================
   01) DESIGN TOKENS
   ========================================================== */

:root {
  --md-primary-fg-color: #000000;
  --md-primary-fg-color--light: #000000;
  --md-primary-fg-color--dark: #000000;

  --container-max: 1760px;

  --color-white: #ffffff;
  --color-black: #111111;

  --color-ink-900: #0f172a;
  --color-slate-700: #475569;
  --color-slate-500: #64748b;

  --color-border: #cfd5df;
  --color-border-ui: #e5eaf1;

  --color-surface-soft: #f8fafc;
  --color-surface-strong: #f1f5f9;

  --radius-lg: 14px;
  --radius-xl: 16px;
  --radius-2xl: 18px;
  --radius-pill: 999px;

  --shadow-card:
    0 8px 22px rgba(15, 23, 42, 0.08);

  --shadow-card-strong:
    0 10px 28px rgba(15, 23, 42, 0.1);
}


/* ==========================================================
   02) GLOBAL
   ========================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  overflow-x: hidden;
}

body {
  margin: 0;
}

img {
  max-width: 100%;
}

.md-grid {
  max-width: var(--container-max);
}


/* ==========================================================
   03) TYPOGRAPHY
   ========================================================== */

.md-typeset {
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.md-typeset h1 {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.md-nav {
  font-weight: 400;
}


/* ==========================================================
   04) HEADER
   ========================================================== */

.md-header {
  background-color: #000000 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.md-header__inner {
  height: 52px;
  align-items: center !important;
}

.md-header,
.md-header__button,
.md-header__title,
.md-header__source,
.md-header__option,
.md-header__button .md-icon,
.md-search__icon,
.md-search__input {
  color: #ffffff !important;
}

.md-header__topic:first-child {
  display: none !important;
}


/* ==========================================================
   05) FALLER LOGO
   ========================================================== */

.md-header__button.md-logo {
  padding: 0.2rem 0.3rem !important;
  margin: 0 !important;
}

.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  display: block;

  width: auto !important;
  height: 24px !important;

  filter: brightness(0) invert(1);
}

/* Logo auf Desktop passend zur Navigation ausrichten */

@media (min-width: 76.25em) {

  .md-header__inner {
    max-width: none !important;

    padding-left: clamp(1.5rem, 2vw, 3rem);
    padding-right: clamp(1.5rem, 2vw, 3rem);
  }

  .md-header__button.md-logo {
    margin-left: 0 !important;
  }

}


/* ==========================================================
   06) HEADER SEARCH
   ========================================================== */

.md-search {
  min-width: 0;
}

.md-search__form {
  min-width: 0;

  background: #111111 !important;

  border-radius: 8px !important;

  box-shadow: none !important;
}

.md-search__input {
  min-width: 0;

  color: #ffffff !important;

  caret-color: #ffffff !important;
}

.md-search__input::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}


/* geöffnete Suche */

.md-search--active .md-search__form,
.md-search--active .md-search__input {
  background: #ffffff !important;

  color: #111111 !important;

  caret-color: #111111 !important;
}

.md-search--active .md-search__input::placeholder {
  color: rgba(0, 0, 0, 0.4) !important;
}


/* Suchergebnis-Fenster */

.md-search__output {
  max-width: min(92vw, 42rem);

  right: 0;
  left: auto;
}

.md-search-result__item {
  overflow: hidden;
}

.md-search-result__title,
.md-search-result__teaser,
.md-search-result__more {
  overflow-wrap: break-word;
}


/* ==========================================================
   07) LANGUAGE SWITCH
   ========================================================== */

.md-header__option {
  display: inline-flex;
  align-items: center;
}

.md-header__option .md-select {
  display: inline-flex !important;
  align-items: center !important;
  position: relative;
}


/* Standardsymbol entfernen */

.md-header__option .md-select__icon,
.md-header__option .md-select .md-icon,
.md-header__option .md-select svg,
.md-header__option > .md-icon,
.md-header__option > svg {
  display: none !important;
}


/* Material-Text im Trigger verstecken */

.md-header__option .md-select > .md-select__inner {
  font-size: 0 !important;
  color: transparent !important;
}


/* nur Sprachcode anzeigen */

.md-header__option .md-select::after {
  content: attr(data-lang-code);

  display: inline-block;

  color: #ffffff;

  font-size: 0.72rem;
  font-weight: 700;

  letter-spacing: 0.04em;
  line-height: 1;
}


/* Dropdown */

.md-select__list {
  color: #111111 !important;
}

.md-select__link,
.md-select__link:link,
.md-select__link:visited {
  color: #111111 !important;

  font-size: 0.82rem !important;

  opacity: 1 !important;
}


/* ==========================================================
   08) DESKTOP LAYOUT / NAVIGATION
   ========================================================== */

@media (min-width: 76.25em) {

  /*
   * Auf Desktop verwenden wir die gesamte verfügbare Breite.
   * Sidebar und Inhalt werden unabhängig voneinander positioniert.
   */

  .md-grid {
    max-width: none !important;
  }


  /* ----------------------------------------------------------
     Hauptlayout
     ---------------------------------------------------------- */

  .md-main__inner {
    display: grid !important;

    grid-template-columns:
      260px
      minmax(0, 1fr);

    column-gap: clamp(2rem, 3vw, 4rem);

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: clamp(1.5rem, 2vw, 3rem);
    padding-right: clamp(1.5rem, 2vw, 3rem);
  }


  /* ----------------------------------------------------------
     Linke Navigation
     ---------------------------------------------------------- */

  .md-sidebar--primary {
    grid-column: 1;

    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding: 0 !important;

    transform: none !important;
  }


  .md-sidebar--primary .md-sidebar__scrollwrap {
    width: 100%;

    margin: 0 !important;

    padding-right: 1.5rem;

    border-right: 1px solid #d7dce3;
  }


  .md-sidebar--primary .md-sidebar__inner {
    width: 100%;

    padding: 0 !important;
  }


  .md-sidebar--primary .md-nav {
    width: 100%;
  }


  .md-sidebar--primary .md-nav__list {
    width: 100%;

    padding-left: 0;
  }


  .md-sidebar--primary .md-nav__link {
    width: 100%;

    margin-left: 0;

    white-space: normal;
  }


  /* aktive Navigation */

  .md-nav__link--active,
  .md-nav__link[aria-current="page"] {
    color: #000000 !important;

    font-weight: 700 !important;

    text-decoration: underline;

    text-underline-offset: 0.18em;
  }


  .md-nav__item--active > .md-nav__link {
    color: #000000 !important;

    font-weight: 700 !important;
  }


  /* ----------------------------------------------------------
     Content
     ---------------------------------------------------------- */

  .md-content {
    grid-column: 2;

    width: 100% !important;
    min-width: 0;

    max-width: none !important;

    margin: 0 !important;
  }


  .md-content__inner {
    width: 100% !important;

    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }


  /* ----------------------------------------------------------
     Rechte Inhaltsnavigation ausblenden
     ---------------------------------------------------------- */

  .md-sidebar--secondary {
    display: none !important;
  }

}


/* ==========================================================
   09) STARTSEITE – HERO SEARCH
   ========================================================== */

.hero-search {
  width: min(100%, 920px);

  margin: 4rem auto 3rem;

  padding: 0 1.5rem;

  text-align: center;
}

.hero-search h2 {
  margin: 0 0 1rem;

  font-size: clamp(1.8rem, 3vw, 2.7rem);

  line-height: 1.2;

  font-weight: 700;
}

.hero-search > p:not(.manual-search-status) {
  max-width: 760px;

  margin: 0 auto 2rem;

  color: var(--color-slate-700);

  font-size: 1.05rem;

  line-height: 1.6;
}


/* ==========================================================
   10) PRODUKTSUCHE
   ========================================================== */

.product-search {
  display: block;

  width: min(100%, 760px);

  min-height: 64px;

  margin: 0 auto;

  padding: 0.9rem 1.6rem;

  border: 1px solid var(--color-border);

  border-radius: var(--radius-pill);

  outline: none;

  background: #ffffff;

  color: var(--color-ink-900);

  font-family: inherit;

  font-size: 1.1rem;

  box-shadow:
    0 8px 24px rgba(15, 23, 42, 0.08);

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.product-search::placeholder {
  color: var(--color-slate-500);

  opacity: 1;
}

.product-search:focus {
  border-color: var(--color-ink-900);

  box-shadow:
    0 0 0 4px rgba(15, 23, 42, 0.08),
    0 10px 28px rgba(15, 23, 42, 0.1);
}


/* Suchstatus */

.manual-search-status {
  min-height: 1.5rem;

  margin: 1.2rem 0 0;

  color: var(--color-slate-700);

  font-size: 0.95rem;

  font-weight: 600;
}


/* ==========================================================
   11) DEVICE GRID
   ========================================================== */

.device-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(260px, 1fr));

  gap: 2rem;

  width: 100%;

  margin-top: 2rem;
}

.hero-search + .device-grid {
  margin-top: 0;
}


/* ==========================================================
   12) DEVICE CARD
   ========================================================== */

.device-card {
  display: flex;

  flex-direction: column;

  height: 100%;

  overflow: hidden;

  color: inherit;

  text-decoration: none;

  border: 1px solid var(--color-border);

  border-radius: var(--radius-2xl);

  background: #ffffff;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.device-card:hover {
  border-color: #999999;

  box-shadow: var(--shadow-card-strong);

  transform: translateY(-2px);
}


/* Suche steuert hidden */

.device-card[hidden] {
  display: none !important;
}


/* ==========================================================
   13) DEVICE IMAGE
   ========================================================== */

.device-card__image {
  display: flex;

  align-items: center;
  justify-content: center;

  height: 260px;

  padding: 1.25rem;

  background:
    linear-gradient(
      180deg,
      var(--color-surface-soft) 0%,
      var(--color-surface-strong) 100%
    );

  border-bottom:
    1px solid var(--color-border-ui);

  overflow: hidden;
}

.device-card__image img {
  display: block;

  width: 100%;
  height: 190px;

  max-width: 400px;

  object-fit: contain;
  object-position: center;

  margin: 0 auto;
}


/* OSKAR 2 etwas nach unten */

.device-card__image img[alt="FALLER OSKAR 2"] {
  transform: translateY(10px);
}


/* OSKAR easy etwas nach oben */

.device-card__image img[alt="FALLER OSKAR easy"] {
  transform: translateY(-10px);
}

/* ==========================================================
   14) DEVICE CONTENT
   ========================================================== */

.device-card__content {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  flex-grow: 1;

  gap: 0.5rem;

  padding: 1.2rem 1.3rem 1.3rem;
}

.device-card__content h2 {
  display: flex;

  align-items: flex-start;

  min-height: 2.6em;

  margin: 0;

  font-size: 1.15rem;

  font-weight: 700;

  line-height: 1.2;
}

.device-category {
  margin: 0;

  color: var(--color-slate-500);

  font-size: 0.85rem;
}


/* ==========================================================
   15) DEVICE CARD ACTIONS
   ========================================================== */

.device-card__actions {
  display: grid;

  grid-template-columns:
    repeat(auto-fit, minmax(min(100%, 140px), 1fr));

  gap: 0.65rem;

  width: 100%;

  margin-top: auto;

  padding-top: 1rem;
}


/* ==========================================================
   16) BUTTONS
   ========================================================== */

.device-card__button {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  min-height: 44px;

  margin: 0 !important;

  padding: 0.55rem 0.8rem;

  border: 1px solid var(--color-ink-900);

  border-radius: var(--radius-pill);

  background: var(--color-ink-900);

  color: #ffffff !important;

  font-size: 0.82rem;

  font-weight: 600;

  line-height: 1.15;

  text-align: center;

  text-decoration: none;

  white-space: normal;

  overflow-wrap: normal;

  word-break: normal;

  transition:
    transform 0.2s ease,
    opacity 0.2s ease,
    background 0.2s ease;
}

.device-card__button:hover {
  transform: translateY(-1px);

  opacity: 0.9;
}


/* PDF Button */

.device-card__button--secondary {
  background: #ffffff !important;

  color: var(--color-ink-900) !important;

  border: 1px solid var(--color-ink-900);
}

.device-card__button--secondary:hover {
  background: var(--color-surface-strong) !important;
}


/* ==========================================================
   17) FOOTER
   ========================================================== */

.md-footer {
  background: #000000 !important;
  color: #ffffff !important;
}


/* Standard-MkDocs-Hinweis ausblenden */

.md-copyright {
  display: none !important;
}


/* Footer-Metabereich */

.md-footer-meta {
  background: #000000 !important;
  color: #ffffff !important;
}


/* Footer-Inhalt kompakt halten */

.md-footer-meta__inner {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;

  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
}


/* eigene FALLER Footer Links */

.faller-footer-links {
  display: flex;

  justify-content: center;
  align-items: center;

  flex-wrap: wrap;

  gap: 1.25rem;

  width: 100%;

  margin: 0;
  padding: 0;

  font-size: 0.78rem;
  line-height: 1.2;

  text-align: center;
}


/* Footer Links */

.faller-footer-links a {
  color: #ffffff !important;

  text-decoration: none;

  opacity: 0.9;
}

.faller-footer-links a:hover {
  text-decoration: underline;

  opacity: 1;
}


/* ==========================================================
   18) MOBILE BACK LABEL
   ========================================================== */

.faller-back-label {
  display: inline-block;

  margin-right: 0.4rem;

  font-size: 0.85rem;

  font-weight: 600;

  opacity: 0.8;
}


/* ==========================================================
   19) TABLET
   ========================================================== */

@media (max-width: 1100px) {

  .device-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

}


/* ==========================================================
   20) MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .hero-search {
    margin: 2.5rem auto 2rem;

    padding: 0 0.5rem;
  }


  .hero-search h2 {
    font-size: 1.65rem;
  }


  .hero-search > p:not(.manual-search-status) {
    margin-bottom: 1.5rem;

    font-size: 0.95rem;
  }


  .product-search {
    min-height: 56px;

    padding: 0.8rem 1.2rem;

    font-size: 1rem;
  }


  .device-grid {
    grid-template-columns: 1fr;
  }


  .device-card__image {
    min-height: 220px;
  }


  .device-card__image img {
    max-height: 190px;
  }


  .device-card__actions {
    grid-template-columns: 1fr;
  }


  .device-card__button {
    width: 100%;
  }


  .md-search__output {
    width: 100%;

    max-width: 100%;

    left: 0;

    right: 0;

    border-radius: 0;

    box-sizing: border-box;
  }


  .faller-footer-links {
    gap: 0.75rem;

    font-size: 0.74rem;

    text-align: center;
  }

}

/* ==========================================================
   AVENIR NEXT WORLD
   ========================================================== */

@font-face {
  font-family: "Avenir Next World";
  src: url("../assets/fonts/Avenir%20Next%20World%20Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Avenir Next World";
  src: url("../assets/fonts/Avenir%20Next%20World%20Demi.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Avenir Next World";
  src: url("../assets/fonts/Avenir%20Next%20World%20Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


/* ==========================================================
   MATERIAL FOR MKDOCS
   ========================================================== */

:root {
  --md-text-font: "Avenir Next World";
}


/* Allgemeine Schrift */

body,
.md-typeset,
.md-nav,
.md-header,
.md-tabs,
input,
button,
select,
textarea {
  font-family: "Avenir Next World", sans-serif;
}


/* Fließtext */

body,
.md-typeset {
  font-weight: 300;
}


/* Überschriften */

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
  font-family: "Avenir Next World", sans-serif;
  font-weight: 600;
}


/* Fett hervorgehobener Text */

.md-typeset strong,
.md-typeset b {
  font-weight: 700;
}

/* ==========================================================
   TECHNISCHE DATEN / BATTERIEDATEN
   ========================================================== */

.tech-specs {
  width: 100%;
  margin: 1.5rem 0 2rem;

  border-top: 1px solid var(--color-border);
}

.tech-specs__row {
  display: grid;
  grid-template-columns: minmax(180px, 30%) minmax(0, 1fr);

  border-bottom: 1px solid var(--color-border);
}

.tech-specs__label,
.tech-specs__value {
  padding: 0.85rem 1rem;

  line-height: 1.5;
}

.tech-specs__label {
  font-weight: 600;

  background: var(--color-surface-soft);
}

.tech-specs__value {
  min-width: 0;

  overflow-wrap: anywhere;
}

.tech-specs__value a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}


/* Symbol innerhalb der linken Spalte */

.tech-specs__label img {
  display: inline-block;

  width: 22px;
  height: 22px;

  margin-right: 0.45rem;

  vertical-align: middle;
}


/* ==========================================================
   HINWEISBOXEN
   ========================================================== */

.device-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);

  gap: 0.8rem;
  align-items: start;

  margin: 1.25rem 0;

  padding: 1rem 1.15rem;

  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);

  background: var(--color-surface-soft);

  line-height: 1.5;
}

.device-note-icon {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-width: 1.4rem;

  font-weight: 700;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .tech-specs__row {
    grid-template-columns: 1fr;
  }

  .tech-specs__label {
    padding-bottom: 0.35rem;

    border-bottom: 0;
  }

  .tech-specs__value {
    padding-top: 0.35rem;
  }

  .device-note {
    grid-template-columns: auto minmax(0, 1fr);

    padding: 0.9rem 1rem;
  }

}

/* ==========================================================
   OSKAR 2 – GERÄTEÜBERSICHT
   ========================================================== */

.oskar2-overview {
  display: grid;

  grid-template-columns:
    minmax(320px, 1.35fr)
    minmax(280px, 0.65fr);

  gap: 2.5rem;

  align-items: center;

  width: 100%;

  margin: 1.5rem 0 2rem;
}


/* Abbildung */

.oskar2-overview__figure {
  display: flex;

  align-items: center;
  justify-content: center;

  min-width: 0;
}

.oskar2-overview__image {
  display: block;

  width: 100%;
  max-width: 700px;
  height: auto;

  object-fit: contain;
}


/* Legende */

.oskar2-overview__legend {
  display: flex;

  flex-direction: column;

  gap: 0.42rem;
}


/* einzelner Eintrag */

.oskar2-overview__item {
  display: grid;

  grid-template-columns: 2rem minmax(0, 1fr);

  gap: 0.55rem;

  align-items: center;

  line-height: 1.3;
}


/* Nummer */

.oskar2-overview__number {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  width: 1.65rem;
  height: 1.65rem;

  border-radius: 50%;

  background: #111111;

  color: #ffffff;

  font-size: 0.72rem;
  font-weight: 700;

  line-height: 1;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .oskar2-overview {
    grid-template-columns: 1fr;

    gap: 1.5rem;

    margin-top: 1rem;
  }

  .oskar2-overview__image {
    max-width: 430px;
  }

  .oskar2-overview__legend {
    display: grid;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 0.65rem 1rem;
  }

  .oskar2-overview__item {
    grid-template-columns: 1.75rem minmax(0, 1fr);

    gap: 0.4rem;

    font-size: 0.85rem;
  }

  .oskar2-overview__number {
    width: 1.45rem;
    height: 1.45rem;

    font-size: 0.65rem;
  }

}


/* sehr kleine Smartphones */

@media (max-width: 430px) {

  .oskar2-overview__legend {
    grid-template-columns: 1fr;
  }

}
/* ==========================================================
   OSKAR 2 – INTERAKTIVE QUERVERWEISE
   ========================================================== */

.oskar-ref {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin: 0 0.08em;
  padding: 0;

  border: 0;
  outline: 0;

  background: transparent;
  color: inherit;

  font-family: inherit;
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;

  cursor: pointer;

  vertical-align: baseline;

  border-radius: 0.25rem;

  transition:
    background 0.15s ease,
    box-shadow 0.15s ease;
}


/* Lieferumfang: B, C, E */

.oskar-ref--part {
  padding: 0 0.12em;
}


/* Geräteübersicht: 3, 14 */

.oskar-ref--control {
  min-width: 1.55em;
  height: 1.55em;

  padding: 0 0.35em;

  border-radius: 999px;

  background: #111111;
  color: #ffffff;

  font-size: 0.76em;
  line-height: 1;
}


/* Hover / Tastatur / aktiv */

.oskar-ref--part:hover,
.oskar-ref--part:focus-visible,
.oskar-ref--part.is-active {
  background: rgba(0, 0, 0, 0.08);
}

.oskar-ref--control:hover,
.oskar-ref--control:focus-visible,
.oskar-ref--control.is-active {
  background: #444444;
  color: #ffffff;
}

.oskar-ref:focus-visible {
  outline: 2px solid #111111;
  outline-offset: 2px;
}


/* ==========================================================
   VORSCHAUFENSTER
   ========================================================== */

.oskar-ref-preview {
  position: absolute;
  z-index: 10000;

  width: min(520px, calc(100vw - 32px));

  overflow: hidden;

  background: #ffffff;
  color: #111111;

  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);

  box-shadow:
    0 14px 42px rgba(0, 0, 0, 0.18);
}


/* Kopf */

.oskar-ref-preview__header {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 1rem;

  padding: 0.8rem 1rem;

  border-bottom: 1px solid var(--color-border-ui);
}

.oskar-ref-preview__header strong {
  font-size: 0.9rem;
  font-weight: 700;
}


/* Schließen */

.oskar-ref-preview__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 auto;

  width: 2rem;
  height: 2rem;

  margin: 0;
  padding: 0;

  border: 0;
  border-radius: 50%;

  background: transparent;
  color: #111111;

  font-family: inherit;
  font-size: 1.35rem;
  line-height: 1;

  cursor: pointer;
}

.oskar-ref-preview__close:hover,
.oskar-ref-preview__close:focus-visible {
  background: #f1f1f1;
}


/* Bild */

.oskar-ref-preview__image {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 1.25rem;

  background: #ffffff;
}

.oskar-ref-preview__image img {
  display: block;

  width: 100%;
  max-width: 480px;

  max-height: 390px;

  object-fit: contain;
}


/* Typ */

.oskar-ref-preview__caption {
  padding: 0 1rem 0.8rem;

  font-size: 0.78rem;
  font-weight: 600;

  color: var(--color-slate-500);
}


/* ==========================================================
   SMARTPHONE / TOUCH
   ========================================================== */

@media (max-width: 700px) {

  .oskar-ref-preview {
    position: fixed;

    left: 12px !important;
    right: 12px !important;
    bottom: 12px;

    top: auto !important;

    width: auto;

    max-height: calc(100vh - 24px);

    overflow-y: auto;
  }

  .oskar-ref-preview__image img {
    max-height: 55vh;
  }

}



/* Buchstaben B / C / E deutlicher als interaktiv kennzeichnen */

.oskar-ref--part {
  min-width: 1.45em;
  height: 1.45em;

  padding: 0 0.28em;

  background: #f1f1f1;
  border: 1px solid #d5d5d5;
  border-radius: 0.3rem;

  font-size: 0.82em;
  line-height: 1;

  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    transform 0.15s ease;
}

.oskar-ref--part:hover,
.oskar-ref--part:focus-visible,
.oskar-ref--part.is-active {
  background: #111111;
  border-color: #111111;
  color: #ffffff;
}


/* Kleines visuelles Feedback bei Hover */

.oskar-ref:hover {
  transform: translateY(-1px);
}
/* Keep translated action labels at word boundaries. */
.md-typeset .device-card__button {
  word-break: normal;
  overflow-wrap: normal;
}

/* Accessibility: retain the appearance of the original label controls. */
:where(button.faller-toggle) {
  appearance: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}
button.faller-toggle.md-nav__link { width: 100%; }
button.faller-toggle.md-nav__title { width: 100%; }
.md-header__option .faller-language-select::after { content: none; }
.md-header__option .faller-language-toggle {
  display: inline-flex !important;
  align-items: center;
  margin: 0;
  padding: 0;
  min-height: 24px;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
}
.faller-language-select .md-select__inner[hidden] { display: none !important; }
.faller-language-select.faller-language-open .md-select__inner {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.faller-language-select .md-select__list { max-height: min(70vh, 28rem); overflow-y: auto; }
/* hidden descriptions are exposed through aria-describedby, never displayed. */
[data-faller-image-description][hidden] { display: none !important; }
.faller-toggle:focus-visible,
.faller-language-toggle:focus-visible,
.device-card__actions a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Preserve Material 9.7 checkbox selector styles for native buttons. */
@media screen and (min-width:60em){.md-header__button[data-faller-toggle=__search]{display:none}}
.no-js .md-header__button[data-faller-toggle=__search]{display:none}
[dir=rtl] .md-header__button[data-faller-toggle=__search] svg{transform:scaleX(-1)}
@media screen and (min-width:76.25em){.md-header__button[data-faller-toggle=__drawer]{display:none}}
.md-nav--primary .md-nav__link[data-faller-toggle=__toc]{display:none}
.md-nav--primary .md-nav__link[data-faller-toggle=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}
.md-nav--primary .md-nav__link[data-faller-toggle=__toc]~.md-nav{display:none}
@media screen and (max-width:76.234375em){.md-nav--primary .md-nav__title[data-faller-toggle=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}}
@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[data-faller-toggle=__toc]{display:flex}
.md-nav--primary .md-nav__link[data-faller-toggle=__toc] .md-icon:after{content:""}
.md-nav--primary .md-nav__link[data-faller-toggle=__toc]+.md-nav__link{display:none}
.md-nav--primary .md-nav__link[data-faller-toggle=__toc]~.md-nav{display:flex}}
@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[data-faller-toggle=__toc]{display:flex}
.md-nav--integrated .md-nav__link[data-faller-toggle=__toc] .md-icon:after{content:""}
.md-nav--integrated .md-nav__link[data-faller-toggle=__toc]+.md-nav__link{display:none}
.md-nav--integrated .md-nav__link[data-faller-toggle=__toc]~.md-nav{display:flex}}
@media screen and (min-width:60em){.md-nav--secondary .md-nav__title[data-faller-toggle=__toc]{scroll-snap-align:start}}
@media screen and (min-width:76.25em){.md-nav--primary .md-nav__title[data-faller-toggle=__drawer]{scroll-snap-align:start}}
[dir=ltr] .md-search__icon[data-faller-toggle=__search]{left:.5rem}
[dir=rtl] .md-search__icon[data-faller-toggle=__search]{right:.5rem}
.md-search__icon[data-faller-toggle=__search]{position:absolute;top:.3rem;z-index:2}
[dir=rtl] .md-search__icon[data-faller-toggle=__search] svg{transform:scaleX(-1)}
@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[data-faller-toggle=__search]{left:.8rem}
[dir=rtl] .md-search__icon[data-faller-toggle=__search]{right:.8rem}
.md-search__icon[data-faller-toggle=__search]{top:.6rem}
.md-search__icon[data-faller-toggle=__search] svg:first-child{display:none}}
@media screen and (min-width:60em){.md-search__icon[data-faller-toggle=__search]{pointer-events:none}
.md-search__icon[data-faller-toggle=__search] svg:last-child{display:none}}
.md-header__option .md-select .faller-language-toggle { display: inline-flex !important; }
.faller-language-select.faller-language-open .md-select__inner {
  max-height: none;
  transform: translate3d(-50%, 0, 0);
}
button.faller-toggle.md-search__icon { padding: 0; }

/* Further accessibility: readable reflow, contrast and text enlargement. */
.faller-quick-start > div { min-width: 0; }
.faller-quick-start h2 { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .md-typeset .faller-quick-start {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* Keep table typography close to the existing design, while matching body size. */
.md-typeset table:not([class]) { font-size: 1em; }
.md-typeset table:not([class]) th,
.md-typeset table:not([class]) td {
  overflow-wrap: anywhere;
}
.tech-specs__row { margin: 0; }
.tech-specs__row dt,
.tech-specs__row dd { margin: 0; }
/* Avoid the theme's generic definition-list indentation. */
.md-typeset .tech-specs__row dd { margin: 0; }
.md-typeset .md-search-result__meta,
.md-search-result__meta { color: #555; }
.md-search--active .md-search__input::placeholder { color: #666 !important; }
.md-typeset a:focus-visible,
.md-nav a:focus-visible,
.md-search-result a:focus-visible,
.faller-footer-links a:focus-visible,
.oskar-ref-preview__close:focus-visible {
  outline: 2px solid #005fcc;
  outline-offset: 3px;
}
.md-header button:focus-visible,
.md-header a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
/* Keep anchor targets clear of the sticky header. */
.md-typeset [id] { scroll-margin-top: 4rem; }
/* Respect the user's forced-color palette instead of hiding focus borders. */
@media (forced-colors: active) {
  .oskar-ref,
  .device-card__button,
  .oskar-ref-preview__close,
  .faller-toggle,
  .faller-language-toggle { border: 1px solid ButtonText; }
  :focus-visible { outline: 2px solid Highlight !important; }
}
.md-typeset dl.tech-specs__row { margin: 0; }
.tech-specs__label { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .tech-specs__row { grid-template-columns: minmax(0, 1fr); }
  .md-typeset__table { display: block; }
  .md-typeset table:not([class]) { table-layout: fixed; width: 100%; }
  .md-typeset table:not([class]) th { min-width: 0; }
}
@media (max-width: 700px) {
  .md-typeset table:not([class]) th,
  .md-typeset table:not([class]) td {
    padding: .8em .75em;
    hyphens: auto;
  }
}

/* Discreet close control: only inside the open mobile navigation. */
.faller-menu-close { display: none; }
@media (max-width: 76.234375em) {
  .faller-menu-close:not([hidden]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 70px;
    right: 8px;
    z-index: 5;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #d7dce3;
    border-radius: 50%;
    background: #fff;
    color: #111;
    font: inherit;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
  }
  .md-sidebar--primary[data-faller-submenu="true"] .faller-menu-close { top: 8px; }
  .faller-menu-close:hover { background: #f1f5f9; }
  .faller-menu-close:focus-visible { outline: 2px solid #005fcc; outline-offset: 2px; }
}
