/**
 * BLANCO Extranet — NBI stylesheet (single source of truth)
 *
 * Reference: https://www.blanco.com/ · CMS base: style-cms-css.css (load before this file)
 * UI only — no HTML / JS changes.
 *
 * ┌─────────────────────────────────────────────────────────────────────────┐
 * │  GOLDEN PAGES (regression baseline)                                     │
 * │  /de-de/ · /mein-blanco/login/ · /kontakt/ · /404.html                  │
 * └─────────────────────────────────────────────────────────────────────────┘
 *
 * CASCADE (last rule wins — same specificity → order in file)
 *   PART A   L0 tokens · L1 #page-wrapper shell
 *   PART B   Base + modules (Faz 0–16)
 *   PART C   Chrome: meta-bar, header flyout, footer (Faz 7, 24–26, 30)
 *   PART D   Golden implementations: login Faz 31, kontakt Faz 33
 *   PART E   Site patterns: inner layout Faz 32, forms, FAQ, infobox (40–44)
 *   PART F   REFERENCE PARITY (EOF) — wins over duplicated rules above
 *   Figma v0.1.0 audit fixes merged into tokens + Faz 3/11/31/33 + REFERENCE (no duplicate EOF block)
 *
 * MAINTENANCE
 *   • New styles → :root tokens or REFERENCE PARITY only (see :root “Patterns”)
 *   • DISPLAY / BODY / BUTTONS / INNER — extend existing blocks, no new Faz
 *   • Do NOT add new “Faz XX” blocks (see nbi/CSS-OPTIMIZATION.md)
 *   • QA: nbi/localhost-urls.txt · deploy → data/firstspirit/.../live-1/
 *
 * Fonts: font-primary-local (UI) · valizas (display titles) · blanco-iconfont (icons)
 */

/* ==========================================================================
   Design tokens (from blanco.com entry.css)
   ========================================================================== */

:root {
  --nbi-header-height: 54px;
  --nbi-header-height-desktop: 80px;
  --nbi-top-bar-height: 64px;
  --nbi-blanco-blue: #339;
  --nbi-blanco-blue-hover: #b2bbe8;
  --nbi-color-bg: #fff;
  --nbi-color-fg: #000;
  --nbi-color-nav-bg: #339;
  --nbi-color-nav-fg: #fff;
  --nbi-content-max-width: 1920px;
  --nbi-content-inner-max: 1776px; /* blanco.de: .container max 1920px - 2x72px Seitenrand */
  --nbi-dist-h: 24px;

  /* Faz 0 — blanco.com entry.css (root 62.5% → px equivalents) */
  --nbi-color-text: #000;
  /* Primary copy app-wide; Grey 700 reserved for placeholders / disabled hints only */
  --nbi-color-text-muted: var(--nbi-color-text);
  --nbi-color-placeholder: #626262;
  /* Figma v0.1.0 type scale: 12·16·20·24·32·40·48·64·80 */
  --nbi-font-size-xs: 12px;
  --nbi-font-size-sm: 12px;
  --nbi-font-size-body: 16px;
  --nbi-font-size-md: 16px;
  --nbi-font-size-lg: 20px;
  --nbi-font-size-xl: 20px;
  --nbi-font-size-interactive: 20px;
  --nbi-form-font-size: var(--nbi-font-size-body);
  --nbi-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  --nbi-line-height-body: 1.5;
  --nbi-line-height-tight: 1.3;
  --nbi-line-height-heading: 1.3;
  --nbi-btn-font-size: 20px;
  --nbi-btn-font-weight: 700;
  --nbi-btn-line-height: 1;
  --nbi-btn-min-height: 48px;
  --nbi-btn-width-inline: 260px;
  --nbi-btn-padding-x: 12px;
  --nbi-btn-padding-y: 8px;
  --nbi-btn-padding: 8px 12px;
  --nbi-btn-padding-lg-x: 16px;
  --nbi-btn-padding-lg-y: 12px;
  --nbi-btn-padding-lg: 12px 16px;
  --nbi-btn-fill-bg: #000;
  --nbi-btn-fill-bg-hover: #3c3c3c;
  --nbi-accent-dark: #4147aa;
  --nbi-content-link-color: var(--nbi-accent-dark);
  --nbi-content-link-underline: 1px;
  --nbi-content-link-underline-hover: 2px;

  /* Faz 2 — homepage blocks (blanco.com stage / tile / section-content) */
  --nbi-font-heading: var(--nbi-font-display);
  --nbi-color-light-bg: #f3f3f3;
  --nbi-color-subline: var(--nbi-color-text);
  /* Page h1 — sink-guide / Figma: 40 → 64 */
  --nbi-h1-size: 40px;
  --nbi-h1-size-desktop: 64px;
  /* Section titles h2/h3 — Valizas uppercase: 32 (desktop) */
  --nbi-heading-size: 32px;
  --nbi-heading-size-desktop: 40px; /* blanco.de .font--h2: 32px -> 40px ab 834px */
  --nbi-h3-size: 24px;
  --nbi-h3-size-desktop: 32px;
  --nbi-heading-letter-spacing: 0.04em;
  --nbi-block-padding-y: 80px;
  --nbi-block-gap: 40px;
  --nbi-section-gap: 64px;

  /* Layout — blanco.com entry.css (--dist-h 24, --dist-v 40, section 80/40, block-margin 120) */
  --nbi-dist-v: 40px;
  --nbi-block-margin: 120px;
  --nbi-section-padding-top: 80px;
  --nbi-section-padding-bottom: 40px;
  --nbi-page-intro-padding-y: 48px;
  --nbi-page-intro-padding-y-md: 64px;
  --nbi-page-intro-padding-y-lg: 80px;
  --nbi-breadcrumb-padding-y: 12px;
  --nbi-header-burger-offset: 40px;
  --nbi-header-nav-gap: 16px;

  /* Layout — blanco.com section-content horizontal padding + 1280 inner column */
  --nbi-gutter-sm: 16px;
  --nbi-gutter-md: 40px;
  --nbi-gutter-lg: 80px;
  --nbi-layout-gutter: var(--nbi-hdr-pad); /* = blanco.de .container-Padding: 24 / 41 / 33 / 72px */
  --nbi-layout-shell-max: calc(var(--nbi-content-inner-max) + 2 * var(--nbi-layout-gutter));
  --nbi-layout-inner-breakpoint: 1194px;

  /* Footer — extra blue height + top separator line (CMS) */
  --nbi-footer-offset-top: 64px;
  --nbi-footer-separator-color: #fff;
  --nbi-footer-padding-y: 36px;
  --nbi-footer-padding-y-md: 48px;
  --nbi-footer-padding-y-lg: 56px;
  --nbi-footer-padding-bottom: 48px;

  --nbi-font-primary: "Helvetica Neue", Helvetica, Arial, font-primary-local, sans-serif;
  --nbi-font: var(--nbi-font-primary);
  --nbi-font-icon: blanco-iconfont;
  --nbi-font-display: valizas, Averta, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif;
  --nbi-meta-link-icon-size: 24px;
  --nbi-header-logo-max-sm: 114px;
  --nbi-header-logo-max: 146px;
  --nbi-meta-link-icon-gap: 8px;
  --nbi-meta-links-gap: 24px;
  --nbi-grey-200: #e9e9e9;
  --nbi-grey-400: #bdbdbd;
  --nbi-grey-700: #626262;
  --nbi-link-color: #339;
  --nbi-meta-link-text-start: calc(var(--nbi-meta-link-icon-size) + var(--nbi-meta-link-icon-gap));

  /* Faz 3 — form fields (blanco.com .form-text-field) */
  --nbi-field-height: 40px;
  --nbi-field-border: #bdbdbd;
  --nbi-field-border-hover: #000;
  --nbi-field-bg-disabled: #f3f3f3;
  --nbi-field-radius: 2px;
  --nbi-color-error: #9a2a00;
  --nbi-color-required: #9a2a00;
  --nbi-field-height-lg: 48px;

  /* Faz 7 — nav flyout / mega menu (blanco.com .navigation-menu__viewport) */
  --nbi-flyout-bg: #1b1168;
  --nbi-flyout-fg: #fff;
  --nbi-flyout-muted: #b2bbe8;
  --nbi-flyout-link-padding: 8px 32px 8px 0;
  --nbi-flyout-icon-size: 40px;
  --nbi-flyout-icon-gap: 16px;
  --nbi-flyout-category-size: 16px;
  --nbi-flyout-chevron-size: 24px;
  --nbi-flyout-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E");
  --nbi-nav-desktop-min: 1248px;

  /* Faz 31–32 — account / form column spacing (login + registration + reset) */
  --nbi-login-form-max: 480px;
  --nbi-login-stack-gap: 16px;
  --nbi-login-actions-gap: 12px;
  --nbi-content-form-max: 480px;
  --nbi-content-form-max-wide: 960px;
  --nbi-content-stack-gap: 16px;
  --nbi-content-actions-gap: 12px;

  /* Page intro + main body copy — primary foreground (Figma / UK ref §11) */
  --nbi-page-intro-body-color: var(--nbi-color-text);
  --nbi-page-intro-body-size: 20px;
  --nbi-page-intro-body-max: 640px;
  --nbi-legal-content-max: 816px;

  /* Inner-page surface — Figma White / Grey 100 (no beige mist) */
  --nbi-surface-page: #fff;
  --nbi-surface-mist: #f3f3f3;
  --nbi-surface-mist-deep: #f3f3f3;
  --nbi-surface-mist-gradient: none;

  /*
   * Patterns (single source — do not re-declare in new blocks)
   * DISPLAY  → Valizas uppercase: page h1 (--nbi-h1-size) · sections (--nbi-h3-size)
   * BODY     → 20px left-aligned: --nbi-page-intro-body-size + rt-editor defaults
   * BUTTONS  → black fill + CTA margin-top: canonical BUTTONS block
   * INNER    → intro/spacing/forms/modules: REFERENCE PARITY EOF §1–§25
   * TEXT-MEDIA layout → REFERENCE §24 only
   * FOOTER → Faz 25 + Faz 16 mobile + §25 shell width
   */
}

/* Typo-Skala wie blanco.de (.font--b1/b2/b3, .font--h4..h6): mobil 12 / 16 / 20px, ab 834px 16 / 20 / 24px.
   Seitenrand (--nbi-layout-gutter) folgt --nbi-hdr-pad (siehe 2026-10-08-header-parity) = blanco.de .container. */
@media (min-width: 834px) {
  :root {
    --nbi-font-size-xs: 16px;
    --nbi-font-size-sm: 16px;
    --nbi-font-size-body: 20px;
    --nbi-font-size-md: 20px;
    --nbi-font-size-lg: 24px;
    --nbi-font-size-xl: 24px;
  }
}

/* --- Fonts (blanco.com — served from /media/system-files/fonts/) --- */

@font-face {
  font-display: swap;
  font-family: valizas;
  font-style: normal;
  font-weight: 400;
  src: url("/media/system-files/fonts/valizasweb-book-woff2.woff2") format("woff2");
}

/* Figma v0.1.0: weight 400 = Regular (system Helvetica Neue); 700 = NeueHelvetica75Bold */
@font-face {
  font-display: swap;
  font-family: helveticaneue;
  font-style: normal;
  font-weight: 700;
  src: url("/media/system-files/fonts/neuehelveticapro75bold-woff2.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: font-primary-local;
  font-style: normal;
  font-weight: 700;
  src: url("/media/system-files/fonts/neuehelveticapro75bold-woff2.woff2") format("woff2");
}

/* Extranet fallback (login page fonts) — light @300 matches inline FAQ @font-face */
@font-face {
  font-display: swap;
  font-family: HelveticaNeueLTStd;
  font-style: normal;
  font-weight: 300;
  src: url("/media/system-files/fonts/helveticaneue-light-woff2.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: HelveticaNeueLTStd;
  font-style: normal;
  font-weight: 400;
  src: url("/media/system-files/fonts/helveticaneue-light-woff2.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: HelveticaNeueLTStd;
  font-style: normal;
  font-weight: 700;
  src: url("/media/system-files/fonts/helveticaneue-bold-woff2.woff2") format("woff2");
}

/* Figma v0.1.0 — only Regular (400) + Bold (700); no synthetic weights */
html {
  overflow-x: clip;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

body {
  overflow-x: clip;
  max-width: 100%;
}

html body {
  font-synthesis: none;
}

html body :where([style*="font-weight: 300"], [style*="font-weight:300"]),
html body :where([style*="font-weight: 500"], [style*="font-weight:500"]) {
  font-weight: 400 !important;
}


/* ==========================================================================
   Global layout shell (blanco.com .section-content + __wrapper)
   One column: 1776px content (blanco.de .container 1920px), responsive side gutters — header / main / footer
   ========================================================================== */

.meta-bar .meta-links-wrapper,
header#header-2018 .main-navigation,
#page-wrapper {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nbi-layout-shell-max);
  padding-left: var(--nbi-layout-gutter);
  padding-right: var(--nbi-layout-gutter);
  width: 100%;
}

/* CMS legacy side margins (84px / 60px / 24px / prototype 144px) — shell owns horizontal layout */
#page-wrapper > .module,
#page-wrapper > .module-login,
#page-wrapper > div.module-login,
#page-wrapper > .responsive-table,
#page-wrapper > .module-form,
#page-wrapper > .module-centered-text,
#page-wrapper > .module.module-tiles,
#page-wrapper > .module.module-form,
#page-wrapper > .module.module-brochure-download,
#page-wrapper > .module.module-dealer-search-small,
#page-wrapper > .module.module-dealer-search-international-variation,
#page-wrapper > .module-contact-information,
#page-wrapper > .module.module-contact-information,
#page-wrapper > .module.module-infobox-text {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100%;
}

#page-wrapper > .module > .module-container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100%;
}

/* Modules must not add a second horizontal inset */
#page-wrapper > .module.module-headline,
#page-wrapper > .module.module-tiles,
#page-wrapper > .module.module-text-media,
#page-wrapper > .module.module-accordion,
#page-wrapper > .module.module-infobox-text,
#page-wrapper > .module.module-video,
#page-wrapper > .module.module-stage,
#page-wrapper > .module.module-big-image-slider,
#page-wrapper > .module.module-search,
#page-wrapper > .module.module-sales-representatives,
#page-wrapper > .module.module-themen-board,
#page-wrapper > .module-centered-text,
#page-wrapper > .module-form,
#page-wrapper > .responsive-table {
  padding-left: 0;
  padding-right: 0;
}

.module-footer .footer-linklist,
.module-footer .footer-meta-nav,
.module-footer .visit-us {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nbi-content-inner-max);
  width: 100%;
}


/* ==========================================================================
   L4 — Homepage shell hints (inner pages → REFERENCE PARITY PART F)
   ========================================================================== */

/* ==========================================================================
   Faz 0 — Global typography & base (content areas only)
   Sizes: blanco.com .button--small + body 1.6rem/16px — explicit px, no rem
   Header / footer / nav flyouts excluded — layout-safe
   ========================================================================== */

body {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Content shell — left-aligned typography (sink-guide / Figma v0.1.0) */
#page-wrapper {
  text-align: left;
}

#page-wrapper :is(.module-headline, .module-text-media, .module-infobox-text, .module-accordion, .module-centered-text, .module-sitemap, .rt-editor) {
  text-align: left;
}

/* --- Headings: Faz 2 overrides sizes per module --- */

.module-text-media .headline,
.module-infobox-text .headline {
  color: var(--nbi-color-text);
  font-weight: 400;
}

.module-text-media h2,
.module-infobox-text h2 {
  color: var(--nbi-color-text);
  font-weight: 400;
}

/* --- Body copy (blanco.com: 16px / line-height 1.5) --- */

.module-headline,
.module-text-media,
.module-infobox-text,
.module-tiles {
  font-family: var(--nbi-font-primary);
}

.module-text-media p,
.module-infobox-text p,
.module-headline + .module p,
.rt-editor p {
  color: var(--nbi-color-text) !important;
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
}

/* --- Content links (not nav / tiles / buttons) --- */

.module-text-media a:not(.btn):not(.tile-container),
.module-infobox-text a:not(.btn):not(.tile-container),
.module-headline a:not(.btn),
#page-wrapper a.product-link,
#page-wrapper .product-link a,
#page-wrapper .rt-editor a.product-link {
  color: var(--nbi-content-link-color);
  font-size: var(--nbi-font-size-interactive);
  text-decoration: underline;
  text-decoration-thickness: var(--nbi-content-link-underline);
  text-underline-offset: 2px;
}

.module-text-media a:not(.btn):hover,
.module-infobox-text a:not(.btn):hover,
.module-headline a:not(.btn):hover,
#page-wrapper a.product-link:hover,
#page-wrapper .product-link a:hover {
  color: var(--nbi-content-link-color);
  text-decoration: underline;
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
}

/* --- Buttons: blanco.com .button--fill.button--black (section CTAs) --- */

.module-text-media .btn,
.module-infobox-text .btn,
.module-headline .btn,
.module-tiles .btn {
  align-items: center;
  background-color: var(--nbi-btn-fill-bg);
  border: 1px solid var(--nbi-btn-fill-bg);
  border-radius: var(--nbi-field-radius);
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-btn-font-size);
  font-weight: var(--nbi-btn-font-weight);
  justify-content: center;
  letter-spacing: normal;
  line-height: var(--nbi-btn-line-height);
  min-height: var(--nbi-btn-min-height);
  padding: var(--nbi-btn-padding);
  text-decoration: none;
  text-transform: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.module-text-media .btn:hover,
.module-infobox-text .btn:hover,
.module-headline .btn:hover,
.module-tiles .btn:hover,
.module-text-media .btn:focus-visible,
.module-infobox-text .btn:focus-visible,
.module-headline .btn:focus-visible,
.module-tiles .btn:focus-visible {
  background-color: var(--nbi-btn-fill-bg-hover);
  border-color: var(--nbi-btn-fill-bg-hover);
  color: #fff;
}


/* ==========================================================================
   Top utility bar — blanco.com .header-top-bar
   Extranet: .meta-bar
   ========================================================================== */

.meta-bar {
  background-color: var(--nbi-color-bg) !important;
  color: var(--nbi-color-fg) !important;
  min-height: var(--nbi-top-bar-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: none;
  font-family: var(--nbi-font-primary);
}

.meta-bar.initializing {
  opacity: 1;
}

.meta-bar .meta-links-wrapper {
  width: 100%;
  box-sizing: border-box;
}

.meta-bar .meta-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--nbi-meta-links-gap);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* blanco.com .header-top-bar — 16px Helvetica bold, underline on hover */
.meta-bar .meta-link,
.meta-bar .meta-links > a,
.meta-bar .meta-links .meta-link,
.meta-bar .meta-links-mobile .meta-link,
.meta-bar .meta-links-mobile .link-wrapper > a {
  background: transparent !important;
  border: 0;
  color: var(--nbi-color-fg) !important;
  display: inline-flex;
  align-items: center;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  gap: var(--nbi-meta-link-icon-gap);
  letter-spacing: normal !important;
  line-height: 1;
  padding: 0;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}

.meta-bar .meta-link:hover,
.meta-bar .meta-link:focus-visible,
.meta-bar .meta-links > a:hover,
.meta-bar .meta-links > a:focus-visible,
.meta-bar .meta-links .meta-link:hover,
.meta-bar .meta-links .meta-link:focus-visible,
.meta-bar .meta-links-mobile .meta-link:hover,
.meta-bar .meta-links-mobile .meta-link:focus-visible {
  color: var(--nbi-color-fg) !important;
  text-decoration: none !important;
}

.meta-bar .meta-link .direct-link {
  color: inherit !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
}


/* ==========================================================================
   Main header / nav — blanco.com .page-header-nav-bar
   Extranet: #header-2018 + .main-navigation
   ========================================================================== */

header#header-2018 {
  background-color: var(--nbi-color-nav-bg) !important;
  color: var(--nbi-color-nav-fg) !important;
  overflow: visible;
  position: relative;
  font-family: var(--nbi-font-primary);
  width: 100%;
}

header#header-2018 .main-navigation {
  background-color: var(--nbi-color-nav-bg) !important;
  color: var(--nbi-color-nav-fg) !important;
  align-items: center;
  display: grid !important;
  flex-wrap: nowrap !important;
  gap: 16px;
  grid-template-areas: "logo nav mobile";
  grid-template-columns: auto 1fr auto;
  min-height: var(--nbi-header-height);
  overflow: visible;
  position: relative;
}

/* 2026-10-09-brandportal-flyout: the legacy .meta-links (hidden since the header rebuild) still hosts
   .brand-portal-flyout, which main-js opens. Drop the box + its links, keep the flyout. */
header#header-2018 .main-navigation > .meta-links {
  display: contents !important;
}

header#header-2018 .main-navigation > .meta-links > :not(.brand-portal-flyout) {
  display: none !important;
}

header#header-2018 .main-navigation > .meta-links > .brand-portal-flyout.open {
  z-index: 1000;
}

@media (min-width: 834px) {
  header#header-2018 .main-navigation {
    min-height: var(--nbi-header-height-desktop);
  }
}

@media (min-width: 1248px) {
  header#header-2018 .main-navigation {
    align-items: center;
    grid-template-areas: "logo nav";
    grid-template-columns: auto 1fr;
    grid-template-rows: minmax(0, auto);
    overflow: visible;
    position: static;
  }

  /* Hidden burger must not auto-place into a second grid row */
  header#header-2018 .main-navigation .mobile-menu {
    display: none !important;
    grid-area: unset !important;
    height: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    visibility: hidden;
    width: 0;
  }

  /* Legacy meta/search nodes — out of grid flow (they create empty rows) */
  header#header-2018 .main-navigation > .search-flyout,
  header#header-2018 .navigation-points > .meta-links-mobile {
    display: none !important;
    height: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    visibility: hidden;
    width: 0;
  }

  header#header-2018 .navigation-points {
    flex: none !important;
    position: static;
  }

  /* Break out to full viewport — inline CMS uses left:-144px; ADIM 1 left:0 broke width */
  header#header-2018 .main-navigation .flyouts {
    flex: none !important;
    height: auto !important;
    left: 50% !important;
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    position: absolute !important;
    right: auto !important;
    top: 100% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    z-index: 150;
  }

  /* Override inline HTML: .flyout { left:-144px; right:-144px } */
  header#header-2018 .main-navigation .navigation-points .flyout {
    left: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    position: relative !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
  }

  header#header-2018 .main-navigation .navigation-points .flyout:not(.active) {
    border: 0;
    display: none !important;
    margin: 0;
    max-height: 0 !important;
    opacity: 0;
    overflow: hidden;
    padding: 0 !important;
    pointer-events: none;
    visibility: hidden;
  }

  header#header-2018 .main-navigation .navigation-points .flyout.active {
    background-color: var(--nbi-flyout-bg);
    display: block !important;
    margin: 0;
    max-height: none !important;
    opacity: 1;
    overflow: visible !important;
    padding: 0 !important;
    visibility: visible;
  }

  /* Inline HTML uses margin: 0 144px on flyout-content */
  header#header-2018 .main-navigation .navigation-points .flyout .flyout-content {
    box-sizing: border-box !important;
    margin: 0 auto !important;
    max-width: var(--nbi-layout-shell-max) !important;
    padding: 48px var(--nbi-layout-gutter) 64px !important;
    width: 100% !important;
  }

  header#header-2018 .navigation-points {
    overflow: visible !important;
  }

  header#header-2018 .main-navigation {
    overflow: visible !important;
    position: relative !important;
  }
}

/* Mobile/tablet — header bar + burger panel (CMS JS: .main-navigation.open / max-height) */
@media (max-width: 1247px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  #page-wrapper {
    max-width: 100%;
    overflow-x: hidden;
  }

  header#header-2018 {
    max-width: 100%;
    overflow-x: clip;
    overflow-y: visible;
    width: 100%;
  }

  header#header-2018 .main-navigation {
    box-sizing: border-box;
    display: grid !important;
    gap: 0;
    grid-template-areas: "logo mobile";
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto;
    max-width: 100%;
    overflow: visible;
    padding: 0 var(--nbi-layout-gutter);
    position: relative;
    width: 100%;
  }


  header#header-2018 .main-navigation #logo,
  header#header-2018 #logo {
    align-self: center;
    grid-area: logo;
    height: auto !important;
    justify-self: start;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
  }

  /* Icon-only trigger — CMS absolute bars + .active → X */
  header#header-2018 .main-navigation .mobile-menu {
    align-self: center;
    color: transparent !important;
    display: block !important;
    font-size: 0 !important;
    grid-area: mobile;
    height: 16px;
    justify-self: end;
    line-height: 0 !important;
    overflow: visible !important;
    padding: 10px 0;
    position: relative !important;
    right: auto !important;
    text-indent: -9999px !important;
    top: auto !important;
    width: 24px !important;
  }

  header#header-2018 .main-navigation .mobile-menu .burger-bar-1,
  header#header-2018 .main-navigation .mobile-menu .burger-bar-2,
  header#header-2018 .main-navigation .mobile-menu .burger-bar-3 {
    background-color: var(--nbi-color-nav-fg) !important;
    display: block !important;
    height: 2px !important;
    margin: 0 !important;
    position: absolute !important;
    right: 0 !important;
    transition: all 0.35s ease-in-out !important;
    width: 100% !important;
  }

  header#header-2018 .main-navigation .mobile-menu .burger-bar-1 {
    top: 0 !important;
    transform: none !important;
  }

  header#header-2018 .main-navigation .mobile-menu .burger-bar-2 {
    margin-top: -1px !important;
    top: 50% !important;
    transform: none !important;
  }

  header#header-2018 .main-navigation .mobile-menu .burger-bar-3 {
    bottom: 0 !important;
    top: auto !important;
    transform: none !important;
  }

  header#header-2018 .main-navigation .mobile-menu.active .burger-bar-1 {
    right: -4px !important;
    top: calc(50% - 1px) !important;
    transform: rotate(-45deg) !important;
    width: 23px !important;
  }

  header#header-2018 .main-navigation .mobile-menu.active .burger-bar-2 {
    opacity: 0 !important;
  }

  header#header-2018 .main-navigation .mobile-menu.active .burger-bar-3 {
    bottom: calc(50% - 1px) !important;
    right: -3px !important;
    top: auto !important;
    transform: rotate(45deg) !important;
    width: 23px !important;
  }

  header#header-2018 .navigation-points {
    grid-area: unset !important;
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  header#header-2018 .main-navigation:not(.open) .navigation-points {
    max-height: 0 !important;
    overflow: hidden !important;
  }

  .burger-navigation header#header-2018 .main-navigation .navigation-points {
    background-color: var(--nbi-color-nav-bg) !important;
    display: block !important;
    left: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    transition: max-height 0.35s ease-in !important;
    width: 100% !important;
    z-index: 150;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points {
    max-height: calc(100vh - var(--nbi-header-height)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .burger-navigation header#header-2018 .navigation-points > ul,
  .burger-navigation header#header-2018 .navigation-points > .flyouts {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .burger-navigation header#header-2018 .navigation-points > ul {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Panel swap — no 300% carousel (fixes missing 1st item + empty flyout) */
  .burger-navigation header#header-2018 .main-navigation.open .navigation-points:not(.level-2):not(.level-3) > .flyouts {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 > ul,
  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 > ul {
    display: none !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 > .flyouts,
  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 > .flyouts {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .flyout.active,
  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .flyout.active {
    display: block !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .flyout:not(.active) {
    display: none !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .flyout.active .left-content {
    display: block !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .flyout.active .left-content {
    display: none !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  /* CMS JS: submenus hidden at level-2; only .submenu.visible at level-3 */
  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .submenu {
    display: none !important;
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    visibility: hidden !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .submenu {
    display: none !important;
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    visibility: hidden !important;
  }

  .burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .submenu.visible {
    display: block !important;
    float: none !important;
    list-style: none !important;
    margin: 0 0 20px !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 0 var(--nbi-layout-gutter) 0 calc(var(--nbi-layout-gutter) + var(--nbi-flyout-icon-size) + var(--nbi-flyout-icon-gap)) !important;
    visibility: visible !important;
    width: 100% !important;
  }

  .burger-navigation header#header-2018 .navigation-points > ul > li#search-button,
  .burger-navigation header#header-2018 .navigation-points > .meta-bar {
    display: none !important;
  }

  .burger-navigation header#header-2018 .navigation-points .flyout,
  .burger-navigation header#header-2018 .navigation-points .flyout.active,
  .burger-navigation header#header-2018 .navigation-points .flyout-content,
  .burger-navigation header#header-2018 .navigation-points .left-content {
    box-sizing: border-box;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .burger-navigation header#header-2018 .navigation-points .second-level,
  .burger-navigation header#header-2018 .navigation-points .submenu {
    max-width: 100% !important;
    width: 100% !important;
  }

  .burger-navigation header#header-2018 .navigation-points .flyout .second-level,
  .burger-navigation header#header-2018 .navigation-points .flyout .flyout-content {
    display: block !important;
    grid-template-columns: unset !important;
  }

  .burger-navigation header#header-2018 .navigation-points .flyout .second-level > li,
  .burger-navigation header#header-2018 .navigation-points .flyout .flyout-content > .submenu {
    grid-column: unset !important;
    grid-row: unset !important;
  }

  .burger-navigation header#header-2018 #logo img {
    filter: brightness(0) invert(1) !important;
  }

  .burger-navigation header#header-2018 .main-navigation .burger-bar-1,
  .burger-navigation header#header-2018 .main-navigation .burger-bar-2,
  .burger-navigation header#header-2018 .main-navigation .burger-bar-3 {
    background-color: var(--nbi-color-nav-fg) !important;
  }
}

@media (min-width: 834px) and (max-width: 1247px) {
  .burger-navigation header#header-2018 .main-navigation.open .navigation-points {
    max-height: calc(100vh - var(--nbi-header-height-desktop)) !important;
  }
}

/* Logo — blanco.com .page-header-nav-bar__logo (114px → 146px); CMS forces 96px */
header#header-2018 #logo,
header#header-2018 .main-navigation #logo {
  align-self: center;
  display: flex !important;
  grid-area: logo;
  height: auto !important;
  justify-self: start;
  left: auto !important;
  margin: 0 !important;
  max-width: var(--nbi-header-logo-max-sm);
  min-width: 90px;
  order: unset;
  padding: 0 !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: var(--nbi-header-logo-max-sm) !important;
}

@media (min-width: 834px) {
  header#header-2018 #logo,
  header#header-2018 .main-navigation #logo {
    max-width: var(--nbi-header-logo-max);
    width: var(--nbi-header-logo-max) !important;
  }
}

header#header-2018 #logo img,
header#header-2018 .main-navigation #logo img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100% !important;
  filter: brightness(0) invert(1);
}

/* Mobile menu trigger — font-size only on desktop (hidden); mobile uses icon-only block above */
header#header-2018 .main-navigation .mobile-menu {
  font-family: var(--nbi-font-primary) !important;
  font-weight: 400;
  grid-area: mobile;
  justify-self: end;
  order: unset;
}

@media (max-width: 1247px) {
  header#header-2018 .main-navigation .mobile-menu {
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
  }
}

header#header-2018 .main-navigation .burger-bar-1,
header#header-2018 .main-navigation .burger-bar-2,
header#header-2018 .main-navigation .burger-bar-3 {
  background-color: var(--nbi-color-nav-fg) !important;
}

/* Primary nav items */
header#header-2018 .navigation-points {
  align-self: center;
  display: flex;
  flex-direction: column;
  grid-area: nav;
  justify-content: flex-end;
  justify-self: end;
  min-width: 0;
  order: unset;
  width: 100%;
}

@media (min-width: 1248px) {
  header#header-2018 .navigation-points {
    align-items: center;
    flex-direction: row;
    justify-content: flex-end;
    position: static;
  }

  header#header-2018 .navigation-points > ul {
    flex: 0 1 auto;
  }
}

/* Flyout panels — full header width on desktop (see min-width 1248px block above) */
@media (max-width: 1247px) {
  header#header-2018 .navigation-points .flyouts {
    position: relative;
    width: 100%;
  }
}

header#header-2018 .navigation-points > ul {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

header#header-2018 .main-navigation-link {
  color: var(--nbi-color-nav-fg) !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
  padding: 4px 8px;
  text-decoration: none;
  background: transparent;
  border: 0;
  transition: color 0.2s ease;
}

@media (min-width: 834px) {
  header#header-2018 .main-navigation-link {
    font-weight: 700;
    text-align: center;
  }
}

header#header-2018 .main-navigation-link:hover,
header#header-2018 .main-navigation-link:focus-visible {
  color: var(--nbi-blanco-blue-hover) !important;
}


/* Footer shell + accordion → Faz 25 + Faz 16 (mobile) + REFERENCE §11/§25 */


/* ==========================================================================
   Faz 2 — Homepage content modules (/de-de/ and shared module types)
   Ref: blanco.com .stage / .tile / .section-content / .richtext
   Layout from CMS kept — colors, typography, spacing only
   ========================================================================== */

/* --- Page headline (all pages, incl. homepage; homepage hero band removed 2026-10-07) --- */

.module-headline {
  margin-bottom: 0;
  padding: var(--nbi-page-intro-padding-y) 0 var(--nbi-section-padding-bottom);
  text-align: left;
}

/* Inner page intro — REFERENCE PARITY §2 (EOF). Login-only padding below. */

/* Login page — tighter intro (full layout in ADIM 3 block below) */
#page-wrapper:has(.module-login) > .module.module-headline:first-child {
  padding-bottom: 24px;
}

@media (min-width: 834px) {
  #page-wrapper:has(.module-login) > .module.module-headline:first-child {
    padding-bottom: 32px;
  }
}

/* Homepage — full-width wrapper; modules bring their own shell */
#header-2018.no-breadcrumb + #page-wrapper {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

/* Homepage modules below hero — same horizontal shell as header nav */
#header-2018.no-breadcrumb + #page-wrapper > .module:not(.module-headline:first-child),
#header-2018.no-breadcrumb + #page-wrapper > div {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-left: var(--nbi-layout-gutter);
  padding-right: var(--nbi-layout-gutter);
  width: 100%;
}

/* Content below homepage hero — own stacking layer */
#header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ .module,
#header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ div {
  background-color: #fff;
  position: relative;
  z-index: 2;
}

#header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ .module-tiles,
#header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ .module-sales-representatives,
#header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ .module-infobox-text {
  padding-top: var(--nbi-section-padding-top);
}

@media (min-width: 834px) {
  #header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ .module-tiles,
  #header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ .module-sales-representatives,
  #header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ .module-infobox-text {
    padding-top: var(--nbi-section-padding-top);
  }
}

/* CMS pulls page under header — compensate on hero only */
.module-headline h1,
.module-headline h1.h2 {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h1-size);
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  margin: 0 0 24px;
  max-width: var(--nbi-content-inner-max);
  text-align: left;
  text-transform: uppercase;
}

#header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child h1,
#header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child h1.h2 {
  letter-spacing: var(--nbi-heading-letter-spacing);
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  text-align: left;
}

@media (min-width: 834px) {
  .module-headline h1,
  .module-headline h1.h2 {
    font-size: var(--nbi-h1-size-desktop);
    margin-bottom: 32px;
  }

}

/* Not #module_headline — generic centered tagline (homepage modules) */
.module-headline:not(#module_headline) h2,
.module-headline:not(#module_headline) h2.h3 {
  color: var(--nbi-color-text);
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  letter-spacing: normal;
  line-height: var(--nbi-line-height-body);
  margin: 0 0 16px;
  max-width: none;
  text-align: left;
  text-transform: none;
}

/* Inner page intro tagline → REFERENCE PARITY §2 */

@media (min-width: 834px) {
  .module-headline:not(#module_headline) h2,
  .module-headline:not(#module_headline) h2.h3 {
    font-size: 20px;
  }

}

@media (min-width: 1194px) {
  .module-headline:not(#module_headline) h2,
  .module-headline:not(#module_headline) h2.h3 {
    font-size: 24px;
  }

}

/* Inner pages — white content area (breadcrumb pages, login, forms) */
#header-2018:not(.no-breadcrumb) + #page-wrapper {
  background-color: #fff;
}

#header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:not(:first-child) {
  padding: 48px 0 32px;
}

@media (min-width: 834px) {
  #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:not(:first-child) {
    padding: 64px 0 40px;
  }
}

/* --- Text + media — layout: REFERENCE §24 · homepage typography below --- */

#page-wrapper .module-text-media {
  box-sizing: border-box;
  margin-bottom: 0 !important;
  padding: var(--nbi-page-intro-padding-y-md) 0 var(--nbi-section-padding-bottom);
  width: 100%;
}

@media (min-width: 834px) {
  #page-wrapper .module-text-media {
    padding-bottom: var(--nbi-section-padding-bottom);
    padding-top: var(--nbi-section-padding-top);
  }
}

/* Homepage text-media typography — inner pages → REFERENCE §3 */
#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h2,
#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h2.h2,
#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor .h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 0 24px !important;
  margin-top: 0 !important;
  text-transform: uppercase !important;
}

#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h3,
#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h3.h3,
#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor .h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 0 24px !important;
  margin-top: 0 !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h2,
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h2.h2,
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor .h2 {
    font-size: 40px !important;
    margin-bottom: 32px !important;
  }

  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h3,
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor h3.h3,
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor .h3 {
    font-size: 40px !important; /* 4rem: H3 im Text-Medien-Modul der Startseite */
    margin-bottom: 32px !important;
  }
}

#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor p,
#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor div,
#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor span {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 0 16px !important;
}

@media (min-width: 834px) {
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor p,
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor div,
  #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor span {
    font-size: 20px !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
  }
}

#header-2018.no-breadcrumb + #page-wrapper .module-text-media .text .rt-editor p:last-child {
  margin-bottom: 0 !important;
}

/* text-media .btn → BUTTONS block */

/* --- Infobox (.module-infobox-text → blanco info / .richtext) --- */

.module-infobox-text {
  box-sizing: border-box;
  margin-bottom: 0 !important;
  padding: var(--nbi-section-padding-top) 0 var(--nbi-section-padding-bottom);
  width: 100%;
}

.module-infobox-text .infobox-text-container {
  display: flex;
  flex-direction: column !important;
  gap: var(--nbi-section-gap);
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nbi-content-inner-max);
  width: 100%;
}

@media (min-width: 834px) {
  #page-wrapper .module-infobox-text .infobox-text-container:has(> .infobox):has(> .text:has(.rt-editor)) {
    align-items: stretch;
    display: grid;
    gap: var(--nbi-section-gap);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  #page-wrapper .module-infobox-text.infobox-right .infobox-text-container:has(> .infobox):has(> .text:has(.rt-editor)) > .text {
    order: 1;
  }

  #page-wrapper .module-infobox-text.infobox-right .infobox-text-container:has(> .infobox):has(> .text:has(.rt-editor)) > .infobox {
    order: 2;
  }
}

.module-infobox-text .infobox {
  background-color: var(--nbi-color-light-bg);
  box-sizing: border-box;
  padding: 24px;
}

.module-infobox-text .infobox .rt-editor p,
.module-infobox-text .infobox .rt-editor li {
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  margin-bottom: 12px;
}

.module-infobox-text .text .rt-editor h3,
.module-infobox-text .text .rt-editor h3.h3 {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 24px;
  text-transform: uppercase;
}

@media (min-width: 834px) {
  .module-infobox-text .text .rt-editor h3,
  .module-infobox-text .text .rt-editor h3.h3 {
    font-size: var(--nbi-h3-size-desktop);
    margin-bottom: 32px;
  }
}

.module-infobox-text .text .rt-editor p {
  margin-bottom: 0;
}


/* ==========================================================================
   Faz 3 — Form fields (blanco.com .form-text-field / .form-field-label)
   Scope: page content only — header flyouts / modals excluded
   ========================================================================== */

#page-wrapper .form-group label,
#page-wrapper .form-group .label,
#page-wrapper .form-group > label.field-label,
.module-form .form-group label,
.module-form .form-group .label,
.module-form .form-group > label.field-label,
.module-login .form-group > label.field-label {
  color: var(--nbi-color-text);
  display: block;
  font-size: var(--nbi-form-font-size);
  font-weight: 700;
  letter-spacing: normal;
  line-height: var(--nbi-line-height-tight);
  margin-bottom: 8px;
  text-transform: none;
}

#page-wrapper .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
#page-wrapper .form-group select,
#page-wrapper .form-group textarea,
.module-login input[type="text"],
.module-login input[type="password"],
.module-login input[type="email"],
.module-form .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.module-form .form-group select,
.module-form .form-group textarea {
  appearance: none;
  background-color: #fff;
  border: 1px solid var(--nbi-field-border);
  border-radius: var(--nbi-field-radius);
  box-sizing: border-box;
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-form-font-size);
  font-weight: 400;
  line-height: 1.3;
  min-height: var(--nbi-field-height-lg);
  padding: 0 16px;
  width: 100%;
  transition: background-color 0.2s ease, border-color 0.15s ease;
}

#page-wrapper .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):hover,
#page-wrapper .form-group select:hover,
#page-wrapper .form-group textarea:hover,
.module-login input[type="text"]:hover,
.module-login input[type="password"]:hover,
.module-login input[type="email"]:hover,
.module-form .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):hover,
.module-form .form-group select:hover,
.module-form .form-group textarea:hover {
  border-color: var(--nbi-field-border-hover);
}

#page-wrapper .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):focus,
#page-wrapper .form-group select:focus,
#page-wrapper .form-group textarea:focus,
.module-login input[type="text"]:focus,
.module-login input[type="password"]:focus,
.module-login input[type="email"]:focus,
.module-form .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):focus,
.module-form .form-group select:focus,
.module-form .form-group textarea:focus {
  border-color: var(--nbi-blanco-blue);
  outline: 1px solid var(--nbi-blanco-blue);
  outline-offset: 2px;
}

#page-wrapper .form-group input::placeholder,
.module-login input::placeholder,
.module-form .form-group input::placeholder,
.module-form .form-group textarea::placeholder {
  color: transparent;
  opacity: 0;
}

#page-wrapper .form-group input[disabled],
#page-wrapper .form-group select[disabled],
#page-wrapper .form-group textarea[disabled],
.module-login input[disabled],
.module-form .form-group input[disabled] {
  background-color: var(--nbi-field-bg-disabled);
  border-color: #d6d6d6;
  color: #bdbdbd;
  cursor: not-allowed;
}

#page-wrapper .form-group.has-error input,
.module-login.error input[type="text"],
.module-login.error input[type="password"],
.module-form .form-group.has-error input {
  border-color: var(--nbi-color-error);
  color: var(--nbi-color-error);
}

#page-wrapper .form-group .error-message,
.module-login .error-message {
  color: var(--nbi-color-error);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.module-login input[type="text"],
.module-login input[type="password"],
.module-login input[type="email"] {
  margin-bottom: 16px;
}

.module-form .form-group .btn[type="submit"],
.module-form .btn-submit {
  background-color: var(--nbi-btn-fill-bg);
  border: 1px solid var(--nbi-btn-fill-bg);
  border-radius: var(--nbi-field-radius);
  color: #fff;
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-btn-font-size);
  font-weight: var(--nbi-btn-font-weight);
  letter-spacing: normal;
  min-height: var(--nbi-btn-min-height);
  padding: var(--nbi-btn-padding);
  text-transform: none;
}

.module-form .form-group .btn[type="submit"]:hover,
.module-form .btn-submit:hover {
  background-color: var(--nbi-btn-fill-bg-hover);
  border-color: var(--nbi-btn-fill-bg-hover);
  color: #fff;
}

/* Faz 6 — select, textarea, checkbox, radio, text-link */

#page-wrapper .form-group select,
.module-form .form-group select {
  background-color: #fff;
  background-image: var(--nbi-select-chevron);
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 12px 8px;
  cursor: pointer;
  padding-right: 40px;
}

#page-wrapper .form-group textarea,
.module-form .form-group textarea {
  background-image: none !important;
  line-height: var(--nbi-line-height-body) !important;
  margin-top: 0 !important;
  min-height: 120px;
  padding-top: 12px;
  resize: vertical;
}

/* Native radio — Figma (32px visible, not pseudo-radio block) */
.module-form .btn-radio,
.module-form label.btn-radio,
.module-form .container.radio .btn-radio,
.module-form .container.radio label.btn-radio {
  align-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: flex;
  font-size: var(--nbi-form-font-size);
  font-weight: 400;
  gap: 12px;
  margin: 0 0 12px;
  min-height: auto;
  padding: 0;
}

.module-form .btn-radio input[type="radio"],
.module-form label.btn-radio input[type="radio"],
.module-form .container.radio .btn-radio input[type="radio"],
.module-form .container.radio label.btn-radio input[type="radio"] {
  appearance: auto;
  display: inline-block;
  flex-shrink: 0;
  height: 32px;
  margin: 0;
  opacity: 1;
  position: static;
  width: 32px;
}

.module-form .btn-radio input[type="radio"] + p,
.module-form label.btn-radio input[type="radio"] + p,
.module-form .btn-radio input[type="radio"] + p::before,
.module-form .btn-radio input[type="radio"] + p::after,
.module-form label.btn-radio input[type="radio"] + p::before,
.module-form label.btn-radio input[type="radio"] + p::after {
  content: none;
  display: none;
}

.module-form .btn-radio span.radio-text,
.module-form label.btn-radio span.radio-text {
  display: inline;
  font-size: var(--nbi-form-font-size);
  font-weight: 400;
  margin: 0;
}

.module-form .chk-box input[type="checkbox"],
.module-form .chk-box-broschuere input[type="checkbox"],
.module-form .form-group input[type="checkbox"] {
  accent-color: var(--nbi-blanco-blue);
  appearance: auto;
  height: 30px;
  margin-right: 12px;
  min-height: 30px;
  width: 30px;
}

.module-form .chk-box p,
.module-form .chk-box-broschuere p,
.module-form .form-group.chk-box label,
.module-form .privacy .chk-box p {
  color: var(--nbi-color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
}

#page-wrapper .text-link {
  color: var(--nbi-content-link-color);
  display: inline-block;
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  margin-top: 16px;
  text-decoration: underline;
  text-decoration-thickness: var(--nbi-content-link-underline);
  text-underline-offset: 2px;
}

#page-wrapper .text-link:hover {
  color: var(--nbi-content-link-color);
  text-decoration: underline;
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
}

.module-form .column-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--nbi-section-gap);
}

@media (min-width: 834px) {
  .module-form .column-wrapper {
    flex-direction: row;
  }

  .module-form .column-wrapper .column {
    flex: 1;
  }
}

.module-form .module_title,
.module-form h3.module_title {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 24px;
  text-transform: uppercase;
}


/* ==========================================================================
   Faz 7 — Header flyout (mega menu) & mobile nav
   Extranet: .flyout | blanco.com: .navigation-menu__viewport (#1b1168)
   ========================================================================== */

/* --- Desktop dropdown panel --- */
@media (min-width: 1248px) {
  header#header-2018 .main-navigation .navigation-points .flyout {
    background-color: var(--nbi-flyout-bg);
    box-shadow: none;
  }

  header#header-2018 .main-navigation .navigation-points .flyout.active {
    border-top: 0;
  }

  /* Active nav item underline — blanco .navigation-menu__indicator */
  header#header-2018 .main-navigation-link.active {
    position: relative;
  }

  header#header-2018 .main-navigation-link.active::after {
    background-color: #fff;
    bottom: -4px;
    content: "";
    height: 2px;
    left: 8px;
    position: absolute;
    right: 8px;
  }
}

/* Teaser / figure caption */
header#header-2018 .main-navigation .navigation-points .figure .caption {
  color: var(--nbi-flyout-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

@media (min-width: 1248px) {
  header#header-2018 .main-navigation .navigation-points .figure .caption {
    color: var(--nbi-flyout-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 16px;
  }
}

header#header-2018 .main-navigation .navigation-points .figure .caption .headline {
  color: var(--nbi-flyout-fg);
  font-family: var(--nbi-font-heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.3;
  margin-bottom: 12px;
  text-transform: uppercase;
}

@media (min-width: 1248px) {
  header#header-2018 .main-navigation .navigation-points .figure .caption .headline {
    color: var(--nbi-flyout-fg);
    font-size: 20px;
    margin-bottom: 12px;
  }
}

/* Flyout links + panel CTAs → Faz 30 + BUTTONS */

/* --- Mobile burger overlay — blanco .nav-bar-mobile-overlay (#339) --- */
.burger-navigation header#header-2018,
.burger-navigation header#header-2018 .main-navigation {
  background-color: var(--nbi-color-nav-bg) !important;
}

.burger-navigation header#header-2018 .main-navigation-link,
.burger-navigation header#header-2018 .direct-link {
  color: var(--nbi-flyout-fg) !important;
  font-weight: 400;
}

.burger-navigation header#header-2018 .main-navigation .navigation-points .flyout {
  background-color: transparent;
  box-shadow: none;
}

.burger-navigation header#header-2018 #logo img {
  filter: brightness(0) invert(1);
}

.burger-navigation header#header-2018 .main-navigation .burger-bar-1,
.burger-navigation header#header-2018 .main-navigation .burger-bar-2,
.burger-navigation header#header-2018 .main-navigation .burger-bar-3 {
  background-color: var(--nbi-flyout-fg) !important;
}


/* ==========================================================================
   Faz 8 — Richtext body (lists, links) — display titles → Faz 18 + Faz 27 + REFERENCE
   ========================================================================== */

#page-wrapper .rt-editor p,
#page-wrapper .rt-editor li {
  color: var(--nbi-color-text) !important;
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
}

#page-wrapper .rt-editor ul,
#page-wrapper .rt-editor ol,
#page-wrapper .rt-editor ul.unordered-list,
#page-wrapper .module .rt-editor ul,
#page-wrapper .module-infobox-text .rt-editor ul,
#page-wrapper .module-login .additional-information ul {
  color: var(--nbi-page-intro-body-color);
  font-size: var(--nbi-page-intro-body-size);
  line-height: var(--nbi-line-height-body);
  list-style: disc outside;
  margin: 0 0 16px;
  padding-left: 40px;
}

#page-wrapper .rt-editor ul li,
#page-wrapper .rt-editor ol li,
#page-wrapper .module .rt-editor ul li,
#page-wrapper .module-infobox-text .rt-editor ul li,
#page-wrapper .module-login .additional-information ul li {
  font-weight: 400;
  list-style: disc outside;
  margin-bottom: 8px;
}

#page-wrapper .rt-editor ul li::before,
#page-wrapper .module .rt-editor ul li::before,
#page-wrapper .module-infobox-text .rt-editor ul li::before {
  content: none;
  display: none;
}

#page-wrapper .rt-editor a:not(.btn) {
  color: var(--nbi-content-link-color);
  text-decoration: underline;
  text-decoration-thickness: var(--nbi-content-link-underline);
  text-underline-offset: 2px;
}

#page-wrapper .rt-editor a:not(.btn):hover {
  color: var(--nbi-content-link-color);
  text-decoration: underline;
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
}

/* Generic .btn — see Faz 22 (scoped black fill; avoids burger/dealer CMS buttons) */


/* ==========================================================================
   Faz 9 — Other content modules (sitewide)
   ========================================================================== */

/* Accordion shell — FAQ UI → Faz 42 + REFERENCE §3 */

.module-accordion {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y) !important;
  padding: 0;
}

/* Video */
.module-video {
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.module-video .preview-image {
  background-color: #000;
}

/* Stage / slider shell → REFERENCE §19 + §23 */

/* Search */
.module-search .search {
  box-sizing: border-box;
  margin: 0 auto;
  padding: var(--nbi-block-padding-y) 0;
}

.module-search .form-group input {
  background-color: #fff;
  border: 1px solid var(--nbi-field-border);
  border-radius: var(--nbi-field-radius);
  font-size: var(--nbi-font-size-body);
  min-height: var(--nbi-field-height);
  padding: 8px 16px;
}

/* Responsive table */
.responsive-table {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  padding: 0;
}

.responsive-table th {
  color: var(--nbi-color-text);
  font-size: var(--nbi-font-size-body);
  font-weight: 700;
}

.responsive-table td {
  color: var(--nbi-color-text);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
}

.responsive-table a {
  color: var(--nbi-content-link-color);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.responsive-table a:hover {
  color: var(--nbi-content-link-color);
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
}

/* Modals / optin — typography only */
.modal-overlay .h2,
.modal-overlay-message .h2 {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  text-transform: uppercase;
}

.modal-overlay p,
.modal-overlay-message p {
  color: var(--nbi-color-text);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
}


/* ==========================================================================
   Faz 10 — Hero / product stage (CSS-only where HTML exists)
   ========================================================================== */


/* Product stage — used on product pages, not homepage */
.module-product-stage {
  align-items: flex-start;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: var(--nbi-section-gap);
  margin: 0 auto var(--nbi-block-padding-y) !important;
  padding: var(--nbi-block-padding-y) 0;
}

.module-product-stage .image-container,
.module-product-stage .text-container {
  flex: 1 1 45%;
  min-width: 280px;
}

.module-product-stage .headline,
.module-product-stage h1,
.module-product-stage .h2 {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-heading-size);
  font-weight: 400;
  line-height: 1.3;
  text-transform: uppercase;
}

@media (min-width: 834px) {
  .module-product-stage .headline,
  .module-product-stage h1,
  .module-product-stage .h2 {
    font-size: var(--nbi-heading-size-desktop);
  }
}

.module-product-stage .image-container .image {
  height: auto;
  max-height: 550px;
  object-fit: contain;
  width: 100%;
}


/* ==========================================================================
   Roadmap — Adım 1–8 (blanco.com parity batch)
   ========================================================================== */

/* --- ADIM 1: Header flyout, mobile nav, search --- */

header#header-2018 {
  z-index: 200;
}

header#header-2018 .main-navigation .navigation-points .flyout {
  box-sizing: border-box;
  max-width: var(--nbi-content-max-width);
  padding: 32px 24px 40px;
}

@media (min-width: 834px) {
  header#header-2018 .main-navigation .navigation-points .flyout {
    padding: 40px 40px 48px;
  }
}

header#header-2018 .main-navigation .navigation-points .flyout .flyout-inner,
header#header-2018 .main-navigation .navigation-points .flyout .flyout-content {
  margin: 0 auto;
  max-width: var(--nbi-content-inner-max);
}

header#header-2018 .main-navigation .navigation-points .second-level {
  list-style: none;
  margin: 0;
  padding: 0;
}

header#header-2018 .main-navigation .navigation-points .second-level > li {
  margin-bottom: 8px;
}

header#header-2018 .main-navigation .navigation-points .second-level > li > a {
  display: block;
  padding: 4px 0;
}

header#header-2018 .main-navigation .navigation-points .figure {
  margin-bottom: 24px;
}

header#header-2018 .main-navigation .navigation-points .figure .image-container .image {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

#mobile-search .direct-link,
#mobile-search #search-button .direct-link {
  color: var(--nbi-color-nav-fg) !important;
  font-size: 16px;
  text-decoration: none;
}

.search-container-results .search .form-group input,
.search-container .search .form-group input {
  background-color: #fff;
  border: 1px solid var(--nbi-field-border);
  border-radius: var(--nbi-field-radius);
  font-family: var(--nbi-font);
  font-size: var(--nbi-font-size-body);
  min-height: var(--nbi-field-height);
  padding: 8px 16px;
}

.search-container-results .search .form-group input:focus,
.search-container .search .form-group input:focus {
  border-color: var(--nbi-blanco-blue);
  outline: 1px solid var(--nbi-blanco-blue);
  outline-offset: 2px;
}

.burger-navigation {
  overflow-x: hidden;
}

/* Burger panel open/close: CMS .main-navigation.open + max-height — do not force fixed full height */

.burger-navigation header#header-2018 .main-navigation-link {
  border-bottom: 1px solid #E9E9E9;
  display: block;
  font-size: 18px;
  font-weight: 400 !important;
  padding: 16px 0;
  text-align: left;
  width: 100%;
}

.burger-navigation header#header-2018 #logo img {
  filter: none;
}

.burger-navigation header#header-2018 .main-navigation .burger-bar-1,
.burger-navigation header#header-2018 .main-navigation .burger-bar-2,
.burger-navigation header#header-2018 .main-navigation .burger-bar-3 {
  background-color: var(--nbi-color-text) !important;
}


/* --- ADIM 2: Tiles, infobox, hero refinements --- */

/* Infobox — blanco richtext parity */
#page-wrapper .module-infobox-text .text .rt-editor h3,
#page-wrapper .module-infobox-text .text .rt-editor h3.h3,
#page-wrapper .module-infobox-text .text .rt-editor .h3 {
  color: #000 !important;
  font-family: valizas, Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  margin: 0 0 24px !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  #page-wrapper .module-infobox-text .text .rt-editor h3,
  #page-wrapper .module-infobox-text .text .rt-editor h3.h3,
  #page-wrapper .module-infobox-text .text .rt-editor .h3 {
    font-size: 32px !important;
    margin-bottom: 32px !important;
  }
}

#page-wrapper > .module-infobox-text .text .rt-editor p,
#page-wrapper > .module-infobox-text .infobox .rt-editor p,
#page-wrapper > .module.module-infobox-text .text .rt-editor p,
#page-wrapper > .module.module-infobox-text .infobox .rt-editor p {
  color: #000 !important;
  font-family: HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
}

@media (min-width: 834px) {
  #page-wrapper > .module-infobox-text .text .rt-editor p,
  #page-wrapper > .module-infobox-text .infobox .rt-editor p,
  #page-wrapper > .module.module-infobox-text .text .rt-editor p,
  #page-wrapper > .module.module-infobox-text .infobox .rt-editor p {
    font-size: 20px !important;
  }
}

.module-infobox-text .infobox {
  border: 1px solid #E9E9E9;
  padding: 32px;
}

.module-infobox-text .infobox .rt-editor li {
  color: #000;
  font-size: 16px;
  line-height: 1.5;
}


/* --- ADIM 3: Login & forms --- */

.module-login {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y) !important;
  max-width: 480px;
  padding: 64px 24px 80px;
  width: 100%;
}

.module-login .module-headline,
.module-login h1,
.module-login .h2 {
  font-family: valizas, Arial, sans-serif;
  font-size: var(--nbi-h1-size);
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 32px;
  text-align: left;
  text-transform: uppercase;
}

@media (min-width: 834px) {
  .module-login .module-headline,
  .module-login h1,
  .module-login .h2 {
    font-size: var(--nbi-h1-size-desktop);
  }
}

.module-form {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
  width: 100%;
}

#page-wrapper .form-group input[type="file"],
.module-form .form-group input[type="file"] {
  background-color: var(--nbi-color-light-bg);
  border: 1px dashed var(--nbi-field-border);
  border-radius: var(--nbi-field-radius);
  cursor: pointer;
  font-family: var(--nbi-font);
  font-size: 14px;
  min-height: var(--nbi-field-height);
  padding: 8px 16px;
  width: 100%;
}

#page-wrapper .form-group input[type="file"]:hover,
.module-form .form-group input[type="file"]:hover {
  border-color: var(--nbi-blanco-blue);
}

#page-wrapper .form-group select,
.module-form .form-group select {
  background-color: #fff;
  background-image: var(--nbi-select-chevron);
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 12px 8px;
}


/* --- ADIM 4: Footer polish --- */

.module-footer .visit-us .social-icons {
  display: flex;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.module-footer .visit-us .social-icons a {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  width: 40px;
}

.module-footer .visit-us .social-icons a:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: #fff;
}

.module-footer .footer-meta-nav .middle.item a {
  font-size: 14px;
  letter-spacing: 0.02em;
}


/* --- ADIM 5: Global buttons & richtext --- */

#page-wrapper .btn.btn-secondary,
#page-wrapper .btn.secondary {
  background-color: transparent;
  border: 1px solid var(--nbi-blanco-blue);
  color: var(--nbi-blanco-blue);
}

#page-wrapper .btn.btn-secondary:hover,
#page-wrapper .btn.secondary:hover {
  background-color: var(--nbi-blanco-blue);
  border-color: var(--nbi-blanco-blue);
  color: #fff;
}

@media (min-width: 834px) {
  #page-wrapper .rt-editor p,
  #page-wrapper .rt-editor li {
    font-size: 18px;
    line-height: 1.5;
  }
}

@media (min-width: 834px) {
  #page-wrapper .module-centered-text .rt-editor p,
  #page-wrapper .module-headline:not(:first-child) .rt-editor p {
    font-size: 20px;
  }
}


/* --- ADIM 6: Content modules --- */

/* Accordion — legacy ADIM; FAQ weight/spacing → Faz 42 + §28 EOF */
.module-accordion .accordion-item {
  border-bottom: 1px solid #E9E9E9;
}

.module-accordion .accordion-title {
  cursor: pointer;
  font-family: var(--nbi-font);
  font-size: 16px;
  padding: 20px 0;
}

.module-accordion .accordion-content {
  padding-bottom: 24px;
}

/* Content tabs */
.module-content-tabs .tabs-nav {
  border-bottom: 1px solid #E9E9E9;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}

.module-content-tabs .tabs-nav li a,
.module-content-tabs .tabs-nav li button {
  border-bottom: 2px solid transparent;
  color: var(--nbi-color-text);
  font-family: var(--nbi-font);
  font-size: 16px;
  font-weight: 400;
  padding: 12px 16px;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.module-content-tabs .tabs-nav li.active a,
.module-content-tabs .tabs-nav li.active button,
.module-content-tabs .tabs-nav li a:hover {
  border-bottom-color: var(--nbi-blanco-blue);
  color: var(--nbi-blanco-blue);
}

/* Video play — full rules in REFERENCE §26 (blanco.co.uk YouTube cover) */

/* Image grid / gallery */
.module-image-grid,
.module-gallery {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-image-grid .image-container .image,
.module-gallery .image-container .image {
  display: block;
  height: auto;
  width: 100%;
}

/* Brochure download */
.module-brochure-download {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-brochure-download .container-broschuere {
  background-color: var(--nbi-color-light-bg);
  padding: 24px;
}

.module-brochure-download .btn.download {
  background-color: var(--nbi-blanco-blue);
  border-color: var(--nbi-blanco-blue);
  color: #fff;
  font-size: var(--nbi-btn-font-size);
  min-height: var(--nbi-btn-min-height);
}

/* Dealer search */
.module-dealer-search-small {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-dealer-search-small .search-container .form-group input {
  border: 1px solid var(--nbi-field-border);
  border-radius: var(--nbi-field-radius);
  font-size: var(--nbi-font-size-body);
  min-height: var(--nbi-field-height);
  padding: 8px 16px;
}

.module-dealer-search-small .result-container .results .result {
  border-bottom: 1px solid #E9E9E9;
  padding: 24px 0;
}

/* Centered text */
.module-centered-text {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: var(--nbi-block-padding-y) 24px;
  text-align: left;
}

.module-centered-text .rt-editor h2,
.module-centered-text .rt-editor h3 {
  font-family: valizas, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}

/* Stage / big slider */
.module-stage .stage-headline,
.module-big-image-slider .stage-headline {
  font-family: valizas, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}

/* Table module */
.module-table,
.responsive-table {
  border-collapse: collapse;
  width: 100%;
}

.module-table th,
.responsive-table th {
  border-bottom: 2px solid #E9E9E9;
  padding: 12px 16px;
  text-align: left;
}

.module-table td,
.responsive-table td {
  border-bottom: 1px solid #E9E9E9;
  padding: 12px 16px;
}


/* --- ADIM 7: Product & special pages --- */

.module-product-list,
.module-product-list-prices,
.module-further-products,
.module-recommended-products {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-product-list .product-item,
.module-further-products .product-item {
  border-bottom: 1px solid #E9E9E9;
  padding: 24px 0;
}

.module-pdp-configurator,
.module-unit-configurator {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-usp-slider,
.module-usp-teaser,
.module-usp-landingpage {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-sales-representatives,
.module-contact-information,
.module-addresses {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-sitemap {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  max-width: var(--nbi-content-inner-max);
  padding: 0 24px;
}

.module-sitemap h1,
.module-sitemap .module-headline h1 {
  text-align: left;
}

.module-sitemap a {
  color: var(--nbi-content-link-color);
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.module-sitemap > ul > li > a {
  font-size: 24px;
}

.module-sitemap h3,
.module-sitemap .module-sitemap-section h3 {
  font-size: 20px;
  font-weight: 700;
}

.module-sitemap ul ul a {
  font-size: 12px;
}

.module-sitemap a:hover {
  color: var(--nbi-content-link-color);
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
  text-decoration: underline;
}


/* --- ADIM 8: Focus & accessibility --- */

#page-wrapper a:focus-visible,
#page-wrapper button:focus-visible,
#page-wrapper input:focus-visible,
#page-wrapper select:focus-visible,
#page-wrapper textarea:focus-visible {
  outline: 1px solid var(--nbi-blanco-blue);
  outline-offset: 2px;
}

header#header-2018 a:focus-visible,
header#header-2018 button:focus-visible {
  outline: 1px solid #fff;
  outline-offset: 2px;
}

/* ==========================================================================
   Faz 11 — Breadcrumb, infobox CTAs, scoped polish (no layout shell changes)
   ========================================================================== */

/* Breadcrumb — blanco.com: text only, → separator, no CMS iconfont / slash */
header#header-2018 ~ ul.breadcrumb {
  align-items: center;
  background-color: #fff;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  font-family: var(--nbi-font-primary);
  gap: 0;
  list-style: none;
  margin: 0 auto;
  max-width: var(--nbi-layout-shell-max);
  padding: var(--nbi-breadcrumb-padding-y) var(--nbi-layout-gutter);
  width: 100%;
}

header#header-2018 ~ ul.breadcrumb li {
  align-items: center;
  color: var(--nbi-color-text);
  display: inline-flex;
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
  margin: 0;
  padding: 0;
}

/* Remove CMS home icon, backslash, duplicate separators (iconfont etc.) */
header#header-2018 ~ ul.breadcrumb li::before,
header#header-2018 ~ ul.breadcrumb li::after,
header#header-2018 ~ ul.breadcrumb a::before,
header#header-2018 ~ ul.breadcrumb a::after,
header#header-2018 ~ ul.breadcrumb span::before,
header#header-2018 ~ ul.breadcrumb span::after {
  background: none !important;
  border: 0 !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

header#header-2018 ~ ul.breadcrumb li:first-child span,
header#header-2018 ~ ul.breadcrumb li:first-child a {
  color: var(--nbi-color-text) !important;
  font-size: var(--nbi-font-size-body) !important;
}

header#header-2018 ~ ul.breadcrumb li:first-child a {
  font-size: 0 !important;
}

header#header-2018 ~ ul.breadcrumb li:first-child a::after,
header#header-2018 ~ ul.breadcrumb li:first-child > a > span:empty::after {
  color: var(--nbi-color-text) !important;
  content: "Startseite" !important;
  display: inline !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
}

/* Chevron separator (not typographic →) */
header#header-2018 ~ ul.breadcrumb li + li::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath fill='%23000' d='M1.41 0 0 1.41 4.59 6 0 10.59 1.41 12 6 6l6-6z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  color: transparent !important;
  content: "" !important;
  display: inline-block !important;
  font-size: 0 !important;
  height: 12px !important;
  line-height: 1 !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  width: 8px !important;
}

header#header-2018 ~ ul.breadcrumb li + li {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

header#header-2018 ~ ul.breadcrumb a {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.15s ease;
}

header#header-2018 ~ ul.breadcrumb a:hover,
header#header-2018 ~ ul.breadcrumb a:focus-visible {
  color: var(--nbi-color-text) !important;
  text-decoration: none !important;
}

header#header-2018 ~ ul.breadcrumb li.no-link,
header#header-2018 ~ ul.breadcrumb li.no-link span,
header#header-2018 ~ ul.breadcrumb li:last-child span,
header#header-2018 ~ ul.breadcrumb li:last-of-type span {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-decoration: none !important;
  text-transform: none !important;
}

/* Infobox CTA — blanco .button--fill.button--black */
#page-wrapper .module-infobox-text .text .btn,
#page-wrapper .module-infobox-text .infobox .btn {
  align-items: center;
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  border-radius: var(--nbi-field-radius);
  color: #fff !important;
  display: inline-flex;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  justify-content: center;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  min-height: var(--nbi-btn-min-height);
  opacity: 1 !important;
  padding: var(--nbi-btn-padding) !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: auto;
}

#page-wrapper .module-infobox-text .text .btn:hover,
#page-wrapper .module-infobox-text .infobox .btn:hover,
#page-wrapper .module-infobox-text .text .btn:focus-visible,
#page-wrapper .module-infobox-text .infobox .btn:focus-visible {
  background-color: var(--nbi-btn-fill-bg-hover) !important;
  border-color: var(--nbi-btn-fill-bg-hover) !important;
  color: #fff !important;
}

/* Form submit / btn-inverse — Faz 22 (black fill, CMS-proof) */


/* ==========================================================================
   Faz 12 — Forms parity, accordion, video (scoped — no login/homepage/header changes)
   ========================================================================== */

/* --- Forms: login field parity for registration / kontakt / usersettings --- */

#page-wrapper > .module-form .form-group {
  margin-bottom: 24px;
}

#page-wrapper > .module-form .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
#page-wrapper > .module-form .form-group select {
  min-height: var(--nbi-field-height);
  padding: 8px 16px;
}

#page-wrapper > .module-form .form-group .btn[type="submit"],
#page-wrapper > .module-form .btn-submit {
  cursor: pointer;
  font-family: var(--nbi-font-primary) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
  width: auto;
}

#page-wrapper > .module-form .chk-box,
#page-wrapper > .module-form .chk-box-broschuere {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}

#page-wrapper > .module-form .chk-box input[type="checkbox"],
#page-wrapper > .module-form .chk-box-broschuere input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 4px;
}

#page-wrapper > .module-form .chk-box p,
#page-wrapper > .module-form .chk-box-broschuere p {
  flex: 1;
  margin: 0;
}

/* Select chevron — registration etc. (kontakt uses Faz 13) */
#page-wrapper .form-group select,
.module-form .form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
}

/* Accordion → Faz 42 (FAQ parity) + REFERENCE §3 body copy */

/* --- Video module (marketing pages) --- */

#page-wrapper .module-video {
  margin-bottom: var(--nbi-block-padding-y);
}

#page-wrapper .module-video .preview-image {
  background-color: #000;
  margin-bottom: 24px;
  overflow: hidden;
  position: relative;
}

#page-wrapper .module-video .preview-image .image {
  display: block;
  height: auto;
  width: 100%;
}

#page-wrapper .module-video .text .rt-editor h3,
#page-wrapper .module-video .text .rt-editor h3.h3 {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 12px;
  text-transform: uppercase;
}

#page-wrapper .module-video .text .rt-editor p {
  color: var(--nbi-color-text);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  margin: 0;
}

#page-wrapper .module-video .consent-box .headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  font-weight: 700;
  margin: 0 0 8px;
}

#page-wrapper .module-video .consent-box p {
  color: var(--nbi-color-text);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
}

#page-wrapper .module-video .consent-box .btn {
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  border-radius: var(--nbi-field-radius);
  color: #fff !important;
  font-size: var(--nbi-btn-font-size);
  min-height: var(--nbi-btn-min-height);
  padding: var(--nbi-btn-padding);
}

#page-wrapper .module-video .consent-box .btn:hover {
  background-color: var(--nbi-btn-fill-bg-hover) !important;
  border-color: var(--nbi-btn-fill-bg-hover) !important;
}

/* --- Brochure download list --- */

#page-wrapper .module-brochure-download .download-list a,
#page-wrapper .module-brochure-download .download-link {
  color: var(--nbi-content-link-color);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  text-decoration: underline;
  text-underline-offset: 2px;
}

#page-wrapper .module-brochure-download .download-list a:hover,
#page-wrapper .module-brochure-download .download-link:hover {
  color: var(--nbi-content-link-color);
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
}


/* ==========================================================================
   Faz 13 — Kontakt (#contact-form) only — overrides style-cms-css.css
   CMS uses: border-bottom underline, blue .form-select (#339), iconfont ::after
   Scope: exact CMS selector path — login / header / footer / homepage untouched
   ========================================================================== */

/* CMS: .module-form .module-container #contact-form ... .form-group.select:after { content:"\e909"; color:#339 } */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select {
  position: relative;
}

/* Step 2 — text inputs (CMS: transparent + border-bottom only) */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-shadow: none !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin-top: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 0 16px !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

/* Step 2 — selects (CMS: .form-select blue uppercase + underline + 66px height) */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-shadow: none !important;
  color: var(--nbi-color-text) !important;
  cursor: pointer !important;
  display: block !important;
  font-family: var(--nbi-font) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 44px 12px 16px !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select:hover,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select:hover {
  border-color: var(--nbi-field-border-hover) !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select:focus,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select:focus {
  border-color: var(--nbi-blanco-blue) !important;
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input::placeholder {
  color: var(--nbi-color-text) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  opacity: 1;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select option,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select optgroup {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font);
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
}

/* optgroup labels (----) — regular weight, not bold group headers */
/* Step 1 — textarea + product number (CMS: lined paper background) */
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group input:not([type="file"]),
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group .textarea-wrapper textarea {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-attachment: scroll !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-shadow: none !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin-top: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px !important;
  resize: vertical;
  width: 100% !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group .textarea-wrapper textarea {
  min-height: 140px !important;
}

/* Step 1 — issue radios: black circle + checkmark (kontakt only) */

/* Form headings — match site typography */
#page-wrapper .module-form .module-container #contact-form .module_title,
#page-wrapper .module-form .module-container #contact-form .contact_title {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  text-transform: uppercase;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .info p {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font);
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
  margin: 0 0 24px;
}

#page-wrapper .module-form .module-container #contact-form .contact-information .form-group {
  margin-bottom: 16px;
}

#page-wrapper .module-form .module-container #contact-form .row.x1_x3,
#page-wrapper .module-form .module-container #contact-form .row.x3_x1 {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

@media (min-width: 600px) {
  #page-wrapper .module-form .module-container #contact-form .row.x1_x3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }

  #page-wrapper .module-form .module-container #contact-form .row.x3_x1 {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}

#page-wrapper .module-form .module-container #contact-form .row .form-group {
  margin-bottom: 0;
}


/* ==========================================================================
   Faz 14 — Kontakt layout & polish (#contact-form only)
   Replaces CMS float/flex misalignment — equal columns, rhythm, focus states
   ========================================================================== */

#page-wrapper .module-form .module-container #contact-form .contact-box {
  margin-top: 8px;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .info {
  margin-bottom: 32px;
  max-width: 720px;
}

/* Two-column grid (replaces float:left on .column.left) */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information {
  align-items: start !important;
  display: grid !important;
  gap: 32px 64px !important;
  grid-template-columns: 1fr !important;
}

@media (min-width: 900px) {
  #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information {
    gap: 20px 64px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.right {
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  float: none !important;
  gap: 20px !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}

/* Uniform vertical rhythm — gap on column, not per-field margins */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  width: 100%;
}

/* Anrede + Titel side by side */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left > .row {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left > .row .form-group,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left > .row .form-group.select {
  flex: none !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Street / number & PLZ / city rows */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x3_x1,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x1_x3 {
  align-items: stretch !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
}

@media (min-width: 600px) {
  #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x3_x1 {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
  }

  #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x1_x3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
  }

  /* PLZ + Stadt + optional province */
  #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x1_x3:has(.form-group:nth-child(3)) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr) !important;
  }
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x3_x1 .form-group,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x1_x3 .form-group,
#page-wrapper .module-form .module-container #contact-form .contact-box .row.x3_x1 .form-group:nth-child(1),
#page-wrapper .module-form .module-container #contact-form .contact-box .row.x3_x1 .form-group:nth-child(2),
#page-wrapper .module-form .module-container #contact-form .contact-box .row.x1_x3 .form-group:nth-child(1),
#page-wrapper .module-form .module-container #contact-form .contact-box .row.x1_x3 .form-group:nth-child(2),
#page-wrapper .module-form .module-container #contact-form .contact-box .row.x1_x3 .form-group:nth-child(3) {
  flex: none !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Field polish — depth, transitions, consistent focus (not thick black ring) */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select {
  box-sizing: border-box !important;
  transition: border-color 0.15s ease, outline-color 0.15s ease, box-shadow 0.15s ease !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select:focus,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select:focus {
  border-color: var(--nbi-blanco-blue) !important;
  box-shadow: 0 0 0 1px var(--nbi-blanco-blue) !important;
  outline: none !important;
}

/* Error text — static flow below field (CMS used position:absolute for placeholder-era) */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group > .error-message,
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group > .error-message {
  color: var(--nbi-color-error);
  display: none;
  font-family: var(--nbi-font-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  margin: 6px 0 0;
  position: static;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.has-error > .error-message,
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group.has-error > .error-message {
  display: block;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .error-message:empty {
  display: none !important;
  margin: 0 !important;
}

/* Privacy + actions */
#page-wrapper .module-form .module-container #contact-form .privacy {
  margin-top: 40px;
}

#page-wrapper .module-form .module-container #contact-form .controls {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: flex-start;
  margin-top: 24px;
}

#page-wrapper .module-form .module-container #contact-form .controls .btn.reset {
  background: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 24px !important;
}

#page-wrapper .module-form .module-container #contact-form .controls .btn.reset:hover {
  border-color: var(--nbi-color-text) !important;
  color: var(--nbi-color-text) !important;
}

#page-wrapper .module-form .module-container #contact-form .controls .btn.submit {
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 32px !important;
}

/* Step 1 — two-column issue + message */
@media (min-width: 900px) {
  #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper {
    align-items: start;
    display: grid !important;
    gap: 48px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column {
    flex: none !important;
    width: 100% !important;
  }
}


/* ==========================================================================
   Faz 15 — Kontakt typography (blanco.com .form-text-field) + autofill
   ========================================================================== */

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select,
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group input:not([type="file"]),
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group .textarea-wrapper textarea {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--nbi-color-text) !important;
  font-family: helveticaneue, "Helvetica Neue", HelveticaNeueLTStd, Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input::placeholder,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select:invalid,
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group input::placeholder,
#page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group textarea::placeholder {
  color: var(--nbi-color-text) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  opacity: 1;
}

/* Filled value in selects — not CMS blue/bold */
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select option,
#page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select optgroup {
  color: var(--nbi-color-text);
  font-family: helveticaneue, "Helvetica Neue", HelveticaNeueLTStd, Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
}

/* Browser autofill — remove blue/yellow fill, keep blanco fonts */
#page-wrapper .module-form .module-container #contact-form input:-webkit-autofill,
#page-wrapper .module-form .module-container #contact-form input:-webkit-autofill:hover,
#page-wrapper .module-form .module-container #contact-form input:-webkit-autofill:focus,
#page-wrapper .module-form .module-container #contact-form select:-webkit-autofill,
#page-wrapper .module-form .module-container #contact-form select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--nbi-color-text) !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  caret-color: var(--nbi-color-text);
  font-family: helveticaneue, "Helvetica Neue", HelveticaNeueLTStd, Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  transition: background-color 99999s ease-out;
}


/* ==========================================================================
   Faz 16 — Gap closure (themenboard, forms, usersettings, footer mobile,
   newsletter, brochure, sales reps, search) — scoped; login/header/homepage safe
   ========================================================================== */

/* --- 1. Themenboard (homepage + brandportal teaser grid) --- */

#page-wrapper .module-themen-board {
  box-sizing: border-box;
  margin: 0 auto var(--nbi-block-padding-y);
  padding: 0;
  width: 100%;
}

#page-wrapper .module-themen-board .module-container {
  margin: 0;
  padding: 0;
}

#page-wrapper .module-themen-board .head-info {
  margin-bottom: var(--nbi-block-gap);
}

#page-wrapper .module-themen-board .head-info .module-headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  margin: 0;
  text-align: left;
  text-transform: uppercase;
}

@media (min-width: 834px) {
  #page-wrapper .module-themen-board .head-info .module-headline {
    font-size: var(--nbi-h3-size-desktop);
  }
}

#page-wrapper .module-themen-board .row-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#page-wrapper .module-themen-board .row .teaser-wrapper {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}

@media (min-width: 834px) {
  #page-wrapper .module-themen-board .row .teaser-wrapper {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}

#page-wrapper .module-themen-board .teaser {
  margin: 0;
  min-width: 0;
}

#page-wrapper .module-themen-board .teaser > a {
  color: inherit;
  display: block;
  height: 100%;
  text-decoration: none;
}

#page-wrapper .module-themen-board .teaser .img-container {
  background-color: var(--nbi-color-light-bg);
  overflow: hidden;
  position: relative;
}

#page-wrapper .module-themen-board .teaser.big .img-container {
  aspect-ratio: 16 / 9;
}

@media (min-width: 834px) {
  #page-wrapper .module-themen-board .teaser.big .img-container {
    min-height: 280px;
  }
}

#page-wrapper .module-themen-board .teaser.small .img-container {
  aspect-ratio: 1 / 1;
}

@media (min-width: 834px) {
  #page-wrapper .module-themen-board .teaser.small .img-container {
    min-height: 200px;
  }
}

#page-wrapper .module-themen-board .teaser .img-container .image {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
  width: 100%;
}

#page-wrapper .module-themen-board .teaser > a:hover .img-container .image {
  transform: scale(1.03);
}

#page-wrapper .module-themen-board .teaser-text {
  background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.65) 100%);
  bottom: 0;
  box-sizing: border-box;
  color: #fff;
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  left: 0;
  line-height: var(--nbi-line-height-body);
  margin: 0;
  padding: 48px 20px 20px;
  position: absolute;
  right: 0;
}

#page-wrapper .module-themen-board .teaser-text p {
  color: #fff;
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
  margin: 0;
}

@media (min-width: 834px) {
  #page-wrapper .module-themen-board .teaser.big .teaser-text p {
    font-size: 18px;
  }
}


/* --- 2. Shared contact-box forms (newsletter + same CMS fights as kontakt) --- */

#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group.select::after {
  content: none !important;
  display: none !important;
}

#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .form-select,
#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group.select select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  min-height: var(--nbi-field-height) !important;
  padding: 8px 16px !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .form-select,
#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group.select select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  padding-right: 44px !important;
}

#page-wrapper .module-form .module-container #optin-email-form .contact-box .info .contact_title {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 24px;
  text-transform: uppercase;
}

@media (min-width: 834px) {
  #page-wrapper .module-form .module-container #optin-email-form .contact-box .info .contact_title {
    font-size: var(--nbi-h3-size-desktop);
    margin-bottom: 32px;
  }
}

#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information {
  align-items: start !important;
  display: grid !important;
  gap: var(--nbi-block-gap) !important;
  grid-template-columns: 1fr !important;
}

@media (min-width: 900px) {
  #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  gap: 16px !important;
  margin: 0 !important;
  width: 100% !important;
}

#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .form-group:not(.has-error) > .error-message {
  display: none !important;
}

#page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .form-group.has-error > .error-message {
  color: var(--nbi-color-error);
  display: block;
  font-family: var(--nbi-font);
  font-size: 14px;
  margin-top: 8px;
}
/* --- 3. Usersettings / registration section titles + table --- */

#page-wrapper .module-form .module-container #contact-form .contact-box .headline,
#page-wrapper .module-form .module-container #contact-form .contact-box h3.headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  margin: var(--nbi-block-gap) 0 24px;
  text-transform: uppercase;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .headline:first-child,
#page-wrapper .module-form .module-container #contact-form .contact-box > h3:first-child {
  margin-top: 0;
}

#page-wrapper .module-form .module-container #contact-form .contact-box .prominent-headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-heading-size);
  font-weight: 400;
  line-height: 1.3;
  margin: var(--nbi-block-gap) 0 16px;
  text-transform: uppercase;
}

@media (min-width: 834px) {
  #page-wrapper .module-form .module-container #contact-form .contact-box .headline,
  #page-wrapper .module-form .module-container #contact-form .contact-box h3.headline {
    font-size: var(--nbi-h3-size-desktop);
  }

  #page-wrapper .module-form .module-container #contact-form .contact-box .prominent-headline {
    font-size: var(--nbi-h3-size-desktop);
  }
}

#page-wrapper .module-form .module-container #contact-form .contact-box .multiple-col.unordered-list {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  margin: 0 0 var(--nbi-block-gap);
  padding-left: 1.2em;
}

#page-wrapper .module-form .module-container #contact-form .module-table {
  margin: 0 0 var(--nbi-block-gap);
  width: 100%;
}

#page-wrapper .module-form .module-container #contact-form .module-table .responsive-table {
  border-collapse: collapse;
  width: 100%;
}

#page-wrapper .module-form .module-container #contact-form .module-table .responsive-table th {
  border-bottom: 2px solid #E9E9E9;
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  font-weight: 700;
  padding: 12px 16px;
  text-align: left;
}

#page-wrapper .module-form .module-container #contact-form .module-table .responsive-table td {
  border-bottom: 1px solid #E9E9E9;
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  padding: 16px;
  vertical-align: top;
}

#page-wrapper .module-form .module-container #contact-form .module-table .responsive-table tr:hover td {
  background-color: #fafafa;
}

#page-wrapper .module-form .module-container #contact-form .module-table .controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

#page-wrapper .module-form .module-container #contact-form .module-table .btn {
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-btn-font-size);
  min-height: var(--nbi-btn-min-height);
  padding: var(--nbi-btn-padding);
}


/* --- 4. Footer mobile accordion --- */

@media (max-width: 833px) {
  .module-footer .footer-linklist {
    flex-direction: column;
    gap: 0;
  }

  .module-footer .footer-linklist .accordion-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    flex: none;
    max-width: none;
    width: 100%;
  }

  .module-footer .footer-linklist .accordion-head {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 16px 0;
  }

  .module-footer .footer-linklist .accordion-headline {
    flex: 1;
    font-size: var(--nbi-font-size-body) !important;
    margin: 0 !important;
  }

  .module-footer .footer-linklist .accordion-icon {
    color: transparent;
    flex-shrink: 0;
    font-size: 0;
    height: 20px;
    overflow: hidden;
    position: relative;
    width: 20px;
  }

  .module-footer .footer-linklist .accordion-icon::before,
  .module-footer .footer-linklist .accordion-icon::after {
    background-color: var(--nbi-color-nav-fg);
    content: "";
    position: absolute;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  .module-footer .footer-linklist .accordion-icon::before {
    height: 2px;
    left: 0;
    top: 9px;
    width: 20px;
  }

  .module-footer .footer-linklist .accordion-icon::after {
    height: 20px;
    left: 9px;
    top: 0;
    width: 2px;
  }

  .module-footer .footer-linklist .accordion-item.active .accordion-icon::after,
  .module-footer .footer-linklist .accordion-item.open .accordion-icon::after {
    opacity: 0;
    transform: rotate(90deg);
  }

  .module-footer .footer-linklist .accordion-content {
    padding: 0 0 16px;
  }

  .module-footer .footer-linklist .accordion-content a {
    display: block;
    padding: 6px 0;
  }
}


/* --- 5. Sales representatives --- */

#page-wrapper .module-sales-representatives {
  margin-bottom: var(--nbi-block-padding-y);
}

#page-wrapper .module-sales-representatives > .module-headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 var(--nbi-block-gap);
  text-transform: uppercase;
}

@media (min-width: 834px) {
  #page-wrapper .module-sales-representatives > .module-headline {
    font-size: var(--nbi-h3-size-desktop);
  }
}

#page-wrapper .module-sales-representatives .general-teaser-container {
  display: grid;
  gap: var(--nbi-block-gap);
  grid-template-columns: 1fr;
}

@media (min-width: 834px) {
  #page-wrapper .module-sales-representatives .general-teaser-container {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}

#page-wrapper .module-sales-representatives .general-teaser {
  background-color: var(--nbi-color-light-bg);
  box-sizing: border-box;
  padding: 24px;
}

#page-wrapper .module-sales-representatives .teaser-headline-outer {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 20px;
  text-transform: uppercase;
}

#page-wrapper .module-sales-representatives .general-teaser .teaser-wrapper {
  align-items: flex-start;
  display: flex;
  gap: 20px;
}

#page-wrapper .module-sales-representatives .general-teaser .image-container {
  flex-shrink: 0;
  width: 120px;
}

#page-wrapper .module-sales-representatives .general-teaser .image-container .image {
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

#page-wrapper .module-sales-representatives .teaser-headline.small {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  font-weight: 700;
  line-height: var(--nbi-line-height-body);
  margin: 0 0 12px;
  text-transform: none;
}

#page-wrapper .module-sales-representatives .linklist a.link {
  color: var(--nbi-content-link-color);
  display: block;
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  margin-bottom: 6px;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

#page-wrapper .module-sales-representatives .linklist a.link:hover {
  color: var(--nbi-content-link-color);
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
}


/* --- 6. Brochure download --- */

#page-wrapper .module-brochure-download .module-headline,
#page-wrapper .module-brochure-download h3.module-headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 var(--nbi-block-gap);
  text-transform: uppercase;
}

@media (min-width: 834px) {
  #page-wrapper .module-brochure-download .module-headline,
  #page-wrapper .module-brochure-download h3.module-headline {
    font-size: var(--nbi-h3-size-desktop);
  }
}

#page-wrapper .module-brochure-download .container-broschuere {
  border-radius: var(--nbi-field-radius);
  margin-bottom: 16px;
  padding: 24px;
}

#page-wrapper .module-brochure-download .chk-box-broschuere,
#page-wrapper .module-brochure-download .chk-box {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

#page-wrapper .module-brochure-download .download-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}

#page-wrapper .module-brochure-download .download-list li {
  border-bottom: 1px solid #E9E9E9;
  margin: 0;
  padding: 12px 0;
}

#page-wrapper .module-brochure-download .download-list li:last-child {
  border-bottom: none;
}


/* --- 7. Search flyout + results --- */

.search-container-results .search-results .result-item,
.search-container-results .results .result,
.search-container .search-results .result {
  border-bottom: 1px solid #E9E9E9;
  padding: 20px 0;
}

.search-container-results .search-results .result-item a,
.search-container-results .results .result a,
.search-container .search-results .result a {
  color: var(--nbi-content-link-color);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.search-container-results .search-results .result-item a:hover,
.search-container-results .results .result a:hover,
.search-container .search-results .result a:hover {
  color: var(--nbi-content-link-color);
  text-decoration-thickness: var(--nbi-content-link-underline-hover);
}

.search-container-results .search-results .result-item p,
.search-container-results .results .result p {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  line-height: var(--nbi-line-height-body);
  margin: 8px 0 0;
}


/* ==========================================================================
   Faz 17 — Typography & button scale audit fixes (sitewide tokens)
   Headings: h1 32/40 | section h3 24/32 | body 16px | buttons 40px min-height
   Login submit stays 48px (module-login). Header/footer/nav untouched.
   ========================================================================== */

/* h3.headline desktop → Faz 27 §3 */

/* p.module-headline (flyout / login header) — same as h3 module titles */
#page-wrapper p.module-headline,
header#header-2018 p.module-headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 16px;
  text-transform: uppercase;
}

@media (min-width: 834px) {
  #page-wrapper p.module-headline,
  header#header-2018 p.module-headline {
    font-size: var(--nbi-h3-size-desktop);
  }
}

header#header-2018 p.module-headline {
  color: var(--nbi-flyout-fg);
}

/* contact-box h3.headline — DISPLAY (Faz 18); margin kept for registration layout */
#page-wrapper .module-form .contact-box h3.headline {
  margin: var(--nbi-block-gap) 0 24px;
  text-transform: uppercase;
}

#page-wrapper .module-form .contact-box h3.headline:first-child {
  margin-top: 0;
}

/* Form descriptions + legal hints */
#page-wrapper .module-form .contact-box .info p,
#page-wrapper .module-form .module-container #optin-email-form .contact-box .info p {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: var(--nbi-font-size-body);
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
  margin: 0 0 24px;
}

#page-wrapper .module-form .privacy .mandatory,
#page-wrapper .module-form .validation-wrapper .mandatory {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: var(--nbi-line-height-body);
}

#page-wrapper .module-form .dialog-headline {
  color: var(--nbi-color-text);
  font-family: var(--nbi-font-heading);
  font-size: var(--nbi-h3-size);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 16px;
  text-transform: uppercase;
}

/* Button hierarchy — primary black fill | secondary outline | delete neutral */
#page-wrapper .module-form .btn.delete,
#page-wrapper .module-form .btn.close-delete-dialog,
#page-wrapper .module-form .btn.close-edit-dialog {
  background-color: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

#page-wrapper .module-form .btn.delete:hover,
#page-wrapper .module-form .btn.close-delete-dialog:hover,
#page-wrapper .module-form .btn.close-edit-dialog:hover {
  border-color: var(--nbi-color-text) !important;
  color: var(--nbi-color-text) !important;
}

#page-wrapper .module-form .btn.edit,
#page-wrapper .module-form .btn.btn-inverse.edit {
  background-color: transparent !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: var(--nbi-btn-fill-bg) !important;
  font-weight: 400 !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

#page-wrapper .module-form .btn.edit:hover,
#page-wrapper .module-form .btn.btn-inverse.edit:hover {
  background-color: var(--nbi-btn-fill-bg) !important;
  border-color: var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
}

/* search/confirm/flyout submit → BUTTONS block */

/* ==========================================================================
   Faz 18 — Page titles: black Valizas uppercase (override CMS #339 blue / 800)
   Ref: blanco.com display titles (e.g. PRESS LOUNGE).
   ========================================================================== */

#page-wrapper .module-headline h1,
#page-wrapper .module-headline h1.h2,
#page-wrapper .module-headline h3,
#page-wrapper h3.module-headline,
#page-wrapper .module-themen-board .head-info .module-headline,
#page-wrapper .module-accordion > .module-container > .module-headline,
#page-wrapper .module-accordion .module-headline,
#page-wrapper .module-form .module_title,
#page-wrapper .module-form h3.module_title,
#page-wrapper .module-form .contact_title,
#page-wrapper .module-form h3.contact_title,
#page-wrapper .module-form .contact-step-one > .module_title,
#page-wrapper .module-form .contact-box .headline,
#page-wrapper .module-form .contact-box h3.headline,
#page-wrapper .module-form .contact-box .prominent-headline,
#page-wrapper .module-sales-representatives > .module-headline,
#page-wrapper .module-brochure-download .module-headline,
#page-wrapper .module-brochure-download h3.module-headline,
#page-wrapper .module-dealer-search-small .module-headline,
#page-wrapper .module-dealer-search-international-variation .module-headline,
#page-wrapper .module-big-image-slider .stage-headline,
#page-wrapper .module-contact-information .title,
#page-wrapper .module-addresses .group-headline,
#page-wrapper .module-centered-text .rt-editor h2,
#page-wrapper .module-centered-text .rt-editor h3,
#page-wrapper .h2,
#page-wrapper h1.h2,
#page-wrapper h2.h2,
#page-wrapper h3.h3,
#page-wrapper h3.headline,
#page-wrapper .headline:not(h2) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  text-transform: uppercase !important;
}

/* Section h2.h3 → REFERENCE §3 · FAQ accordion → Faz 42 */



/* ==========================================================================
   Faz 20 — Layout rhythm (shell resets + homepage sections)
   Inner breadcrumb spacing → REFERENCE PARITY §4 (EOF)
   ========================================================================== */

/* CMS .module-headline { margin-bottom: 36px } */
#page-wrapper .module-headline {
  margin-bottom: 0 !important;
}

/* Homepage below hero — section rhythm */
#header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child ~ :is(
  .module-tiles,
  .module-sales-representatives,
  .module-themen-board
) {
  padding-bottom: var(--nbi-section-padding-bottom) !important;
  padding-top: var(--nbi-section-padding-top) !important;
}

/* Stacked sections: adjacent 40+80 = 120px visual gap (blanco --block-margin) */
#header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module + .module {
  margin-top: 0 !important;
}

/* CMS module-container must not reintroduce horizontal inset */
#page-wrapper .module .module-container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* ==========================================================================
   BUTTONS — canonical fill (blanco.com .button--fill.button--black)
   Merged: Faz 22 + 29 + 23. CMS-proof: 16px/700, 40px, hover #3c3c3c
   ========================================================================== */

body .meta-bar a.btn,
body #page-wrapper a.btn:not(.btn-radio):not(.edit):not(.delete):not(.close-delete-dialog):not(.close-edit-dialog),
body #page-wrapper button.btn:not(.btn-radio),
body #page-wrapper input.btn,
body #page-wrapper .btn:not(.btn-radio):not(.edit):not(.delete):not(.close-delete-dialog):not(.close-edit-dialog),
body #page-wrapper .module-text-media .text a.btn,
body #page-wrapper .module-text-media .text .btn,
body #page-wrapper .module-infobox-text .text a.btn,
body #page-wrapper .module-infobox-text .text .btn,
body #page-wrapper .module-infobox-text .infobox a.btn,
body #page-wrapper .module-infobox-text .infobox .btn,
body #page-wrapper .module-stage.editorial.error-page .error-list a.btn,
body #page-wrapper .module-stage.editorial.error-page .error-list a.text-link,
body #page-wrapper .module-headline a.btn,
body #page-wrapper .module-headline .btn,
body #page-wrapper .module-form .btn[type="submit"],
body #page-wrapper .module-form .btn-submit,
body #page-wrapper .module-form .controls .btn.submit,
body #page-wrapper .module-form .btn.btn-inverse:not(.edit),
body #page-wrapper .module-search .btn[type="submit"],
body #page-wrapper .btn.btn-confirm,
body #old-browser-layer .btn.btn-confirm,
body .module-login .btn,
body .module-login button[type="submit"].btn,
body header#header-2018 .main-navigation .navigation-points .flyout .btn.btn-inverse,
body header#header-2018 .main-navigation .navigation-points .flyout button[type="submit"].btn,
body header#header-2018 .main-navigation .navigation-points .flyout .btn {
  align-items: center !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: var(--nbi-btn-fill-bg) !important;
  background-image: none !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: #fff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-style: normal !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  justify-content: center !important;
  flex-direction: row !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  min-height: var(--nbi-btn-min-height) !important;
  opacity: 1 !important;
  padding: var(--nbi-btn-padding) !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  width: auto !important;
}

body .meta-bar a.btn:hover,
body #page-wrapper .module-text-media .text a.btn:hover,
body #page-wrapper .module-text-media .text .btn:hover,
body #page-wrapper .module-infobox-text .text a.btn:hover,
body #page-wrapper .module-infobox-text .text .btn:hover,
body #page-wrapper .module-infobox-text .infobox a.btn:hover,
body #page-wrapper .module-infobox-text .infobox .btn:hover,
body #page-wrapper .module-stage.editorial.error-page .error-list a.btn:hover,
body #page-wrapper .module-stage.editorial.error-page .error-list a.text-link:hover,
body #page-wrapper .module-headline a.btn:hover,
body #page-wrapper .module-headline .btn:hover,
body #page-wrapper .module-form .btn[type="submit"]:hover,
body #page-wrapper .module-form .btn-submit:hover,
body #page-wrapper .module-form .controls .btn.submit:hover,
body #page-wrapper .module-form .btn.btn-inverse:not(.edit):hover,
body #page-wrapper .module-search .btn[type="submit"]:hover,
body #page-wrapper .btn.btn-confirm:hover,
body #old-browser-layer .btn.btn-confirm:hover,
body .module-login .btn:hover,
body .module-login button[type="submit"].btn:hover,
body header#header-2018 .main-navigation .navigation-points .flyout .btn.btn-inverse:hover,
body header#header-2018 .main-navigation .navigation-points .flyout button[type="submit"].btn:hover {
  background-color: var(--nbi-btn-fill-bg-hover) !important;
  border-color: var(--nbi-btn-fill-bg-hover) !important;
  color: #fff !important;
}

/* Login — blanco .button--large (48px, 12px 16px) */
body .module-login .btn,
body .module-login a.btn,
body .module-login button[type="submit"].btn {
  align-self: flex-start !important;
  line-height: var(--nbi-btn-line-height) !important;
  min-height: var(--nbi-field-height-lg) !important;
  min-width: var(--nbi-btn-width-inline) !important;
  padding: var(--nbi-btn-padding-lg) !important;
  white-space: normal !important;
  width: auto !important;
}

/* CMS vertical drift — fixed heights / asymmetric padding */
body #page-wrapper a.btn,
body #page-wrapper button.btn,
body #page-wrapper input.btn {
  box-sizing: border-box !important;
  height: auto !important;
  padding-block: var(--nbi-btn-padding-y) !important;
  padding-inline: var(--nbi-btn-padding-x) !important;
  vertical-align: middle !important;
}

body #page-wrapper a.btn::before,
body #page-wrapper a.btn::after,
body #page-wrapper button.btn::before,
body #page-wrapper button.btn::after {
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* CTA spacing — gap above black fill button (not CMS margin: 0 / 48px bottom) */
body #page-wrapper .module-text-media .text a.btn,
body #page-wrapper .module-text-media .text .btn,
body #page-wrapper .module-infobox-text .text a.btn,
body #page-wrapper .module-infobox-text .text .btn,
body #page-wrapper .module-infobox-text .infobox a.btn,
body #page-wrapper .module-infobox-text .infobox .btn {
  margin-top: 32px !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-text-media .text a.btn,
  body #page-wrapper .module-text-media .text .btn,
  body #page-wrapper .module-infobox-text .text a.btn,
  body #page-wrapper .module-infobox-text .text .btn,
  body #page-wrapper .module-infobox-text .infobox a.btn,
  body #page-wrapper .module-infobox-text .infobox .btn {
    margin-top: 40px !important;
  }
}

/* CMS arrow / icon pseudo on fill CTAs (not .btn.download) */
body .meta-bar a.btn::before,
body .meta-bar a.btn::after,
body #page-wrapper .module-text-media .text a.btn::before,
body #page-wrapper .module-text-media .text .btn::before,
body #page-wrapper .module-text-media .text a.btn::after,
body #page-wrapper .module-text-media .text .btn::after,
body #page-wrapper .module-infobox-text .text a.btn::before,
body #page-wrapper .module-infobox-text .text .btn::before,
body #page-wrapper .module-infobox-text .infobox a.btn::before,
body #page-wrapper .module-infobox-text .infobox .btn::before,
body #page-wrapper .module-headline a.btn::before,
body #page-wrapper .module-headline .btn::before,
body #page-wrapper .module-stage.editorial.error-page .error-list a.btn::before,
body #page-wrapper .module-stage.editorial.error-page .error-list a.text-link::before,
body #page-wrapper .module-form .btn[type="submit"]::before,
body #page-wrapper .module-form .btn-submit::before,
body #page-wrapper .module-form .controls .btn.submit::before,
body #page-wrapper .module-form .btn.btn-inverse:not(.edit)::before,
body #page-wrapper .module-search .btn[type="submit"]::before,
body #page-wrapper .btn.btn-confirm::before,
body #old-browser-layer .btn.btn-confirm::before,
body .module-login .btn::before,
body .module-login button[type="submit"].btn::before,
body header#header-2018 .main-navigation .navigation-points .flyout .btn::before,
body header#header-2018 .main-navigation .navigation-points .flyout button[type="submit"].btn::before,
body #page-wrapper .module-text-media button.btn::before,
body #page-wrapper .module-form button.btn::before {
  border: 0 !important;
  content: none !important;
  display: none !important;
  font-size: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  max-height: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  visibility: hidden !important;
  width: 0 !important;
}

/* Form reset — outline, not fill */
body #page-wrapper .module-form .controls .btn.reset,
body #page-wrapper .btn.reset,
body #page-wrapper .btn-reset {
  align-items: center !important;
  background-color: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  justify-content: center !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin: 0 !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
  width: auto !important;
}

body #page-wrapper .module-form .controls .btn.reset:hover,
body #page-wrapper .btn.reset:hover,
body #page-wrapper .btn-reset:hover {
  background-color: transparent !important;
  border-color: var(--nbi-color-text) !important;
  color: var(--nbi-color-text) !important;
}

/* Brochure download — keep CMS file icon, fix type */
body #page-wrapper .module-brochure-download .btn.download {
  align-items: center !important;
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  gap: 8px !important;
  justify-content: center !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin: 0 !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
  width: auto !important;
}

body #page-wrapper .module-brochure-download .btn.download:hover {
  background-color: var(--nbi-btn-fill-bg-hover) !important;
  border-color: var(--nbi-btn-fill-bg-hover) !important;
  color: #fff !important;
}

body #page-wrapper .module-brochure-download .btn.download::before {
  align-self: center !important;
  color: #fff !important;
  display: block !important;
  flex-shrink: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  margin: 0 8px 0 0 !important;
  position: static !important;
}

/* ==========================================================================
   Faz 24 — Meta-bar (Kontakt, An-/Abmelden) — blanco.com header-top-bar
   FS HTML: <a class="meta-link"><i class="icon contact"></i><span class="direct-link">
   CMS inline beats link font-size — must target .direct-link (was 12px uppercase)
   ========================================================================== */

body .meta-bar .meta-links {
  align-items: center !important;
  column-gap: var(--nbi-meta-links-gap) !important;
  gap: var(--nbi-meta-links-gap) !important;
}

body .meta-bar .meta-links a.meta-link,
body .meta-bar .meta-links > a.meta-link,
body .meta-bar .meta-links .meta-link,
body .meta-bar .meta-links-mobile a.meta-link,
body .meta-bar .meta-links-mobile .link-wrapper > a.meta-link,
body .meta-bar .meta-links > a {
  align-items: center !important;
  color: var(--nbi-color-text) !important;
  display: inline-flex !important;
  flex-direction: row !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  gap: var(--nbi-meta-link-icon-gap) !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  min-height: var(--nbi-meta-link-icon-size) !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  vertical-align: middle !important;
}

/* Visible label — overrides CMS .meta-bar .meta-links .meta-link .direct-link { font-size:12px } */
body .meta-bar .meta-links .meta-link .direct-link,
body .meta-bar .meta-links .country-link .direct-link,
body .meta-bar .meta-links a.meta-link .direct-link,
body .meta-bar .meta-links > a .direct-link {
  align-items: center !important;
  align-self: center !important;
  color: inherit !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

/* FS markup <a><i class="icon">…</i><span> — not legacy ::before-on-<a> */
body .meta-bar .meta-links .meta-link:has(> .icon) {
  gap: var(--nbi-meta-link-icon-gap) !important;
  padding-left: 0 !important;
  position: static !important;
}

body .meta-bar .meta-links .meta-link:has(> .icon)::before,
body .meta-bar .meta-links .meta-link:has(> .icon)::after {
  content: none !important;
  display: none !important;
}

body .meta-bar .meta-links .meta-link .icon,
body .meta-bar .meta-links .country-link .icon {
  align-items: center !important;
  align-self: center !important;
  display: inline-flex !important;
  flex-shrink: 0 !important;
  font-style: normal !important;
  height: var(--nbi-meta-link-icon-size) !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  width: var(--nbi-meta-link-icon-size) !important;
}

body .meta-bar .meta-links .meta-link .icon::before,
body .meta-bar .meta-links .country-link .icon::before,
body .meta-bar .meta-links .meta-link .icon.contact::before,
body .meta-bar .meta-links .meta-link .icon.extranet::before,
body .meta-bar .meta-links .meta-link.logged-in .icon.extranet::before,
body .meta-bar .meta-links .meta-link .icon.shop::before,
body .meta-bar .meta-links .meta-link .icon.brand-portal::before,
body .meta-bar .meta-links .meta-link .icon.locator::before {
  align-items: center !important;
  display: flex !important;
  font-family: var(--nbi-font-icon) !important;
  font-size: var(--nbi-meta-link-icon-size) !important;
  font-weight: 400 !important;
  height: var(--nbi-meta-link-icon-size) !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  position: static !important;
  text-decoration: none !important;
  top: auto !important;
  transform: none !important;
  vertical-align: middle !important;
  width: var(--nbi-meta-link-icon-size) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* FS <a><i class="icon"> — kill anchor ::before (beats .brand-portal::before above) */
body .meta-bar .meta-links .meta-link:has(> .icon)::before,
body .meta-bar .meta-links .meta-link.brand-portal:has(> .icon)::before,
body .meta-bar .meta-links .meta-link.logged-in:has(> .icon)::before {
  content: none !important;
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

body .meta-bar .meta-links a.meta-link:hover,
body .meta-bar .meta-links a.meta-link:focus-visible,
body .meta-bar .meta-links > a:hover,
body .meta-bar .meta-links > a:focus-visible,
body .meta-bar .meta-links-mobile a.meta-link:hover,
body .meta-bar .meta-links-mobile a.meta-link:focus-visible {
  color: var(--nbi-color-text) !important;
  text-decoration: none !important;
}

/* Underline on label only, not on <i class="icon"> */
body .meta-bar .meta-links .meta-link:hover .direct-link,
body .meta-bar .meta-links .meta-link:focus-visible .direct-link,
body .meta-bar .meta-links a.meta-link:hover .direct-link,
body .meta-bar .meta-links a.meta-link:focus-visible .direct-link {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body .meta-bar .meta-link::after {
  content: none !important;
  display: none !important;
}

/* Legacy markup: icon class on <a> only (int-en — no child <i class="icon">) */
body .meta-bar .meta-link.contact:not(:has(> .icon)),
body .meta-bar .meta-link.shop:not(:has(> .icon)),
body .meta-bar .meta-link.search:not(:has(> .icon)),
body .meta-bar .meta-link.language:not(:has(> .icon)),
body .meta-bar .meta-link.customer-portal:not(:has(> .icon)),
body .meta-bar .meta-link.brand-portal:not(:has(> .icon)),
body .meta-bar .meta-link.brand-portal.logged-in:not(:has(> .icon)),
body .meta-bar .meta-link.extranet:not(:has(> .icon)),
body .meta-bar .meta-link.locator:not(:has(> .icon)) {
  gap: 0 !important;
  padding-left: var(--nbi-meta-link-text-start) !important;
  position: relative !important;
}

body .meta-bar .meta-link.contact:not(:has(> .icon))::before,
body .meta-bar .meta-link.shop:not(:has(> .icon))::before,
body .meta-bar .meta-link.search:not(:has(> .icon))::before,
body .meta-bar .meta-link.language:not(:has(> .icon))::before,
body .meta-bar .meta-link.customer-portal:not(:has(> .icon))::before,
body .meta-bar .meta-link.brand-portal:not(:has(> .icon))::before,
body .meta-bar .meta-link.extranet:not(:has(> .icon))::before,
body .meta-bar .meta-link.locator:not(:has(> .icon))::before {
  font-family: var(--nbi-font-icon) !important;
  font-size: var(--nbi-meta-link-icon-size) !important;
  font-weight: 700 !important;
  left: 0 !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: absolute !important;
  text-align: center !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: var(--nbi-meta-link-icon-size) !important;
}


/* ==========================================================================
   Faz 25 — Footer — blanco.com .main-footer / .footer-accordion / .social-links
   Extranet: .module-footer — beats CMS padding, blue links, uppercase
   ========================================================================== */

body footer.module-footer,
body .module-footer {
  background-color: var(--nbi-color-nav-bg) !important;
  background-image: none !important;
  border-top: none !important;
  color: var(--nbi-color-nav-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  margin-left: calc(-1 * var(--nbi-layout-gutter)) !important;
  margin-right: calc(-1 * var(--nbi-layout-gutter)) !important;
  margin-top: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  padding: var(--nbi-footer-offset-top) var(--nbi-layout-gutter) var(--nbi-footer-padding-bottom) !important;
  width: calc(100% + 2 * var(--nbi-layout-gutter)) !important;
}

@media (min-width: 834px) {
  body footer.module-footer,
  body .module-footer {
    padding-bottom: var(--nbi-footer-padding-bottom) !important;
    padding-left: var(--nbi-layout-gutter) !important;
    padding-right: var(--nbi-layout-gutter) !important;
    padding-top: var(--nbi-footer-offset-top) !important;
  }
}

body .module-footer .footer-linklist {
  border-top: 1px solid var(--nbi-footer-separator-color) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 24px !important;
  margin-bottom: 0 !important;
  padding-top: var(--nbi-footer-padding-y) !important;
}

@media (min-width: 834px) {
  body .module-footer .footer-linklist {
    padding-top: var(--nbi-footer-padding-y-md) !important;
  }
}

@media (min-width: 1194px) {
  body .module-footer .footer-linklist {
    padding-top: var(--nbi-footer-padding-y-lg) !important;
  }
}

@media (min-width: 834px) {
  body .module-footer .footer-linklist .accordion-item {
    flex: 1 1 calc(25% - 18px) !important;
    margin: 0 0 48px !important;
    max-width: calc(25% - 18px) !important;
    padding: 0 !important;
    width: auto !important;
  }

  body .module-footer .footer-linklist .accordion-head {
    pointer-events: none !important;
  }

  body .module-footer .footer-linklist .accordion-icon {
    display: none !important;
  }
}

body .module-footer .footer-linklist .accordion-headline,
body .module-footer .accordion .accordion-headline,
body .module-footer .footer-linklist .accordion-head .accordion-headline,
body .module-footer h6.accordion-headline,
body .module-footer .accordion-head h6 {
  color: var(--nbi-color-nav-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1.6 !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}

body .module-footer ul.linklist {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .module-footer ul.linklist li {
  margin: 0 0 16px !important;
}

body .module-footer ul.linklist li:last-child {
  margin-bottom: 0 !important;
}

body .module-footer .footer-linklist a,
body .module-footer .accordion a,
body .module-footer ul.linklist li a {
  color: var(--nbi-color-nav-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.2s ease !important;
}

body .module-footer .footer-linklist a:hover,
body .module-footer .footer-linklist a:focus-visible,
body .module-footer .accordion a:hover,
body .module-footer .accordion a:focus-visible,
body .module-footer ul.linklist li a:hover,
body .module-footer ul.linklist li a:focus-visible {
  color: var(--nbi-blanco-blue-hover) !important;
  text-decoration: none !important;
}

body .module-footer .visit-us {
  align-items: flex-start !important;
  display: flex !important;
  flex: 0 0 100% !important;
  flex-direction: column !important;
  gap: 16px !important;
  justify-content: flex-start !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  body .module-footer .visit-us {
    align-items: center !important;
    flex-direction: row !important;
    gap: 24px !important;
    justify-content: space-between !important;
    padding: 16px 0 !important;
  }
}

body .module-footer .visit-us .headline {
  color: var(--nbi-color-nav-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

body .module-footer .visit-us .social-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 833px) {
  body .module-footer .visit-us .social-icons {
    justify-content: center !important;
  }

  body .module-footer .visit-us .headline {
    text-align: center !important;
    width: 100% !important;
  }
}

body .module-footer .visit-us .social-icons .s-icon {
  margin: 0 !important;
  padding: 0 !important;
}

body .module-footer .visit-us .social-icons .share-link {
  border: 0 !important;
  border-radius: 20% !important;
  display: block !important;
  height: 32px !important;
  position: relative !important;
  text-indent: -9999px !important;
  transition: filter 0.2s ease, opacity 0.2s ease !important;
  width: 32px !important;
}

body .module-footer .visit-us .social-icons .share-link::before {
  font-family: var(--nbi-font-icon) !important;
  font-size: 20px !important;
  height: 100% !important;
  left: 0 !important;
  line-height: 32px !important;
  position: absolute !important;
  text-align: center !important;
  text-indent: 0 !important;
  top: 0 !important;
  width: 100% !important;
}

body .module-footer .visit-us .social-icons .share-link:hover {
  filter: brightness(1.15) !important;
  opacity: 0.92 !important;
}

body .module-footer .footer-meta-nav {
  align-items: flex-end !important;
  border-top: 1px solid var(--nbi-footer-separator-color) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  justify-content: space-between !important;
  margin-top: 0 !important;
  padding: var(--nbi-footer-padding-y) 0 0 !important;
}

@media (min-width: 834px) {
  body .module-footer .footer-meta-nav {
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    padding-top: 32px !important;
  }
}

body .module-footer .footer-meta-nav .item {
  margin-top: 0 !important;
}

body .module-footer .footer-meta-nav .left.item a {
  align-items: center !important;
  color: var(--nbi-color-nav-fg) !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  gap: 16px !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  padding-left: 48px !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.2s ease !important;
}

body .module-footer .footer-meta-nav .left.item a::before {
  font-family: var(--nbi-font-icon) !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  left: 0 !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

body .module-footer .footer-meta-nav .left.item a:hover,
body .module-footer .footer-meta-nav .left.item a:focus-visible {
  color: var(--nbi-blanco-blue-hover) !important;
  text-decoration: none !important;
}

body .module-footer .footer-meta-nav .middle.item {
  align-items: center !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-wrap: wrap !important;
  gap: 16px 24px !important;
  height: auto !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}

@media (min-width: 834px) {
  body .module-footer .footer-meta-nav .middle.item {
    justify-content: flex-start !important;
  }
}

body .module-footer .footer-meta-nav .middle.item a {
  color: var(--nbi-color-nav-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.2s ease !important;
}

body .module-footer .footer-meta-nav .middle.item a:hover,
body .module-footer .footer-meta-nav .middle.item a:focus-visible {
  color: var(--nbi-blanco-blue-hover) !important;
  text-decoration: none !important;
}

body .module-footer .footer-meta-nav .right.item {
  align-self: center !important;
  margin-left: 0 !important;
  text-align: center !important;
}

@media (min-width: 834px) {
  body .module-footer .footer-meta-nav .right.item {
    align-self: center !important;
    margin-left: auto !important;
    text-align: right !important;
  }
}

body .module-footer .footer-meta-nav .right.item span {
  color: var(--nbi-blanco-blue-hover) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

@media (max-width: 833px) {
  body .module-footer .footer-linklist .accordion-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
    flex: none !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  body .module-footer .footer-linklist .accordion-head {
    cursor: pointer !important;
    pointer-events: auto !important;
  }
}


/* ==========================================================================
   Faz 26 — Header logo (CMS 96px) + footer typography lock (font-primary-local)
   ========================================================================== */

body header#header-2018 .main-navigation #logo,
body header#header-2018 #logo {
  display: flex !important;
  height: auto !important;
  left: auto !important;
  margin: 0 !important;
  max-width: var(--nbi-header-logo-max-sm) !important;
  min-width: 90px !important;
  padding: 0 !important;
  position: relative !important;
  top: auto !important;
  transform: none !important;
  width: var(--nbi-header-logo-max-sm) !important;
}

@media (min-width: 834px) {
  body header#header-2018 .main-navigation #logo,
  body header#header-2018 #logo {
    max-width: var(--nbi-header-logo-max) !important;
    width: var(--nbi-header-logo-max) !important;
  }
}

body header#header-2018 .main-navigation #logo img,
body header#header-2018 #logo img {
  height: auto !important;
  filter: brightness(0) invert(1) !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* CMS: .module-footer ul.linklist li a { font-size:12px; uppercase } */
body .module-footer,
body .module-footer .footer-linklist,
body .module-footer .footer-meta-nav,
body .module-footer .visit-us {
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
}

body .module-footer ul.linklist li a,
body .module-footer .footer-linklist .accordion-content a,
body .module-footer .footer-linklist .content a,
body .module-footer .accordion-content .linklist a {
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

body .module-footer .footer-meta-nav .left.item a {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}


/* ==========================================================================
   Faz 27 — Typography system (blanco.com) — global font + size lock
   --------------------------------------------------------------------------
   font-primary-local (--nbi-font-primary)
     body, meta-bar, header nav, breadcrumbs, footer, forms, inputs, buttons,
     tables, flyout links, richtext body (p, li, label, td), tiles body copy
     sizes: 16px default | 14px secondary | 12px flyout fine print | 18–20px lead

   valizas (--nbi-font-heading / --nbi-font-display)
     #page-wrapper titles: .h2, .h3, .headline, .module-headline h1,
     richtext h2/h3 in text-media, form section headlines, flyout figure titles
     sizes: 32/40px h2 | 24/32px h3 | uppercase display

   blanco-iconfont (--nbi-font-icon)
     ONLY icon ::before glyphs — never replace with font-primary-local
   ========================================================================== */

/* --- 1. UI shell --- */

body .meta-bar,
body .meta-bar .meta-link,
body .meta-bar .meta-link .direct-link,
body header#header-2018,
body header#header-2018 .main-navigation,
body header#header-2018 .main-navigation-link,
body header#header-2018 ~ ul.breadcrumb,
body header#header-2018 ~ ul.breadcrumb a,
body header#header-2018 ~ ul.breadcrumb li,
body header#header-2018 ~ ul.breadcrumb span,
body .module-footer {
  font-family: var(--nbi-font-primary) !important;
}

body header#header-2018 .main-navigation-link {
  font-size: var(--nbi-font-size-body) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* --- 2. Main content default --- */

body #page-wrapper {
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  line-height: var(--nbi-line-height-body) !important;
}

body #page-wrapper .rt-editor p,
body #page-wrapper .rt-editor li,
body #page-wrapper .rt-editor td,
body #page-wrapper .rt-editor th,
body #page-wrapper .rt-editor label,
body #page-wrapper .module-container,
body #page-wrapper .module-container p,
body #page-wrapper .linklist a,
body #page-wrapper ul.linklist li a,
body #page-wrapper .tile-container .text,
body #page-wrapper .tile-container p,
body #page-wrapper .infobox p,
body #page-wrapper .module-login,
body #page-wrapper .module-login label,
body #page-wrapper .module-login input,
body #page-wrapper .module-login button,
body #page-wrapper .module-form label,
body #page-wrapper .module-form input:not([type="checkbox"]):not([type="radio"]),
body #page-wrapper .module-form select,
body #page-wrapper .module-form textarea,
body #page-wrapper .module-form .form-group,
body #page-wrapper .module-form p,
body #page-wrapper .responsive-table,
body #page-wrapper .responsive-table table,
body #page-wrapper .responsive-table th,
body #page-wrapper .responsive-table td,
body #page-wrapper .module-table,
body #page-wrapper .module-table table,
body #page-wrapper .module-table th,
body #page-wrapper .module-table td {
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

/* Buttons → canonical BUTTONS block · extra CMS modules → Faz 28 */

/* --- 3. Display headings (valizas) — do not apply to body copy --- */

body #page-wrapper .h2,
body #page-wrapper h1.h2,
body #page-wrapper h2.h2,
body #page-wrapper h1:not(.btn):not(.h3),
body #page-wrapper h3.h3,
body #page-wrapper h3.headline,
body #page-wrapper .headline,
body #page-wrapper .module-headline h1,
body #page-wrapper .module-headline h1.h2,
body #page-wrapper .module-form .contact-box .headline,
body #page-wrapper .module-form .contact-box h3.headline,
body header#header-2018 .main-navigation .navigation-points .figure .caption .headline {
  font-family: var(--nbi-font-heading) !important;
  letter-spacing: normal !important;
  text-transform: uppercase !important;
}

body #page-wrapper .h2,
body #page-wrapper h1.h2,
body #page-wrapper h2.h2,
body #page-wrapper .module-headline h1,
body #page-wrapper .module-headline h1.h2 {
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-tight) !important;
}

@media (min-width: 834px) {
  body #page-wrapper .h2,
  body #page-wrapper h1.h2,
  body #page-wrapper h2.h2,
  body #page-wrapper .module-headline h1,
  body #page-wrapper .module-headline h1.h2 {
    font-size: var(--nbi-h1-size-desktop) !important;
  }
}

body #page-wrapper h3.h3,
body #page-wrapper h3.headline,
body #page-wrapper .headline:not(h2) {
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-tight) !important;
}

@media (min-width: 834px) {
  body #page-wrapper h3.h3,
  body #page-wrapper h3.headline,
  body #page-wrapper .headline:not(h2) {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

/* Subline / notice — UI font, not valizas (homepage hero + inner intro) */
body #page-wrapper .module-headline h2,
body #page-wrapper .module-headline h2.h3,
body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child h2.h3 {
  font-family: var(--nbi-font-primary) !important;
  text-transform: none !important;
}

/* --- 4. Flyout fine print (12px — blanco nav captions) --- */

body header#header-2018 .main-navigation .navigation-points .figure .caption {
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-xs) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* --- 5. Icon glyphs — preserve blanco-iconfont --- */

body .meta-bar .meta-link .icon::before,
body .meta-bar .meta-links .meta-link .icon::before,
body .module-footer .share-link::before,
body .module-footer .footer-meta-nav .left.item a::before,
body .icon::before,
body i.icon::before,
body .share-link::before {
  font-family: var(--nbi-font-icon) !important;
}


/* ==========================================================================
   Faz 28 — BODY catch-all (CMS 12px / uppercase modules outside Faz 27 §2)
   Covered elsewhere: .rt-editor, .module-container, .tile-container, .infobox p,
   .linklist, login/form fields (Faz 27) · breadcrumb copy (REFERENCE §3) · FAQ (Faz 42)
   ========================================================================== */

body #page-wrapper :is(
  .module-brochure-download,
  .module-brochure-download a,
  .module-brochure-download .linklist a,
  .module-dealer-search-small,
  .module-dealer-search-small a,
  .module-dealer-search-small label,
  .module-dealer-search-international-variation,
  .module-dealer-search-international-variation a,
  .module-dealer-search-international-variation label,
  .module-search,
  .module-search input,
  .module-search label,
  .module-search a,
  .module-centered-text,
  .module-centered-text p,
  .module-centered-text a,
  .module-general-teasers,
  .module-general-teasers p,
  .module-general-teasers a,
  .module-sales-representatives,
  .module-sales-representatives p,
  .module-sales-representatives a,
  .module-sales-representatives li,
  .module-contact-information,
  .module-contact-information p,
  .module-contact-information a,
  .module-addresses,
  .module-addresses p,
  .module-addresses a,
  .module-video .caption,
  .module-video p,
  .module-big-image-slider .caption,
  .module-big-image-slider p:not(.stage-headline),
  .module-stage .stage-copy,
  .module-themen-board .teaser-text,
  .module-themen-board .teaser-text p,
  .infobox li,
  .infobox a,
  .form-select,
  .form-select option,
  .checkbox label,
  .radio label,
  small,
  figcaption,
  legend
) {
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

/* Form validation — blanco secondary 14px (not 12px CMS) */
body #page-wrapper .form-group .error-message,
body #page-wrapper .module-login .error-message,
body #page-wrapper .module-form .error-message,
body #page-wrapper .has-error .help-block {
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
}

/* Old-browser overlay */
body #old-browser-layer,
body #old-browser-layer p,
body #old-browser-layer a:not(.btn) {
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
}

body #old-browser-layer h2,
body #old-browser-layer .headline {
  font-family: var(--nbi-font-heading) !important;
}

/* Display titles + accordion rows + icons → Faz 18, Faz 27 §3–§5, Faz 42 */


/* ==========================================================================
   Faz 30 — Header flyout dropdown (blanco.com .navigation-menu__viewport)
   Scope: header#header-2018 .navigation-points .flyout ONLY — no page content
   Ref: #1b1168 panel, #fff / #b2bbe8 links, 16px primary, hover underline, chevron
   ========================================================================== */

/* --- Panel shell (beats CMS white flyout + blue #339 links) --- */

body header#header-2018 .main-navigation .navigation-points .flyout,
body header#header-2018 .main-navigation .navigation-points .flyout.active {
  background-color: var(--nbi-flyout-bg) !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content,
body header#header-2018 .main-navigation .navigation-points .flyout .flyout-inner,
body header#header-2018 .main-navigation .navigation-points .flyout .left-content {
  color: var(--nbi-flyout-fg);
}

/* --- Category links (second-level + submenu) --- */

/* --- Flyout nav rows — blanco.de .navigation-menu-sub-item__link (all rows identical) --- */

body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-sizing: border-box !important;
  color: var(--nbi-flyout-fg) !important;
  cursor: pointer !important;
  display: flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-flyout-category-size) !important;
  font-weight: 700 !important;
  gap: var(--nbi-flyout-icon-gap) !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 12px 32px 12px 0 !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.2s ease !important;
  width: 100% !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems {
  align-items: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  box-sizing: border-box !important;
  color: var(--nbi-flyout-fg) !important;
  cursor: pointer !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-flyout-category-size) !important;
  font-weight: 400 !important;
  gap: 0 !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 8px 32px 8px 56px !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: text-decoration-color 0.2s ease !important;
  width: 100% !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:hover,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:hover,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:focus-visible,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:focus-visible {
  color: var(--nbi-flyout-muted) !important;
  text-decoration: none !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:hover,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems:hover,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:focus-visible,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems:focus-visible {
  color: var(--nbi-flyout-fg) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.3em !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a.active,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems.active,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a.active,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems.active {
  color: var(--nbi-flyout-fg) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* CMS divider rows — not blanco (remove gray ::after bars) */
body header#header-2018 .main-navigation .navigation-points .flyout .second-level li a::after,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level li .has-subitems::after,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li a::after,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li .has-subitems::after {
  content: none !important;
  display: none !important;
  height: 0 !important;
}

/* Circle + chevron — every flyout link row (incl. Zur Übersicht) */
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems::before {
  background-color: var(--nbi-blanco-blue) !important;
  background-image: var(--nbi-flyout-icon-arrow) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: var(--nbi-flyout-chevron-size) var(--nbi-flyout-chevron-size) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  height: var(--nbi-flyout-icon-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  width: var(--nbi-flyout-icon-size) !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:focus-visible::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:focus-visible::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:focus-visible::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems:focus-visible::before {
  background-color: var(--nbi-blanco-blue) !important;
  background-image: var(--nbi-flyout-icon-arrow) !important;
  transform: none !important;
}

/* Mobile back row */
body header#header-2018 .main-navigation .navigation-points .flyout .back-button {
  background: transparent !important;
  border: 0 !important;
  color: var(--nbi-flyout-muted) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  padding: 12px 32px 12px 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .back-button:hover {
  color: var(--nbi-flyout-fg) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .second-level .back-button::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu .back-button::before {
  color: currentColor !important;
  content: "\e918" !important;
  display: inline-block !important;
  font-family: var(--nbi-font-icon) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin-right: 8px !important;
  position: static !important;
  transform: none !important;
  vertical-align: middle !important;
}

@media (min-width: 1248px) {
  body header#header-2018 .main-navigation .navigation-points .flyout .back-button {
    display: none !important;
  }
}

.burger-navigation body header#header-2018 .main-navigation .navigation-points .flyout .back-button {
  cursor: pointer;
  display: block !important;
}

/* --- Teaser figure (image + caption) --- */

body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption,
body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption p,
body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption generic {
  color: var(--nbi-flyout-muted) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-xs) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption .headline,
body header#header-2018 .main-navigation .navigation-points .flyout p.headline {
  color: var(--nbi-flyout-fg) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

@media (min-width: 1248px) {
  body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption .headline {
    font-size: var(--nbi-font-size-xl) !important;
  }
}

body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption .text-link {
  color: var(--nbi-flyout-fg) !important;
  display: inline !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  margin-top: 12px !important;
  padding: 0 !important;
  position: static !important;
  text-decoration: none !important;
  text-transform: none !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption .text-link:hover,
body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption .text-link:focus-visible {
  color: var(--nbi-flyout-muted) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.3em !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .figure .caption .text-link::before {
  content: none !important;
  display: none !important;
}

/* Lists — blanco spacing */
body header#header-2018 .main-navigation .navigation-points .flyout .second-level,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 0 24px !important;
}

@media (min-width: 1248px) {
  body header#header-2018 .main-navigation .navigation-points .flyout .second-level,
  body header#header-2018 .main-navigation .navigation-points .flyout .submenu {
    padding-left: 40px !important;
  }
}

body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Burger overlay — touch padding (mobile flyout gutter → §31 EOF) */
@media (min-width: 1248px) {
  .burger-navigation body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a,
  .burger-navigation body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems,
  .burger-navigation body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a,
  .burger-navigation body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems {
    padding: 12px 40px 12px 0 !important;
  }
}


/* ==========================================================================
   Faz 31 — Login page UI (blanco.com account / .form-text-field + .button--large)
   Scope: #page-wrapper:has(.module-login) only — header/footer/flyout untouched
   ========================================================================== */

/* --- Page shell --- */

body #page-wrapper:has(.module-login) {
  background-color: #fff !important;
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}

@media (min-width: 1194px) {
  body #page-wrapper:has(.module-login) {
    align-items: start;
    column-gap: 64px;
    display: grid !important;
    grid-template-areas:
      "headline headline"
      "main infobox";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 0;
  }

  body #page-wrapper:has(.module-login):not(:has(> .module-infobox-text)) {
    grid-template-areas:
      "headline headline"
      "main .";
    grid-template-columns: minmax(0, 560px) 1fr;
  }
}

/* --- Intro headline (valizas — blanco section title) --- */

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(.module-login) > .module.module-headline:first-child {
  grid-area: headline;
  margin: 0 !important;
  max-width: none !important;
  padding: var(--nbi-page-intro-padding-y) 0 var(--nbi-dist-v) !important;
  text-align: left !important;
  width: 100% !important;
}

body #page-wrapper:has(.module-login) > .module.module-headline:first-child h1,
body #page-wrapper:has(.module-login) > .module.module-headline:first-child h1.h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(.module-login) > .module.module-headline:first-child {
    padding: var(--nbi-page-intro-padding-y-md) 0 var(--nbi-dist-v) !important;
  }

  body #page-wrapper:has(.module-login) > .module.module-headline:first-child h1,
  body #page-wrapper:has(.module-login) > .module.module-headline:first-child h1.h2 {
    font-size: var(--nbi-h1-size-desktop) !important;
    margin-bottom: 32px !important;
  }
}

@media (min-width: 1194px) {
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(.module-login) > .module.module-headline:first-child {
    padding: var(--nbi-page-intro-padding-y-lg) 0 48px !important;
  }
}

body #page-wrapper:has(.module-login) > .module.module-headline:first-child .rt-editor p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  max-width: 640px;
  text-align: left !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  body #page-wrapper:has(.module-login) > .module.module-headline:first-child .rt-editor p {
    font-size: var(--nbi-font-size-lg) !important;
  }
}

/* --- Login form column (kill CMS 144px side margins + underline inputs) --- */

body #page-wrapper:has(.module-login) .module-login {
  box-sizing: border-box !important;
  grid-area: main;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 0 48px !important;
  width: 100% !important;
}

@media (min-width: 1194px) {
  body #page-wrapper:has(.module-login) .module-login {
    max-width: var(--nbi-login-form-max);
    padding-bottom: var(--nbi-block-padding-y) !important;
  }
}

body #page-wrapper:has(.module-login) .module-login form {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-login-stack-gap) !important;
  margin: 0 !important;
  max-width: var(--nbi-login-form-max) !important;
  width: 100% !important;
}

body #page-wrapper:has(.module-login) .module-login input[type="text"],
body #page-wrapper:has(.module-login) .module-login input[type="password"],
body #page-wrapper:has(.module-login) .module-login input[type="email"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 0 16px !important;
  width: 100% !important;
}

body #page-wrapper:has(.module-login) .module-login .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
}

body #page-wrapper:has(.module-login) .module-login .form-group > label.field-label {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 !important;
  text-transform: none !important;
}

body #page-wrapper:has(.module-login) .module-login .login-remember-row {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  justify-content: space-between !important;
  margin: 0 !important;
}

body #page-wrapper:has(.module-login) .module-login .login-remember-row .remember-me {
  align-items: center !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  gap: 8px !important;
  margin: 0 !important;
}

body #page-wrapper:has(.module-login) .module-login .login-remember-row .remember-me input[type="checkbox"] {
  height: 30px !important;
  width: 30px !important;
}

body #page-wrapper:has(.module-login) .module-login .login-links-row {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin: 0 !important;
}

body #page-wrapper:has(.module-login) .module-login .login-links-row > span {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  text-transform: none !important;
}

body #page-wrapper:has(.module-login) .module-login input + input {
  margin-top: 0 !important;
}

body #page-wrapper:has(.module-login) .module-login input::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

body #page-wrapper:has(.module-login) .module-login input:hover {
  border-color: var(--nbi-field-border-hover) !important;
}

body #page-wrapper:has(.module-login) .module-login input:focus {
  border-color: var(--nbi-blanco-blue) !important;
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

body #page-wrapper:has(.module-login) .module-login.error input[type="text"],
body #page-wrapper:has(.module-login) .module-login.error input[type="password"] {
  border-color: var(--nbi-color-error) !important;
  color: var(--nbi-color-error) !important;
}

body #page-wrapper:has(.module-login) .module-login .error-message {
  color: var(--nbi-color-error) !important;
  display: none;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  text-align: left !important;
}

body #page-wrapper:has(.module-login) .module-login.error .error-message {
  display: block !important;
}

/* Submit — blanco .button--large black fill */
body #page-wrapper:has(.module-login) .module-login .btn,
body #page-wrapper:has(.module-login) .module-login .btn.btn-inverse,
body #page-wrapper:has(.module-login) .module-login button[type="submit"].btn {
  align-items: center !important;
  align-self: flex-start !important;
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  border-color: var(--nbi-btn-fill-bg) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: #fff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  height: auto !important;
  justify-content: center !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin: 8px 0 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  min-width: var(--nbi-btn-width-inline) !important;
  opacity: 1 !important;
  padding: var(--nbi-btn-padding-lg) !important;
  text-transform: none !important;
  width: auto !important;
}

body #page-wrapper:has(.module-login) .module-login .btn:hover,
body #page-wrapper:has(.module-login) .module-login .btn.btn-inverse:hover,
body #page-wrapper:has(.module-login) .module-login button[type="submit"].btn:hover {
  background-color: var(--nbi-btn-fill-bg-hover) !important;
  border-color: var(--nbi-btn-fill-bg-hover) !important;
  color: #fff !important;
}

body #page-wrapper:has(.module-login) .module-login .btn::before,
body #page-wrapper:has(.module-login) .module-login button[type="submit"].btn::before {
  content: none !important;
  display: none !important;
}

/* Secondary links — blanco login (blue, underlined) */
body #page-wrapper:has(.module-login) .module-login .text-link {
  color: var(--nbi-content-link-color) !important;
  display: inline !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-transform: none !important;
}

body #page-wrapper:has(.module-login) .module-login .login-remember-row .text-link {
  margin-left: auto !important;
}

body #page-wrapper:has(.module-login) .module-login .text-link:hover,
body #page-wrapper:has(.module-login) .module-login .text-link:focus-visible {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
}

body #page-wrapper:has(.module-login) .module-login .text-link::before {
  content: none !important;
  display: none !important;
}

/* Support block */
body #page-wrapper:has(.module-login) .module-login .additional-information {
  border-top: 1px solid var(--nbi-color-light-bg) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 24px 0 0 !important;
  padding-top: 24px !important;
  text-align: left !important;
  text-transform: none !important;
}

body #page-wrapper:has(.module-login) .module-login .additional-information a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em;
}

body #page-wrapper:has(.module-login) .module-login .additional-information a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* Help infobox — right column (when present) */
body #page-wrapper:has(.module-login) > .module-infobox-text {
  align-self: start !important;
  background-color: var(--nbi-color-light-bg) !important;
  box-sizing: border-box !important;
  grid-area: infobox !important;
  margin: 0 0 48px !important;
  max-width: none !important;
  padding: 32px 28px !important;
  width: 100% !important;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .infobox,
body #page-wrapper:has(.module-login) > .module-infobox-text .infobox-text-container {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .infobox-text-container > .text:not(:has(.rt-editor)) {
  display: none !important;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .text .rt-editor h3,
body #page-wrapper:has(.module-login) > .module-infobox-text .text .rt-editor h3.h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .rt-editor,
body #page-wrapper:has(.module-login) > .module-infobox-text .rt-editor p,
body #page-wrapper:has(.module-login) > .module-infobox-text .rt-editor li {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .rt-editor li {
  margin-bottom: 12px !important;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .rt-editor li:last-child {
  margin-bottom: 0 !important;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .rt-editor a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em;
}

body #page-wrapper:has(.module-login) > .module-infobox-text .rt-editor a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

@media (min-width: 834px) {
  body #page-wrapper:has(.module-login) > .module-infobox-text {
    margin-bottom: 64px !important;
    padding: 40px 32px !important;
  }

  body #page-wrapper:has(.module-login) .module-login {
    padding-bottom: 64px !important;
  }
}

@media (min-width: 1194px) {
  body #page-wrapper:has(.module-login) > .module-infobox-text {
    margin-bottom: var(--nbi-block-padding-y) !important;
  }

  body #page-wrapper:has(.module-login) .module-login {
    padding-bottom: var(--nbi-block-padding-y) !important;
  }
}


/* ==========================================================================
   Faz 32 — Inner pages: account grid + form shell (intro → REFERENCE PARITY §2)
   ========================================================================== */

/* --- Account-style layout: headline + login/form (+ optional infobox) --- */

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login),
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module.module-headline:first-child):has(> .module-form):not(:has(> .module-text-media)):not(:has(> .module-accordion)):not(:has(> .module-tiles)):not(:has(> .module-themen-board)):not(:has(> .module-sales-representatives)):not(:has(> .module-form > .module-container[data-view="contact-box"])):not(:has(> .module-form > .module-container[data-view="account-administration"])) {
  background-color: #fff !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
}

@media (min-width: 1194px) {
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login),
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module.module-headline:first-child):has(> .module-form):not(:has(> .module-text-media)):not(:has(> .module-accordion)):not(:has(> .module-tiles)):not(:has(> .module-themen-board)):not(:has(> .module-sales-representatives)):not(:has(> .module-form > .module-container[data-view="contact-box"])):not(:has(> .module-form > .module-container[data-view="account-administration"])) {
    align-items: start;
    column-gap: 64px;
    display: grid !important;
    grid-template-areas:
      "headline headline"
      "main infobox";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 0;
  }

  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login):not(:has(> .module-infobox-text)),
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-infobox-text)):not(:has(> .module-text-media)):not(:has(> .module-form > .module-container[data-view="contact-box"])):not(:has(> .module-form > .module-container[data-view="account-administration"])) {
    grid-template-areas:
      "headline headline"
      "main .";
    grid-template-columns: minmax(0, 560px) 1fr;
  }
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module.module-headline:first-child,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)):not(:has(> .module-form > .module-container[data-view="contact-box"])):not(:has(> .module-form > .module-container[data-view="account-administration"])) > .module.module-headline:first-child {
  grid-area: headline;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-login,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)):not(:has(> .module-form > .module-container[data-view="contact-box"])):not(:has(> .module-form > .module-container[data-view="account-administration"])) > .module-form {
  grid-area: main;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text {
  grid-area: infobox;
}

/* --- Forms: kill CMS underline inputs + side margins (all #page-wrapper forms) --- */

body #page-wrapper .module-login,
body #page-wrapper .module-form {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body #page-wrapper .module-login form,
body #page-wrapper .module-form .contact-box.less-offset,
body #page-wrapper .module-form .contact-box:has(.controls.vertical-layout) {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  margin: 0 !important;
  max-width: var(--nbi-content-form-max) !important;
  width: 100% !important;
}

/* Registration step 1 — two-column shell */
body #page-wrapper .module-form .contact-box.less-offset:has(.contact-information > .column.left):has(.contact-information > .column.right) {
  max-width: var(--nbi-content-form-max-wide) !important;
}

body #page-wrapper .module-form .module-container[data-view="contact-box"] .contact-box,
body #page-wrapper .module-form .contact-box[data-view="account-administration"],
body #page-wrapper .module-form .module-container[data-view="account-administration"] .contact-box {
  max-width: var(--nbi-content-form-max-wide) !important;
}

body #page-wrapper .module-form .contact-information {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-form .contact-information {
    flex-direction: row !important;
    gap: var(--nbi-section-gap) !important;
  }

  body #page-wrapper .module-form .contact-information > .column {
    flex: 1;
    min-width: 0;
  }
}

body #page-wrapper .module-form .form-group,
body #page-wrapper .module-login form > input {
  margin-bottom: 0 !important;
}

body #page-wrapper .module-form .form-group {
  margin-top: 0 !important;
}

body #page-wrapper .module-login input[type="text"],
body #page-wrapper .module-login input[type="password"],
body #page-wrapper .module-login input[type="email"],
body #page-wrapper .module-form .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="file"]),
body #page-wrapper .module-form .form-group select,
body #page-wrapper .module-form .form-group textarea {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px !important;
  width: 100% !important;
}

body #page-wrapper .module-login input::placeholder,
body #page-wrapper .module-form .form-group input::placeholder,
body #page-wrapper .module-form .form-group textarea::placeholder {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

body #page-wrapper .module-login input:hover,
body #page-wrapper .module-form .form-group input:not([type="checkbox"]):not([type="radio"]):hover,
body #page-wrapper .module-form .form-group select:hover,
body #page-wrapper .module-form .form-group textarea:hover {
  border-color: var(--nbi-field-border-hover) !important;
}

body #page-wrapper .module-login input:focus,
body #page-wrapper .module-form .form-group input:not([type="checkbox"]):not([type="radio"]):focus,
body #page-wrapper .module-form .form-group select:focus,
body #page-wrapper .module-form .form-group textarea:focus {
  border-color: var(--nbi-blanco-blue) !important;
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

body #page-wrapper .module-form .form-group.has-error input,
body #page-wrapper .module-login.error input[type="text"],
body #page-wrapper .module-login.error input[type="password"] {
  border-color: var(--nbi-color-error) !important;
  color: var(--nbi-color-error) !important;
}

body #page-wrapper .module-login .error-message,
body #page-wrapper .module-form .form-group .error-message {
  color: var(--nbi-color-error) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 4px 0 0 !important;
  text-align: left !important;
}

body #page-wrapper .module-form .form-group label,
body #page-wrapper .module-form .form-group .label,
body #page-wrapper .module-form .form-group .row > .label {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
}

/* Primary submit — black fill, 48px on account flows */
body #page-wrapper .module-login .btn,
body #page-wrapper .module-login .btn.btn-inverse,
body #page-wrapper .module-login button[type="submit"].btn,
body #page-wrapper .module-form .controls.vertical-layout .btn.btn-inverse,
body #page-wrapper .module-form .controls.vertical-layout .btn.submit,
body #page-wrapper .module-form .contact-box.less-offset .btn.btn-inverse.submit {
  align-items: center !important;
  align-self: flex-start !important;
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: #fff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  height: auto !important;
  justify-content: center !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  opacity: 1 !important;
  padding: var(--nbi-btn-padding-lg) !important;
  text-transform: none !important;
  width: auto !important;
}

body #page-wrapper .module-login .btn:hover,
body #page-wrapper .module-login .btn.btn-inverse:hover,
body #page-wrapper .module-login button[type="submit"].btn:hover,
body #page-wrapper .module-form .controls.vertical-layout .btn.btn-inverse:hover,
body #page-wrapper .module-form .controls.vertical-layout .btn.submit:hover,
body #page-wrapper .module-form .contact-box.less-offset .btn.btn-inverse.submit:hover {
  background-color: var(--nbi-btn-fill-bg-hover) !important;
  border-color: var(--nbi-btn-fill-bg-hover) !important;
  color: #fff !important;
}

body #page-wrapper .module-form .controls {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--nbi-content-actions-gap) !important;
  margin-top: 8px !important;
}

body #page-wrapper .module-form .controls .btn.reset {
  background-color: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  width: auto !important;
}

body #page-wrapper .module-form .controls .btn.reset:hover {
  border-color: var(--nbi-field-border-hover) !important;
  color: var(--nbi-color-text) !important;
}

/* Text links — blanco.com (16px, underline on hover; not legacy blue blocks) */
body #page-wrapper .text-link {
  color: var(--nbi-content-link-color) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-transform: none !important;
  text-underline-offset: 0.3em;
}

body #page-wrapper .text-link:hover,
body #page-wrapper .text-link:focus-visible {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
}

body #page-wrapper .text-link::before {
  content: none !important;
  display: none !important;
}

body #page-wrapper .module-login .additional-information {
  border-top: 1px solid var(--nbi-color-light-bg) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 24px 0 0 !important;
  padding-top: 24px !important;
  text-align: left !important;
}

body #page-wrapper .module-login .additional-information a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em;
}

body #page-wrapper .module-login .additional-information a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* Body copy links in modules (not buttons / tiles) */
body #page-wrapper .rt-editor a:not(.btn):not(.text-link):not(.tile-container),
body #page-wrapper .module-text-media a:not(.btn):not(.tile-container),
body #page-wrapper .module-infobox-text .rt-editor a:not(.btn) {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em;
}

body #page-wrapper .rt-editor a:not(.btn):not(.text-link):hover,
body #page-wrapper .module-text-media a:not(.btn):not(.tile-container):hover,
body #page-wrapper .module-infobox-text .rt-editor a:not(.btn):hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* Help infobox — sidebar on login / registration (not mid-page image+text infobox) */
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module.module-headline:first-child + .module-infobox-text {
  align-self: start !important;
  background-color: var(--nbi-color-light-bg) !important;
  box-sizing: border-box !important;
  margin: 0 0 48px !important;
  max-width: none !important;
  padding: 32px 28px !important;
  width: 100% !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form) > .module.module-headline:first-child + .module-infobox-text {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .infobox,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .infobox-text-container,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .infobox,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .infobox-text-container {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .text .rt-editor h3,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .text .rt-editor h3.h3,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .text .rt-editor h3,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .text .rt-editor h3.h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .rt-editor,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .rt-editor p,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .rt-editor li,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .rt-editor,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .rt-editor p,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .rt-editor li {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text,
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text {
    margin-bottom: 64px !important;
    padding: 40px 32px !important;
  }
}

@media (min-width: 1194px) {
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text,
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text {
    margin-bottom: var(--nbi-block-padding-y) !important;
  }
}

/* ==========================================================================
   Faz 33 — Kontakt page = login UI parity (fonts, 48px fields, spacing, submit)
   Scope: [data-view="contact-box"] / #contact-form only
   ========================================================================== */

/* Page shell — same rhythm as login (no CMS 80px+80px double section padding) */
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) {
  background-color: #fff !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
}

/* Page intro — same hierarchy as login (h1 Valizas + optional h2 tagline + rt-editor p) */
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child {
  margin: 0 !important;
  max-width: none !important;
  padding: var(--nbi-page-intro-padding-y) 0 var(--nbi-dist-v) !important;
  text-align: left !important;
  width: 100% !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child h1,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child h1.h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  max-width: none !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child:has(> h2.h3) > h1,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child:has(> h2.h3) > h1.h2 {
  margin-bottom: 16px !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child h2.h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 16px !important;
  max-width: 640px !important;
  text-align: left !important;
  text-transform: none !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child .rt-editor {
  margin: 0 !important;
  max-width: none !important;
  text-align: left !important;
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child .rt-editor p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  max-width: 640px !important;
  text-align: left !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child {
    padding: var(--nbi-page-intro-padding-y-md) 0 var(--nbi-dist-v) !important;
  }

  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child h1,
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child h1.h2 {
    font-size: var(--nbi-h1-size-desktop) !important;
    margin-bottom: 32px !important;
  }

  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child:has(> h2.h3) > h1,
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child:has(> h2.h3) > h1.h2 {
    margin-bottom: 24px !important;
  }

  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child h2.h3,
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child .rt-editor p {
    font-size: var(--nbi-font-size-lg) !important;
  }
}

@media (min-width: 1194px) {
  body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child {
    padding: var(--nbi-page-intro-padding-y-lg) 0 48px !important;
  }
}

body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form > .module-container[data-view="contact-box"]) > .module.module-headline:first-child + .module-form {
  margin: 0 !important;
  max-width: none !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
  padding-top: var(--nbi-dist-v) !important;
  width: 100% !important;
}

body #page-wrapper .module-form.light:has(> .module-container[data-view="contact-box"]) {
  margin: 0 !important;
  padding: 0 !important;
}

body #page-wrapper .module-form .module-container[data-view="contact-box"] {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body #page-wrapper .module-form .module-container[data-view="contact-box"] #contact-form {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  margin: 0 auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  width: 100% !important;
}

/* Section titles — Valizas h3, login-like spacing below */
body #page-wrapper .module-form .module-container #contact-form .contact-step-one > .module_title,
body #page-wrapper .module-form .module-container #contact-form .contact-box .info .contact_title {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-form .module-container #contact-form .contact-step-one > .module_title,
  body #page-wrapper .module-form .module-container #contact-form .contact-box .info .contact_title {
    font-size: var(--nbi-h3-size-desktop) !important;
    margin-bottom: 24px !important;
  }
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .info p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 24px !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-form .module-container #contact-form .contact-box .info p {
    font-size: var(--nbi-font-size-lg) !important;
    margin-bottom: 32px !important;
  }
}

/* Step 1 + step 2 — 16px stack (login form gap) */
body #page-wrapper .module-form .module-container #contact-form .contact-step-one {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  margin: 0 !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper {
  gap: var(--nbi-content-stack-gap) !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper {
    gap: 32px !important;
  }
}

body #page-wrapper .module-form .module-container #contact-form .contact-box {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  margin: 0 !important;
  max-width: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .info {
  margin: 0 !important;
  max-width: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information {
  gap: var(--nbi-content-stack-gap) !important;
}

@media (min-width: 900px) {
  body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information {
    gap: 32px !important;
  }
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left,
body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.right,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column {
  gap: var(--nbi-content-stack-gap) !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  height: auto !important;
  position: static !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column .container.text {
  height: auto !important;
  min-height: 0 !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group > .textarea-wrapper {
  bottom: auto !important;
  left: auto !important;
  padding-bottom: 0 !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group > input#product-number {
  bottom: auto !important;
  left: auto !important;
  position: static !important;
  right: auto !important;
  width: 100% !important;
}

/* Fields — 48px boxed inputs (login .form-text-field--large) */
body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group input:not([type="file"]),
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group .textarea-wrapper textarea {
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-shadow: none !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 0 16px !important;
  text-transform: none !important;
  width: 100% !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select,
body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  padding: 12px 40px 12px 16px !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group .textarea-wrapper textarea {
  line-height: var(--nbi-line-height-body) !important;
  min-height: 120px !important;
  padding-top: 12px !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input::placeholder,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group input::placeholder,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group textarea::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select:focus,
body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select:focus,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group input:not([type="file"]):focus,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group .textarea-wrapper textarea:focus {
  border-color: var(--nbi-blanco-blue) !important;
  box-shadow: none !important;
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

/* Kontakt step 1 — issue radios: black circle + checkmark (not native blue accent) */
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio .form-group {
  margin: 0 !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio {
  cursor: pointer !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"] {
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  width: 1px !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio span.radio-text {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  min-height: 32px !important;
  padding: 4px 0 4px 40px !important;
  position: relative !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio span.radio-text::before {
  background-color: #fff !important;
  border: 1px solid var(--nbi-color-text) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  content: "" !important;
  display: block !important;
  height: 24px !important;
  left: 0 !important;
  position: absolute !important;
  top: 4px !important;
  width: 24px !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio span.radio-text::after {
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2.5 7.5 5.5 10.5 11.5 3.5'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 14px 14px !important;
  content: "" !important;
  display: block !important;
  height: 24px !important;
  left: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 4px !important;
  transition: opacity 0.15s ease !important;
  width: 24px !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"]:checked + span.radio-text::after {
  opacity: 1 !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"]:focus-visible + span.radio-text::before {
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

/* Visible labels — blanco.de / blanco.co.uk contact form */
body #page-wrapper .module-form .module-container #contact-form .form-group > label.field-label {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 0 0 !important;
  text-transform: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-information .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  position: relative !important;
}

/* Beat CMS position:absolute on .error-message (placeholder-era overlap with .field-label) */
body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group > .error-message,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group > .error-message {
  display: none !important;
  margin: 6px 0 0 !important;
  order: 3 !important;
  position: static !important;
  width: 100% !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group > label.field-label {
  order: 1 !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group > :is(input, select, textarea, .textarea-wrapper) {
  order: 2 !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.has-error > .error-message,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group.has-error > .error-message {
  display: block !important;
}

/* Upload block — blanco.de kontakt (outline + plus left of text) */
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.upload h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 8px !important;
  text-transform: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.upload p,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.upload .max_size_reached p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 16px !important;
}

body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"] {
  align-items: center !important;
  background: transparent !important;
  border: 1px solid var(--nbi-color-text) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  clear: none !important;
  color: var(--nbi-color-text) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 24px !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
  width: auto !important;
}

/* CMS style-cms-css: label:before uses iconfont \\e91b + position:absolute left:36px — reset fully */
body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]:before,
body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' d='M10 4v12M4 10h12'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 20px 20px !important;
  bottom: auto !important;
  content: "" !important;
  display: block !important;
  flex-shrink: 0 !important;
  font-family: inherit !important;
  font-size: 0 !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  height: 20px !important;
  left: auto !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  right: auto !important;
  text-transform: none !important;
  top: auto !important;
  transform: none !important;
  width: 20px !important;
  -webkit-font-smoothing: antialiased !important;
}

body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]:after,
body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]::after {
  content: none !important;
  display: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .upload .upload {
  align-items: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

body #page-wrapper .module-form .module-container #contact-form .upload .upload label.disabled {
  display: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]:hover {
  background: var(--nbi-color-text) !important;
  border-color: var(--nbi-color-text) !important;
  color: #fff !important;
}

body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]:hover:before,
body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' d='M10 4v12M4 10h12'/%3E%3C/svg%3E") !important;
}

body #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"] input[type="file"] {
  display: none !important;
}

/* Privacy + mandatory */
body #page-wrapper .module-form .module-container #contact-form .privacy {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  margin: 24px 0 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body #page-wrapper .module-form .module-container #contact-form .privacy .mandatory,
body #page-wrapper .module-form .module-container #contact-form .privacy .mandatory span {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
}

body #page-wrapper .module-form .module-container #contact-form .privacy .chk-box p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
}

/* Kontakt privacy checkboxes — black accent (not blue) */
body #page-wrapper .module-form .module-container #contact-form .privacy :is(.chk-box, .chk-box-broschuere) input[type="checkbox"] {
  accent-color: var(--nbi-color-text) !important;
}

body #page-wrapper .module-form .module-container #contact-form .privacy .error-message {
  color: var(--nbi-color-error) !important;
  font-size: var(--nbi-font-size-sm) !important;
}

/* Actions — 260px side-by-side, left-aligned (blanco contact form) */
body #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout) {
  align-items: flex-start !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  justify-content: flex-start !important;
  margin: 24px 0 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

/* CMS clearfix ::before/::after become flex items and offset buttons from the left */
body #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout)::before,
body #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout)::after {
  content: none !important;
  display: none !important;
  flex: 0 0 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

body #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout) .btn.submit,
body #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout) .btn.reset {
  flex: 0 0 var(--nbi-btn-width-inline) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: var(--nbi-btn-width-inline) !important;
  width: var(--nbi-btn-width-inline) !important;
}

body #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout) .btn.submit {
  align-items: center !important;
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  border-radius: var(--nbi-field-radius) !important;
  color: #fff !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  justify-content: center !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  opacity: 1 !important;
  order: 2 !important;
  padding: var(--nbi-btn-padding-lg) !important;
  text-transform: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .controls .btn.submit:hover {
  background-color: var(--nbi-btn-fill-bg-hover) !important;
  border-color: var(--nbi-btn-fill-bg-hover) !important;
  color: #fff !important;
}

body #page-wrapper .module-form .module-container #contact-form .controls .btn.submit::before {
  content: none !important;
  display: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .controls .btn.reset {
  background-color: transparent !important;
  border: 1px solid var(--nbi-color-text) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin: 0 !important;
  min-height: var(--nbi-btn-min-height) !important;
  order: 1 !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

body #page-wrapper .module-form .module-container #contact-form .controls .btn.reset:hover {
  background: var(--nbi-color-text) !important;
  border-color: var(--nbi-color-text) !important;
  color: #fff !important;
}

body #page-wrapper .module-form .module-container #contact-form .controls .btn.reset::before {
  content: none !important;
  display: none !important;
}

/* Validation messages — login error style */
body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-group.has-error > .error-message,
body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group.has-error > .error-message {
  color: var(--nbi-color-error) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 4px 0 12px !important;
  position: static !important;
}

/* --- Kontakt page shell = blanco.de order (intro → hotline/address → form) --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has([data-view="contact-box"]) {
  display: flex !important;
  flex-direction: column !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline,
html body #page-wrapper:has([data-view="contact-box"]) > #module_headline.module.module-headline {
  order: 1 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > .module-contact-information,
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-contact-information {
  order: 2 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > div:has([data-view="contact-box"]),
html body #page-wrapper:has([data-view="contact-box"]) > .module-form:has([data-view="contact-box"]) {
  order: 3 !important;
}

/* Shared inner column — headline, hotline/address, form (beats CMS 60px side margins) */
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child,
html body #page-wrapper:has([data-view="contact-box"]) > .module-form:has([data-view="contact-box"]),
html body #page-wrapper:has([data-view="contact-box"]) > .module-contact-information,
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-contact-information {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > .module-form:has([data-view="contact-box"]) {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > .module-form:has([data-view="contact-box"]) .module-container[data-view="contact-box"],
html body #page-wrapper:has([data-view="contact-box"]) > .module-form:has([data-view="contact-box"]) #contact-form {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  width: 100% !important;
}

/* Hotline + address — blanco.de kontaktieren-sie-uns */
html body #page-wrapper:has([data-view="contact-box"]) > .module-contact-information,
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-contact-information {
  margin-bottom: var(--nbi-block-padding-y) !important;
  margin-top: 0 !important;
  padding: 0 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > .module-contact-information > .module-container,
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-contact-information > .module-container {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 48px !important;
  grid-template-columns: none !important;
  margin: 0 auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding: 0 !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) > .module-contact-information > .module-container,
  html body #page-wrapper:has([data-view="contact-box"]) > .module.module-contact-information > .module-container {
    align-items: flex-start !important;
    flex-direction: row !important;
    gap: var(--nbi-block-gap) !important;
  }
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .phone,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .address {
  align-items: flex-start !important;
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  float: none !important;
  gap: 16px !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .phone,
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .address {
    flex: 1 1 0 !important;
    width: auto !important;
  }
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information h3.title {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information h3.title {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .phone > p,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .address > p {
  color: var(--nbi-page-intro-body-color) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  text-align: left !important;
}

@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .phone > p,
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .address > p {
    font-size: var(--nbi-font-size-lg) !important;
  }
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .number a {
  color: var(--nbi-blanco-blue) !important;
  display: inline-block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 32px !important;
  padding-left: 36px !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .number a::before {
  color: var(--nbi-blanco-blue) !important;
  content: "\e908" !important;
  display: inline-block !important;
  font-family: var(--nbi-font-icon) !important;
  font-size: 22px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  left: 0 !important;
  line-height: 1 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .approach a::before,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .maps a::before {
  content: none !important;
  display: none !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .number a:hover {
  color: var(--nbi-blanco-blue) !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .opening-times table {
  border-collapse: collapse !important;
  margin: 0 !important;
  width: auto !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .opening-times td {
  color: var(--nbi-page-intro-body-color) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  padding: 4px 16px 4px 0 !important;
  vertical-align: top !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .opening-times p.info {
  color: var(--nbi-color-text) !important;
  font-size: var(--nbi-font-size-sm) !important;
  margin: 8px 0 0 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .button-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-top: 16px !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .button-container > div {
  margin: 0 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .button-container > div + div {
  margin-left: 0 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .button-container .btn,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .approach a,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .maps a {
  align-items: center !important;
  background: transparent !important;
  border: 1px solid var(--nbi-color-text) !important;
  border-radius: var(--nbi-field-radius) !important;
  color: var(--nbi-color-text) !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: var(--nbi-btn-font-weight) !important;
  justify-content: center !important;
  line-height: var(--nbi-btn-line-height) !important;
  margin: 0 !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  position: static !important;
  text-decoration: none !important;
  text-transform: none !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .button-container .btn:hover,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .approach a:hover,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .maps a:hover {
  background: var(--nbi-color-text) !important;
  border-color: var(--nbi-color-text) !important;
  color: #fff !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .approach {
  margin-bottom: 0 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .divider {
  display: none !important;
}


/* Faz 35–37, 39, 40, 41 — removed (superseded by Faz 3 native radio + REFERENCE). See nbi/CSS-OPTIMIZATION.md */


/* ==========================================================================
   Faz 42 — FAQ / .module-accordion = blanco.com (CMS .accordion parity)
   Scope: #page-wrapper .module-accordion only — footer accordion untouched
   ========================================================================== */

/* Section title (h2.module-headline) — Valizas left, not CMS blue 36px center */
body #page-wrapper .module-accordion > .module-container > .module-headline,
body #page-wrapper .module-accordion .module-headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 32px !important;
  max-width: none !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-accordion > .module-container > .module-headline,
  body #page-wrapper .module-accordion .module-headline {
    font-size: var(--nbi-h3-size-desktop) !important;
    margin-bottom: 40px !important;
  }
}

body #page-wrapper .module-accordion > .module-container > .module-headline + .accordion,
body #page-wrapper .module-accordion .module-headline + .accordion {
  margin-top: 0 !important;
}

/* Module shell */
body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module-accordion,
body #page-wrapper > .module.module-accordion {
  box-sizing: border-box !important;
  margin-bottom: var(--nbi-block-padding-y) !important;
  padding: 0 0 var(--nbi-block-padding-y) !important;
  width: 100% !important;
}

body #page-wrapper .module-accordion > .module-container {
  margin: 0 auto !important;
  margin-bottom: 0 !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding-bottom: var(--nbi-section-padding-bottom) !important;
  width: 100% !important;
}

/* Rows */
body #page-wrapper .module-accordion .accordion-item {
  border-bottom: 1px solid rgba(175, 175, 175, 0.48) !important;
  margin: 0 !important;
}

body #page-wrapper .module-accordion .accordion-item:first-child {
  border-top: 1px solid rgba(175, 175, 175, 0.48) !important;
}

body #page-wrapper .module-accordion .accordion-head {
  align-items: center !important;
  cursor: pointer !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  justify-content: space-between !important;
  padding: 36px 0 !important;
  position: relative !important;
}

@media (max-width: 1247px) {
  body #page-wrapper .module-accordion .accordion-head {
    padding: 18px 0 !important;
  }
}

/* Question title — 24px regular (not 16px bold) */
body #page-wrapper .module-accordion .accordion-headline,
body #page-wrapper .module-accordion .accordion-head .accordion-headline,
body #page-wrapper .module-accordion .accordion-head h6.accordion-headline {
  color: var(--nbi-color-text) !important;
  display: inline-block !important;
  flex: 1 1 auto !important;
  font-family: font-primary-local, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif !important;
  font-size: 24px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 36px !important;
  margin: 0 !important;
  padding: 0 12px 0 0 !important;
  text-transform: none !important;
}

@media (max-width: 1247px) {
  body #page-wrapper .module-accordion .accordion-headline,
  body #page-wrapper .module-accordion .accordion-head .accordion-headline,
  body #page-wrapper .module-accordion .accordion-head h6.accordion-headline {
    font-size: 18px !important;
    line-height: 32px !important;
  }
}

/* Plus icon — blanco blue cross (36px), not Faz 12 black 20px bars */
body #page-wrapper .module-accordion .accordion-icon {
  color: transparent !important;
  flex-shrink: 0 !important;
  font-size: 0 !important;
  height: 36px !important;
  overflow: visible !important;
  position: relative !important;
  width: 36px !important;
}

@media (max-width: 1247px) {
  body #page-wrapper .module-accordion .accordion-icon {
    height: 16px !important;
    width: 16px !important;
  }
}

body #page-wrapper .module-accordion .accordion-icon::before,
body #page-wrapper .module-accordion .accordion-icon::after {
  background-color: var(--nbi-blanco-blue) !important;
  content: "" !important;
  position: absolute !important;
  transition: background-color 0.25s ease-out, transform 0.25s ease-out !important;
}

body #page-wrapper .module-accordion .accordion-icon::before {
  height: 100% !important;
  left: 50% !important;
  margin-left: -1px !important;
  opacity: 1 !important;
  top: 0 !important;
  transform: none !important;
  width: 2px !important;
}

body #page-wrapper .module-accordion .accordion-icon::after {
  height: 2px !important;
  left: 0 !important;
  margin-top: -1px !important;
  opacity: 1 !important;
  top: 50% !important;
  transform: none !important;
  width: 100% !important;
}

body #page-wrapper .module-accordion .accordion-item.open .accordion-icon::before,
body #page-wrapper .module-accordion .accordion-item.active .accordion-icon::before {
  background-color: var(--nbi-blanco-blue) !important;
  transform: rotate(90deg) !important;
}

body #page-wrapper .module-accordion .accordion-item.open .accordion-icon::after,
body #page-wrapper .module-accordion .accordion-item.active .accordion-icon::after {
  background-color: var(--nbi-blanco-blue) !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Collapse — preserve CMS JS height toggle */
body #page-wrapper .module-accordion .accordion-content {
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
}

body #page-wrapper .module-accordion .accordion-item.open .accordion-content,
body #page-wrapper .module-accordion .accordion-item.active .accordion-content {
  height: auto !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

body #page-wrapper .module-accordion .accordion-content .content {
  padding-bottom: 60px !important;
}

@media (max-width: 1247px) {
  body #page-wrapper .module-accordion .accordion-content .content {
    padding-bottom: 48px !important;
  }
}

@media (max-width: 767px) {
  body #page-wrapper .module-accordion .accordion-content .content {
    padding-bottom: 36px !important;
  }
}

/* Answer body — blanco .rt-editor p parity */
body #page-wrapper .module-accordion .accordion-content,
body #page-wrapper .module-accordion .accordion-content p,
body #page-wrapper .module-accordion .accordion-content li,
body #page-wrapper .module-accordion .accordion-content .rt-editor p {
  color: var(--nbi-color-text) !important;
  font-family: font-primary-local, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  text-transform: none !important;
}

body #page-wrapper .module-accordion .accordion-content p {
  margin: 0 0 16px !important;
}

body #page-wrapper .module-accordion .accordion-content p:last-child {
  margin-bottom: 0 !important;
}

body #page-wrapper .module-accordion .accordion-content a {
  color: var(--nbi-content-link-color) !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-thickness: var(--nbi-content-link-underline) !important;
  text-underline-offset: 2px !important;
}

body #page-wrapper .module-accordion .accordion-content a:hover {
  color: var(--nbi-content-link-color) !important;
  font-weight: 400 !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* Nested infobox inside FAQ — layout handled in Faz 43 */
body #page-wrapper .module-accordion .accordion-content .module-infobox-text {
  margin-top: 24px !important;
  padding: 0 !important;
  width: 100% !important;
}


/* ==========================================================================
   Faz 43 — .module-infobox-text (L5: CMS overrides + blanco look)
   Layout/spacing: L1 shell + L4 homepage rules — do NOT re-define gutters here
   ========================================================================== */

/* Inner pages — width only; vertical rhythm → REFERENCE §4 */
body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-infobox-text {
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

/* FAQ answer — no extra shell; accordion .module-container owns width */
body #page-wrapper .module-accordion .accordion-content .module-infobox-text {
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}

body #page-wrapper .module-infobox-text:has(.infobox-text-container > .infobox):has(.infobox-text-container > .text:has(.rt-editor)) {
  background: transparent !important;
}

/* Row — inner 1280px column (beats CMS width:816px / 1524px); shell gutters stay on #page-wrapper / homepage L4 */
body #page-wrapper .module-infobox-text .infobox-text-container,
body #page-wrapper .module-infobox-text .infobox-text-container::before,
body #page-wrapper .module-infobox-text .infobox-text-container::after {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  gap: var(--nbi-section-gap) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  width: 100% !important;
}

body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container,
body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container::before,
body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container::after {
  display: block !important;
  float: none !important;
  gap: 0 !important;
  grid-template-columns: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container > .infobox,
body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container > .text {
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-infobox-text .infobox-text-container:has(> .infobox):has(> .text:has(.rt-editor)) {
    align-items: stretch !important;
    display: grid !important;
    gap: 60px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  /* CMS .infobox-right — text left, grey box right */
  body #page-wrapper .module-infobox-text.infobox-right .infobox-text-container:has(> .infobox):has(> .text:has(.rt-editor)) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body #page-wrapper .module-infobox-text.infobox-right .infobox-text-container > .text {
    order: 1 !important;
  }

  body #page-wrapper .module-infobox-text.infobox-right .infobox-text-container > .infobox {
    order: 2 !important;
  }
}

body #page-wrapper .module-infobox-text .infobox-text-container > .infobox,
body #page-wrapper .module-infobox-text .infobox-text-container > .text,
body #page-wrapper .module-infobox-text .infobox-text-container > form {
  box-sizing: border-box !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* CMS .infobox-left/.infobox-right — kill width:1524px + float only */
body #page-wrapper .module-infobox-text.infobox-left .infobox-text-container,
body #page-wrapper .module-infobox-text.infobox-right .infobox-text-container,
body #page-wrapper .module-infobox-text.text-columns .infobox-text-container {
  float: none !important;
}

/* Grey info box — blanco #F3F3F3, generous inner padding */
body #page-wrapper .module-infobox-text .infobox-text-container > .infobox {
  background-color: #F3F3F3 !important;
  border: 0 !important;
  padding: 32px 24px !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-infobox-text .infobox-text-container > .infobox {
    padding: 48px 40px !important;
  }
}

@media (min-width: 1194px) {
  body #page-wrapper .module-infobox-text .infobox-text-container > .infobox {
    padding: 60px 48px !important;
  }
}

@media (max-width: 767px) {
  body #page-wrapper .module-infobox-text .infobox-text-container > .infobox {
    padding: 24px !important;
  }
}

/* Section heading (e.g. REGISTRIERUNG) */
body #page-wrapper .module-infobox-text .text .rt-editor h2,
body #page-wrapper .module-infobox-text .text .rt-editor h2.h2,
body #page-wrapper .module-infobox-text .text .rt-editor h3,
body #page-wrapper .module-infobox-text .text .rt-editor h3.h3,
body #page-wrapper .module-infobox-text .text .rt-editor .h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 20px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  body #page-wrapper .module-infobox-text .text .rt-editor h2,
  body #page-wrapper .module-infobox-text .text .rt-editor h2.h2,
  body #page-wrapper .module-infobox-text .text .rt-editor h3,
  body #page-wrapper .module-infobox-text .text .rt-editor h3.h3,
  body #page-wrapper .module-infobox-text .text .rt-editor .h3 {
    font-size: var(--nbi-h3-size-desktop) !important;
    margin-bottom: 24px !important;
  }
}

/* FAQ answer — nested infobox stays body copy (not Valizas section titles) */
body #page-wrapper .module-accordion .accordion-content .module-infobox-text .text .rt-editor :is(h2, h2.h2, h3, h3.h3, .h3),
body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox .rt-editor :is(h2, h2.h2, h3, h3.h3, .h3) {
  color: var(--nbi-color-text) !important;
  font-family: font-primary-local, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}

/* Body copy — both columns (standalone infobox only; FAQ nested copy → §27 + EOF faq-answers) */
body #page-wrapper > .module-infobox-text .infobox .rt-editor,
body #page-wrapper > .module-infobox-text .infobox .rt-editor p,
body #page-wrapper > .module-infobox-text .infobox .rt-editor li,
body #page-wrapper > .module-infobox-text .text .rt-editor,
body #page-wrapper > .module-infobox-text .text .rt-editor p,
body #page-wrapper > .module-infobox-text .text .rt-editor li,
body #page-wrapper > .module.module-infobox-text .infobox .rt-editor,
body #page-wrapper > .module.module-infobox-text .infobox .rt-editor p,
body #page-wrapper > .module.module-infobox-text .infobox .rt-editor li,
body #page-wrapper > .module.module-infobox-text .text .rt-editor,
body #page-wrapper > .module.module-infobox-text .text .rt-editor p,
body #page-wrapper > .module.module-infobox-text .text .rt-editor li {
  color: var(--nbi-color-text) !important;
  font-family: font-primary-local, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  text-transform: none !important;
}

body #page-wrapper > .module-infobox-text .infobox .rt-editor p,
body #page-wrapper > .module-infobox-text .text .rt-editor p,
body #page-wrapper > .module.module-infobox-text .infobox .rt-editor p,
body #page-wrapper > .module.module-infobox-text .text .rt-editor p {
  margin: 0 0 16px !important;
}

body #page-wrapper > .module-infobox-text .infobox .rt-editor p:last-child,
body #page-wrapper > .module-infobox-text .text .rt-editor p:last-child,
body #page-wrapper > .module.module-infobox-text .infobox .rt-editor p:last-child,
body #page-wrapper > .module.module-infobox-text .text .rt-editor p:last-child {
  margin-bottom: 0 !important;
}

body #page-wrapper .module-infobox-text .rt-editor a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body #page-wrapper .module-infobox-text .rt-editor a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* Infobox lists — disc bullets (REFERENCE § bullets; beats CMS .unordered-list ring) */
body #page-wrapper .module-infobox-text .infobox .rt-editor ul,
body #page-wrapper .module-infobox-text .infobox .rt-editor ul.unordered-list {
  list-style-type: disc !important;
  list-style-position: outside !important;
  margin: 0 0 16px !important;
  padding-left: 40px !important;
}

body #page-wrapper .module-infobox-text .infobox .rt-editor ul li {
  list-style-type: disc !important;
  list-style-position: outside !important;
  margin: 0 0 8px !important;
  padding-left: 0 !important;
  position: static !important;
}

body #page-wrapper .module-infobox-text .infobox .rt-editor ul li:last-child {
  margin-bottom: 0 !important;
}

body #page-wrapper .module-infobox-text .infobox .rt-editor ul li::before {
  background: none !important;
  border: none !important;
  content: none !important;
  display: none !important;
}

/* Login / registration sidebar infobox — keep compact single column (exclude two-col overrides) */
body #page-wrapper:has(> .module-login) > .module-infobox-text .infobox-text-container,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .infobox-text-container,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module.module-headline:first-child + .module-infobox-text .infobox-text-container {
  display: block !important;
  flex-direction: column !important;
  gap: 0 !important;
  max-width: none !important;
}

body #page-wrapper:has(> .module-login) > .module-infobox-text .infobox-text-container > .infobox,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-infobox-text .infobox-text-container > .infobox,
body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-text-media)) > .module-infobox-text .infobox-text-container > .infobox {
  flex: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}


/* ==========================================================================
   Faz 44 — Infobox CMS shell kill (margin-left 144px / prototype margins only)
   ========================================================================== */

html body #page-wrapper .module-infobox-text {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

html body #page-wrapper .module-infobox-text .infobox-text-container,
html body #page-wrapper .module-infobox-text.infobox-left .infobox-text-container,
html body #page-wrapper .module-infobox-text.infobox-right .infobox-text-container {
  float: none !important;
}

html body #page-wrapper .module-infobox-text .infobox-text-container > .infobox,
html body #page-wrapper .module-infobox-text .infobox-text-container > .text {
  float: none !important;
}

/* Homepage — keep L4 shell padding (Faz 43 must not zero horizontal padding) */
html body #header-2018.no-breadcrumb + #page-wrapper > .module.module-infobox-text {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-bottom: var(--nbi-section-padding-bottom) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}


/* ==========================================================================
   REFERENCE PARITY — single enforcement layer (EOF)
   Golden: homepage (L4 no-breadcrumb), login (Faz 31), kontakt (Faz 33)
   All breadcrumb pages inherit — no per-URL / per-page selectors
   ========================================================================== */

/* --- 0. Layout shell — blanco.com / blanco.de parity (sitewide) --- */
/* Gutter scale: 16px (<390) · 40px (≥390) · 80px (≥834) · inner column 1280px */
html body .meta-bar .meta-links-wrapper,
html body header#header-2018 .main-navigation {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}

/* Breadcrumb pages — shell on #page-wrapper; homepage (no-breadcrumb) keeps L4 per-module shell */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}

/* CMS legacy side margins — inner pages only (homepage modules own gutter via L4) */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module > .module-container,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module-login,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module-form > .module-container,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .responsive-table {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body header#header-2018 ~ ul.breadcrumb {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}

/* Tablet/mobile — indent past burger; desktop = same gutter as logo */
@media (max-width: 1247px) {
  html body header#header-2018 ~ ul.breadcrumb {
    padding-left: calc(var(--nbi-layout-gutter) + var(--nbi-header-burger-offset) + var(--nbi-header-nav-gap)) !important;
  }
}

@media (min-width: 1248px) {
  html body header#header-2018 ~ ul.breadcrumb {
    padding-left: var(--nbi-layout-gutter) !important;
    padding-right: var(--nbi-layout-gutter) !important;
  }
}

@media (min-width: 1194px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module.module-accordion > .module-container,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module.module-text-media,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module.module-infobox-text .infobox-text-container,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module.module-cutting-data,
  html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child,
  html body #page-wrapper:has([data-view="contact-box"]) > .module-form .module-container[data-view="contact-box"],
  html body #page-wrapper:has([data-view="contact-box"]) .module-form .module-container #contact-form {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--nbi-content-inner-max) !important;
    width: 100% !important;
  }
}

/* --- 1. Inner page shell = login / kontakt (+ warm beige mist band) --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper {
  background-color: var(--nbi-surface-mist) !important;
  background-image: var(--nbi-surface-mist-gradient) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  box-sizing: border-box !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child {
  background-color: var(--nbi-surface-page) !important;
}

html body #header-2018.no-breadcrumb + #page-wrapper {
  padding-bottom: 0 !important;
}

/* --- 2. Page intro (all inner pages) = login + kontakt headline block --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child {
  margin: 0 !important;
  max-width: none !important;
  padding: var(--nbi-page-intro-padding-y) 0 var(--nbi-dist-v) !important;
  text-align: left !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child h1,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child h1.h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child > h2.h3,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child > h2,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child .rt-editor p {
  color: var(--nbi-color-text) !important;
  font-family: font-primary-local, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 16px !important;
  max-width: var(--nbi-page-intro-body-max) !important;
  text-align: left !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child:has(> h2.h3) > h1,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child:has(> h2.h3) > h1.h2 {
  margin-bottom: 16px !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child {
    padding: var(--nbi-page-intro-padding-y-md) 0 var(--nbi-dist-v) !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child h1,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child h1.h2 {
    font-size: var(--nbi-h1-size-desktop) !important;
    margin-bottom: 32px !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child:has(> h2.h3) > h1,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child:has(> h2.h3) > h1.h2 {
    margin-bottom: 24px !important;
  }
}

@media (min-width: 1194px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child {
    padding: var(--nbi-page-intro-padding-y-lg) 0 48px !important;
  }
}

/* --- 2b. Kontakt page intro — login-style headline lock (beats CMS #339 on h1.h2) --- */
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child,
html body #page-wrapper:has([data-view="contact-box"]) > #module_headline.module.module-headline {
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  text-align: left !important;
  width: 100% !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child h1,
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child h1.h2,
html body #page-wrapper:has([data-view="contact-box"]) > #module_headline.module.module-headline h1,
html body #page-wrapper:has([data-view="contact-box"]) > #module_headline.module.module-headline h1.h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  max-width: none !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child h2.h3,
html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child .rt-editor p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  text-align: left !important;
}

@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child h1,
  html body #page-wrapper:has([data-view="contact-box"]) > .module.module-headline:first-child h1.h2,
  html body #page-wrapper:has([data-view="contact-box"]) > #module_headline.module.module-headline h1,
  html body #page-wrapper:has([data-view="contact-box"]) > #module_headline.module.module-headline h1.h2 {
    font-size: var(--nbi-h1-size-desktop) !important;
    margin-bottom: 32px !important;
  }
}

/* --- 3. Content body copy (FAQ, text-media, infobox, tiles…) = kontakt intro tone --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module .rt-editor p,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module .rt-editor li {
  color: var(--nbi-page-intro-body-color) !important;
  font-family: font-primary-local, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

/* Section titles inside content (not page intro h1) — Valizas uppercase */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module:not(.module-headline:first-child) > .module-container > .module-headline,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-accordion > .module-container > .module-headline,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .text .rt-editor h2,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .text .rt-editor h3,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-infobox-text .text .rt-editor h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module:not(.module-headline:first-child) > .module-container > .module-headline,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-accordion > .module-container > .module-headline,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .text .rt-editor h2,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .text .rt-editor h3,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-infobox-text .text .rt-editor h3 {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

/* --- 4. Content modules spacing (first block after intro = kontakt gap) --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module:not(.module-footer),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module-form,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module-contact-information,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module.module-contact-information {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-bottom: var(--nbi-section-padding-bottom) !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child + .module:not(.module-footer),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child + .module-form,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child + .module-login {
  padding-top: var(--nbi-dist-v) !important;
}

/* Stacked sections — 40px bottom + 80px top on following block = 120px gap */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module.module-headline:first-child ~ .module:not(.module-footer) + .module:not(.module-footer) {
  padding-top: var(--nbi-section-padding-top) !important;
}

/* Mid-page section headlines (2nd+ .module-headline) */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module.module-headline:not(:first-child) {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  padding-bottom: var(--nbi-section-padding-bottom) !important;
  padding-top: var(--nbi-section-padding-top) !important;
}

/* Registration / generic forms (not kontakt #contact-form — Faz 33 + §5) */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module.module-form:not(:has(#contact-form)) {
  padding-bottom: var(--nbi-block-margin) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module.module-headline:first-child ~ .module.module-accordion > .module-container,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module.module-headline:first-child ~ .module.module-text-media,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module.module-headline:first-child ~ .module.module-infobox-text .infobox-text-container,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:not(:has(.module-login)) > .module.module-headline:first-child ~ .module.module-cutting-data {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  width: 100% !important;
}

/* --- 5. Forms (registration, reset, usersettings, kontakt) = login/kontakt #contact-form --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module-form:has(#contact-form) {
  margin: 0 !important;
  padding: var(--nbi-dist-v) 0 var(--nbi-block-padding-y) !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child + .module-form:has(#contact-form) {
  padding-top: var(--nbi-dist-v) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form:has(#contact-form) .module-container,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form:has(#contact-form) #contact-form {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Kontakt page only — centered form column */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form:has(#contact-form):has([data-view="contact-box"]) .module-container,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form:has(#contact-form):has([data-view="contact-box"]) #contact-form {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .form-select,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select select,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group input:not([type="file"]),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group .textarea-wrapper textarea,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-login input[type="text"],
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-login input[type="password"],
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-login input[type="email"] {
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .headline,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box h3.headline,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-step-one > .module_title {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .headline,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-step-one > .module_title {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

/* Kontakt upload — beat CMS iconfont ::before (centered \\e91b overlap) */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"] {
  display: inline-flex !important;
  justify-content: flex-start !important;
  letter-spacing: normal !important;
  padding: 12px 24px !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]:before,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .upload .upload label[for^="select_uploadfile"]::before {
  content: "" !important;
  font-family: inherit !important;
  left: auto !important;
  position: static !important;
  top: auto !important;
  transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio span.radio-text {
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout) {
  align-items: flex-start !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout)::before,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout)::after {
  content: none !important;
  display: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .controls:not(.vertical-layout) .btn {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- 5b. All inner-page forms = login/kontakt field parity (registration, usersettings, optin) --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-login, .module-form) .form-group label,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-login, .module-form) .form-group .label,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group .row > .label {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 6px !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-login, .module-form) .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group select,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group textarea,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-select {
  appearance: none !important;
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group select,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-select {
  background-image: var(--nbi-select-chevron) !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
  cursor: pointer !important;
  padding-right: 40px !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group textarea {
  line-height: var(--nbi-line-height-body) !important;
  min-height: 120px !important;
  resize: vertical !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group input[type="file"] {
  background-color: var(--nbi-color-light-bg) !important;
  border: 1px dashed var(--nbi-field-border) !important;
  cursor: pointer !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(.chk-box, .chk-box-broschuere, .checkbox) input[type="checkbox"] {
  accent-color: var(--nbi-blanco-blue) !important;
  margin-right: 8px !important;
  min-height: auto !important;
  width: auto !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(.chk-box, .chk-box-broschuere, .checkbox) label,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(.chk-box, .chk-box-broschuere) p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group > :is(.error-message, .help-block),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group > p.error-message,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group:not(.has-error) > :is(.error-message, .help-block),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group:not(.has-error) > p.error-message {
  display: none !important;
  position: static !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.has-error > :is(.error-message, .help-block),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.has-error > p.error-message,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group.has-error > :is(.error-message, .help-block),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group.has-error > p.error-message {
  color: var(--nbi-color-error) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 4px 0 0 !important;
  position: static !important;
}

/* --- 5c. Kontakt validation — gap below error so next field is not flush --- */
html body #page-wrapper:has([data-view="contact-box"]) .module-form .module-container #contact-form .form-group.has-error > .error-message,
html body #page-wrapper:has([data-view="contact-box"]) .module-form .module-container #contact-form .form-group.has-error > p.error-message {
  display: block !important;
  margin-bottom: 12px !important;
  position: static !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-form .module-container #contact-form .contact-box .contact-information .column,
html body #page-wrapper:has([data-view="contact-box"]) .module-form .module-container #contact-form .contact-step-one .column-wrapper .column {
  row-gap: 20px !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group.has-error :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-color: var(--nbi-color-error) !important;
  color: var(--nbi-color-error) !important;
}

/* Intro spacing — login/Kontakt (was Faz 35) */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child .rt-editor {
  margin: 0 !important;
  max-width: none !important;
  text-align: left !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child .rt-editor p:last-child,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child > h2.h3:last-of-type {
  margin-bottom: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child > h2.h3 + .rt-editor p,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child > h2.h3 + .rt-editor {
  margin-top: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child .rt-editor a:not(.btn) {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child .rt-editor a:not(.btn):hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* --- 7. 404 — blanco.com minimal error page (not legacy slideshow / two-column CMS) --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(.module.module-stage.editorial.error-page) {
  background-color: #fff !important;
  box-sizing: border-box !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page {
  background-color: #fff !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page > .module-container {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .slider-container {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  visibility: hidden !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text {
  background-color: #fff !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: var(--nbi-page-intro-padding-y) var(--nbi-layout-gutter) var(--nbi-block-padding-y) !important;
  position: static !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text,
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text.nbi-error-404 {
  margin: 0 auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  text-align: left !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text {
    padding: var(--nbi-page-intro-padding-y-md) var(--nbi-layout-gutter) var(--nbi-block-padding-y) !important;
  }
}

@media (min-width: 1194px) {
  html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text {
    padding: var(--nbi-page-intro-padding-y-lg) var(--nbi-layout-gutter) var(--nbi-block-padding-y) !important;
  }
}

/* Headline — ERROR 404 (Valizas uppercase) */
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .stage-headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .stage-headline {
    font-size: var(--nbi-h1-size-desktop) !important;
    margin-bottom: 32px !important;
  }
}

/* Body line — single sentence under headline */
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-message,
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .left p:first-child {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 32px !important;
  max-width: 560px !important;
  text-align: left !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-message,
  html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .left p:first-child {
    font-size: var(--nbi-font-size-md) !important;
    margin-bottom: 40px !important;
  }
}

/* Legacy two-column CMS — collapse to single stack if old HTML still cached */
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph {
  display: block !important;
  margin: 0 !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .left,
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .right {
  display: block !important;
  float: none !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .left p:not(:first-child),
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .right > p {
  display: none !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .right {
  margin: 0 !important;
}

/* CTA — black fill, gap below message */
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-list,
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .error-list {
  margin: 0 0 48px !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-list ul,
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .error-list ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-list ul li,
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .error-list ul li {
  margin: 0 !important;
  padding: 0 !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-list a.btn,
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .paragraph .error-list a.btn {
  margin-top: 0 !important;
}

/* Divider */
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-divider {
  border: 0 !important;
  border-top: 1px solid var(--nbi-color-text) !important;
  margin: 0 0 32px !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Need help block */
html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-help {
  margin: 0 !important;
  max-width: 560px !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-help-title {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 8px !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-help-text {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-help-text a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

html body #page-wrapper > .module.module-stage.editorial.error-page .stage-text .text .error-help-text a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* --- 9. Tables (usersettings, ausschnittdaten, kontakt lists) --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.responsive-table, .module-table .responsive-table, .module-form .responsive-table) {
  border-collapse: collapse !important;
  box-sizing: border-box !important;
  margin: 0 0 var(--nbi-dist-v) !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.responsive-table, .module-table .responsive-table, .module-form .responsive-table) th {
  border-bottom: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  padding: 12px 16px !important;
  text-align: left !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.responsive-table, .module-table .responsive-table, .module-form .responsive-table) td {
  border-bottom: 1px solid #E9E9E9 !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  padding: 12px 16px !important;
  vertical-align: top !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.responsive-table, .module-table .responsive-table, .module-form .responsive-table) a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.responsive-table, .module-table .responsive-table, .module-form .responsive-table) a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.responsive-table, .module-table .responsive-table, .module-form .responsive-table) tr:hover td {
  background-color: #fafafa !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.responsive-table, .module-table .responsive-table, .module-form .responsive-table) td :is(b, strong) {
  color: var(--nbi-color-text) !important;
  font-weight: 700 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .responsive-table tr td {
  color: var(--nbi-color-text) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .responsive-table .download-icon {
  color: var(--nbi-color-text) !important;
  display: inline-block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .responsive-table tr td .mobile-head {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* --- 10. Content modules (video, brochure, stage) — kill CMS blue/12px on inner pages --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-video, .module-brochure-download, .module-big-image-slider, .module-stage:not(.editorial.error-page)) .rt-editor p,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-video, .module-brochure-download, .module-big-image-slider, .module-stage:not(.editorial.error-page)) .rt-editor li,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-video, .module-brochure-download) .caption {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-video, .module-brochure-download) .module-headline,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-video, .module-brochure-download) h3.module-headline,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-big-image-slider, .module-stage:not(.editorial.error-page)) .stage-headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-video, .module-brochure-download) .module-headline,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-video, .module-brochure-download) h3.module-headline,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-big-image-slider, .module-stage:not(.editorial.error-page)) .stage-headline {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-video .consent-box :is(.headline, p.copy),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-media .consent-box :is(.headline, p.copy) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-video .consent-box .headline,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-media .consent-box .headline {
  color: var(--nbi-color-text) !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
}

html body #page-wrapper :is(.module-video, .module-media) .consent-box .button-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
  margin-top: 24px !important;
}

html body #page-wrapper :is(.module-video, .module-media) .consent-box .btn.accept-consent {
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

html body #page-wrapper :is(.module-video, .module-media) .consent-box .btn.more-information {
  background-color: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

/* --- 11. Breadcrumb — beats inline CMS uppercase/blue (footer → Faz 25 + §25) --- */
html body header#header-2018 ~ ul.breadcrumb,
html body header#header-2018 ~ ul.breadcrumb a,
html body header#header-2018 ~ ul.breadcrumb li,
html body header#header-2018 ~ ul.breadcrumb span {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

/* --- 12. Header nav + mobile burger + flyout — beats inline CMS #339/uppercase/12px --- */
html body header#header-2018 .main-navigation-link,
html body header#header-2018 .main-navigation .direct-link {
  color: var(--nbi-color-nav-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  html body header#header-2018 .main-navigation-link {
    font-weight: 700 !important;
  }
}
html body header#header-2018 .main-navigation .navigation-points .flyout,
html body header#header-2018 .main-navigation .navigation-points .flyout.active {
  background-color: var(--nbi-flyout-bg) !important;
}

html body header#header-2018 .main-navigation .navigation-points .flyout :is(
  .second-level > li > a,
  .second-level > li > .has-subitems,
  .submenu li > a,
  .submenu li > .has-subitems,
  .back-button
) {
  color: var(--nbi-flyout-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

html body header#header-2018 .main-navigation .navigation-points .flyout :is(
  .second-level > li > a,
  .second-level > li > .has-subitems
) {
  font-size: var(--nbi-flyout-category-size) !important;
  font-weight: 700 !important;
}

html body header#header-2018 .main-navigation .navigation-points .flyout :is(
  .submenu li > a,
  .submenu li > .has-subitems
) {
  font-size: var(--nbi-flyout-category-size) !important;
  font-weight: 400 !important;
}
html body header#header-2018 .main-navigation .mobile-menu .direct-link {
  color: var(--nbi-color-nav-fg) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

html.burger-navigation header#header-2018,
html.burger-navigation header#header-2018 .main-navigation,
.burger-navigation header#header-2018,
.burger-navigation header#header-2018 .main-navigation {
  background-color: var(--nbi-color-nav-bg) !important;
}

html.burger-navigation header#header-2018 .main-navigation .navigation-points,
.burger-navigation header#header-2018 .main-navigation .navigation-points {
  background-color: var(--nbi-color-nav-bg) !important;
}

html.burger-navigation header#header-2018 .main-navigation-link,
html.burger-navigation header#header-2018 .main-navigation .direct-link,
.burger-navigation header#header-2018 .main-navigation-link,
.burger-navigation header#header-2018 .main-navigation .direct-link {
  border-bottom: 1px solid rgba(178, 187, 232, 0.35) !important;
  color: var(--nbi-flyout-fg) !important;
  display: block !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  min-height: 58px !important;
  padding: 16px 0 !important;
  text-align: left !important;
  text-transform: none !important;
  width: 100% !important;
}

html.burger-navigation header#header-2018 .main-navigation .navigation-points .flyout,
html.burger-navigation header#header-2018 .main-navigation .navigation-points .flyout.active,
.burger-navigation header#header-2018 .main-navigation .navigation-points .flyout,
.burger-navigation header#header-2018 .main-navigation .navigation-points .flyout.active {
  background-color: var(--nbi-flyout-bg) !important;
  box-shadow: none !important;
}

html.burger-navigation header#header-2018 .main-navigation .burger-bar-1,
html.burger-navigation header#header-2018 .main-navigation .burger-bar-2,
html.burger-navigation header#header-2018 .main-navigation .burger-bar-3,
.burger-navigation header#header-2018 .main-navigation .burger-bar-1,
.burger-navigation header#header-2018 .main-navigation .burger-bar-2,
.burger-navigation header#header-2018 .main-navigation .burger-bar-3 {
  background-color: var(--nbi-flyout-fg) !important;
}

html.burger-navigation header#header-2018 #logo img,
.burger-navigation header#header-2018 #logo img {
  filter: brightness(0) invert(1) !important;
}

/* --- 13. Account flows (registration, usersettings) — titles + wide shell --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .contact-box[data-view="account-administration"],
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container[data-view="account-administration"] .contact-box {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-form-max-wide) !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(
  .module_title,
  h3.module_title,
  .contact-box .headline,
  h3.headline
) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: var(--nbi-block-gap) 0 24px !important;
  text-transform: uppercase !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(
  .contact-box .headline:first-child,
  .contact-box > h3.headline:first-child,
  .contact-box > h3.module_title:first-child
) {
  margin-top: 0 !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(
    .module_title,
    h3.module_title,
    .contact-box .headline,
    h3.headline
  ) {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(.mandatory, .privacy .mandatory) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-sm) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .text-link {
  color: var(--nbi-content-link-color) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  text-decoration: underline !important;
  text-transform: none !important;
  text-underline-offset: 0.3em !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .text-link:hover,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .text-link:focus-visible {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.3em !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .text-link::before {
  content: none !important;
  display: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .controls.flexible-layout {
  align-items: flex-start !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--nbi-content-actions-gap) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .contact-box .row > .label {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 6px !important;
  text-transform: none !important;
}

/* Registration / account — vertical-layout submit (not kontakt 260px row) */
body #page-wrapper .module-form .module-container #contact-form .contact-box .controls.vertical-layout {
  align-items: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: var(--nbi-content-stack-gap) !important;
  justify-content: flex-start !important;
  margin-top: 24px !important;
  width: 100% !important;
}

body #page-wrapper .module-form .module-container #contact-form .contact-box .controls.vertical-layout .btn.submit,
body #page-wrapper .module-form .module-container #contact-form .contact-box .controls.vertical-layout .btn.btn-inverse {
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  max-width: none !important;
  min-width: var(--nbi-btn-width-inline) !important;
  order: unset !important;
  width: auto !important;
}

/* Visible field labels — blanco.de 16px sitewide (login, registration, kontakt, usersettings) */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper :is(.module-login, .module-form) .form-group > label.field-label {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 700 !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 8px !important;
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: static !important;
  text-transform: none !important;
  visibility: visible !important;
  width: auto !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-container #contact-form .form-group > label.field-label {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 0 0 !important;
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: static !important;
  text-transform: none !important;
  visibility: visible !important;
  width: auto !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group.has-prefix > label.field-label {
  margin-bottom: 8px !important;
  width: 100% !important;
}

/* Login helper links — blanco.de 16px (Passwort vergessen?, Registrieren, etc.) */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-login .text-link,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-login .login-links-row > span,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-login a.text-link {
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
}

/* --- 5c. Form selects sitewide — blanco.de compact field (no CMS gray chevron box) --- */
html body #page-wrapper :is(.module-form, .module-login) .form-group.select::after,
html body #page-wrapper .module-form .module-container .contact-box .contact-information .column .form-group.select::after,
html body #page-wrapper .module-brochure-download .form-group.select::after {
  content: none !important;
  display: none !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  width: 0 !important;
}

html body #page-wrapper :is(.module-form, .module-login) .form-group.select {
  position: relative !important;
}

html body #page-wrapper :is(.module-form, .module-login) :is(select.form-select, .form-group.select select, .form-select) {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  background-image: var(--nbi-select-chevron) !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  cursor: pointer !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 400 !important;
  height: var(--nbi-field-height-lg) !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  max-height: var(--nbi-field-height-lg) !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 40px 12px 16px !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

html body #page-wrapper :is(.module-form, .module-login) :is(select.form-select, .form-group.select select, .form-select):hover {
  border-color: var(--nbi-field-border-hover) !important;
}

html body #page-wrapper :is(.module-form, .module-login) :is(select.form-select, .form-group.select select, .form-select):focus {
  border-color: var(--nbi-blanco-blue) !important;
  box-shadow: none !important;
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

html body #page-wrapper :is(.module-form, .module-login) :is(select.form-select, .form-group.select select):invalid {
  color: var(--nbi-color-placeholder) !important;
}

html body #page-wrapper :is(.module-form, .module-login) :is(select.form-select, .form-group.select select) option {
  background-color: #fff !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

html body #page-wrapper :is(.module-form, .module-login) :is(select.form-select, .form-group.select select) option[value=""],
html body #page-wrapper :is(.module-form, .module-login) :is(select.form-select, .form-group.select select) option:disabled {
  color: var(--nbi-color-placeholder) !important;
}

/* Account grid — flush form column left (no auto-center gap) */
@media (min-width: 1194px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-login) > .module-login,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-form):not(:has(> .module-form > .module-container[data-view="contact-box"])) > .module-form {
    justify-self: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* --- 15. Usersettings admin — readonly values, permission lists, sub-user table --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group input.value,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group input.value:disabled,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .form-group input[readonly]:not([type="checkbox"]):not([type="radio"]) {
  background-color: var(--nbi-color-light-bg) !important;
  border-color: var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  cursor: default !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .contact-box .prominent-headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: var(--nbi-block-gap) 0 16px !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .contact-box .prominent-headline {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form :is(
  .multiple-col.unordered-list,
  .contact-box .multiple-col.unordered-list
) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 var(--nbi-block-gap) !important;
  padding-left: 1.2em !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .contact-box.administration .module-table,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .contact-box[data-view="account-administration"] .module-table {
  margin: 0 0 var(--nbi-dist-v) !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-table .controls {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .module-table .btn {
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .btn.delete,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .btn.close-delete-dialog,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .btn.close-edit-dialog {
  background-color: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .btn.edit,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .btn.btn-inverse.edit {
  background-color: transparent !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: var(--nbi-btn-fill-bg) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .btn.edit:hover,
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .btn.btn-inverse.edit:hover {
  background-color: var(--nbi-btn-fill-bg) !important;
  border-color: var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .dialog-headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-form .dialog-text {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 24px !important;
}

/* --- 16. Ausschnittdaten (module-cutting-data) — shell, search, load-more --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-cutting-data {
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results {
  margin: 24px 0 var(--nbi-section-gap) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search {
  padding: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group {
  margin: 0 !important;
  position: relative !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form {
  align-items: stretch !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form .search-icon {
  color: var(--nbi-color-text) !important;
  height: auto !important;
  left: 16px !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  z-index: 1 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form :is(input, .search-input) {
  appearance: none !important;
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  flex: 1 1 280px !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px 12px 44px !important;
  text-transform: none !important;
  width: auto !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form :is(input, .search-input)::placeholder {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  opacity: 1 !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form .btn {
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
  flex: 0 0 auto !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form .btn:hover {
  background-color: var(--nbi-accent-dark) !important;
  border-color: var(--nbi-accent-dark) !important;
  color: #fff !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .module-table {
  margin: 0 !important;
  padding: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .controls {
  margin-top: var(--nbi-dist-v) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .controls .btn.load-more {
  background-color: transparent !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: var(--nbi-btn-fill-bg) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .controls .btn.load-more:hover {
  background-color: var(--nbi-btn-fill-bg) !important;
  border-color: var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .controls .btn.invisible {
  display: none !important;
}

@media (max-width: 833px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form {
    flex-direction: column !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form :is(input, .search-input),
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-cutting-data .search-container-results .search .form-group form .btn {
    width: 100% !important;
  }
}

/* --- 17. Digital catalog — module-media iframe (no-breadcrumb + inner pages) --- */
html body #page-wrapper > .module.module-media {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body #header-2018.no-breadcrumb + #page-wrapper > .module.module-media {
  max-width: var(--nbi-layout-shell-max) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  padding-top: var(--nbi-dist-v) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-media {
  padding-top: var(--nbi-dist-v) !important;
}

html body #page-wrapper > .module.module-media .iframe {
  background-color: var(--nbi-color-light-bg) !important;
  height: 0 !important;
  padding-bottom: 48% !important;
  position: relative !important;
  width: 100% !important;
}

@media (max-width: 833px) {
  html body #page-wrapper > .module.module-media .iframe {
    padding-bottom: 75% !important;
  }
}

html body #page-wrapper > .module.module-media .iframe iframe {
  border: 0 !important;
  height: 100% !important;
  left: 0 !important;
  position: absolute !important;
  top: 0 !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-media .consent-box {
  background-color: #fff !important;
  border-radius: var(--nbi-field-radius) !important;
  box-shadow: 0 4px 24px rgba(64, 64, 66, 0.12) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  max-width: min(650px, calc(100% - 48px)) !important;
  padding: 36px !important;
  text-align: center !important;
  width: 100% !important;
  z-index: 2 !important;
}

@media (max-width: 833px) {
  html body #page-wrapper > .module.module-media .consent-box {
    padding: 24px !important;
  }
}

html body #page-wrapper > .module.module-media .consent-box .headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 12px !important;
  text-transform: uppercase !important;
}

html body #page-wrapper > .module.module-media .consent-box .copy {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  text-transform: none !important;
}

/* --- 18. Sales snippet embed — standalone .general-teaser (iframe / partial HTML) --- */
html body .general-teaser {
  background-color: var(--nbi-color-light-bg) !important;
  box-sizing: border-box !important;
  font-family: var(--nbi-font-primary) !important;
  margin: 0 !important;
  max-width: 100% !important;
  padding: 24px !important;
}

html body .general-teaser .teaser-headline-outer {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 20px !important;
  text-transform: uppercase !important;
}

html body .general-teaser .teaser-wrapper {
  align-items: flex-start !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

html body .general-teaser .image-container {
  flex-shrink: 0 !important;
  width: 120px !important;
}

html body .general-teaser .image-container .image {
  display: block !important;
  height: auto !important;
  object-fit: cover !important;
  width: 100% !important;
}

html body .general-teaser .teaser-headline.small {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 12px !important;
  text-transform: none !important;
}

html body .general-teaser .linklist a.link {
  color: var(--nbi-content-link-color) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin-bottom: 6px !important;
  text-decoration: underline !important;
  text-transform: none !important;
  text-underline-offset: 0.3em !important;
}

html body .general-teaser .linklist a.link:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em !important;
}

/* --- 19. Content module shells — video / brochure / stage spacing --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module.module-headline:first-child ~ .module:is(.module-video, .module-media:has(.module-video), .module-brochure-download, .module-big-image-slider, .module-stage:not(.editorial.error-page)) {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-brochure-download .container-broschuere {
  gap: var(--nbi-block-gap) !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-brochure-download .download-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-brochure-download .download-list li {
  border-bottom: 1px solid #E9E9E9 !important;
  margin: 0 !important;
  padding: 12px 0 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-brochure-download .download-list a {
  color: var(--nbi-content-link-color) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-decoration: underline !important;
  text-transform: none !important;
  text-underline-offset: 0.3em !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-brochure-download .download-list a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* --- 26. YouTube cover — blanco.co.uk specials (16:9, white play disc, consent overlay) --- */
html body #page-wrapper .module-media:has(.module-video) .module-video,
html body #page-wrapper .module-video {
  background-color: #fff !important;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1) !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

html body #page-wrapper .module-video .preview-image {
  background-color: #000 !important;
  height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding-bottom: 56.25% !important;
  position: relative !important;
  width: 100% !important;
}

html body #page-wrapper .module-video .preview-image figure,
html body #page-wrapper .module-video .preview-image .figure {
  height: 100% !important;
  left: 0 !important;
  margin: 0 !important;
  position: absolute !important;
  top: 0 !important;
  width: 100% !important;
}

html body #page-wrapper .module-video .preview-image .image {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: none !important;
  width: 100% !important;
}

html body #page-wrapper .module-video .preview-image .btn-play {
  align-items: center !important;
  appearance: none !important;
  background-color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  display: flex !important;
  height: 106px !important;
  justify-content: center !important;
  left: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  transition: background-color 0.3s ease !important;
  width: 106px !important;
  z-index: 1 !important;
}

@media (max-width: 833px) {
  html body #page-wrapper .module-video .preview-image .btn-play {
    height: 50px !important;
    width: 50px !important;
  }
}

html body #page-wrapper .module-video .preview-image .btn-play span {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

html body #page-wrapper .module-video .preview-image .btn-play::before {
  content: none !important;
  display: none !important;
}

html body #page-wrapper .module-video .preview-image .btn-play::after {
  color: var(--nbi-blanco-blue) !important;
  content: "\e912" !important;
  display: block !important;
  font-family: var(--nbi-font-icon) !important;
  font-size: 52px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  left: 55% !important;
  line-height: 1 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  transition: color 0.3s ease !important;
}

@media (max-width: 833px) {
  html body #page-wrapper .module-video .preview-image .btn-play::after {
    font-size: 24px !important;
  }
}

html body #page-wrapper .module-video .preview-image .btn-play:hover,
html body #page-wrapper .module-video .preview-image .btn-play:focus-visible {
  background-color: var(--nbi-blanco-blue) !important;
}

html body #page-wrapper .module-video .preview-image .btn-play:hover::after,
html body #page-wrapper .module-video .preview-image .btn-play:focus-visible::after {
  color: #fff !important;
}

html body #page-wrapper .module-video .preview-image .consent-box {
  background-color: #fff !important;
  border-radius: 5px !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  display: none !important;
  left: 50% !important;
  margin: 0 !important;
  max-width: min(650px, 90%) !important;
  padding: 36px !important;
  position: absolute !important;
  text-align: center !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100% !important;
  z-index: 3 !important;
}

@media (max-width: 833px) {
  html body #page-wrapper .module-video .preview-image .consent-box {
    max-width: calc(100% - 48px) !important;
    padding: 24px !important;
  }
}

html body #page-wrapper .module-video .preview-image .consent-box.visible {
  display: block !important;
}

html body #page-wrapper .module-video .preview-image .consent-box.visible + .btn-play {
  display: none !important;
}

html body #page-wrapper .module-video .embed-container {
  height: 100% !important;
  left: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(0, -50%) !important;
  transition: opacity 0.6s ease-in-out !important;
  width: 100% !important;
  z-index: 16 !important;
}

html body #page-wrapper .module-video .embed-container.show {
  opacity: 1 !important;
}

html body #page-wrapper .module-video .embed-container .embed-video,
html body #page-wrapper .module-video .embed-container .embed-video iframe {
  display: block !important;
  height: 100% !important;
  left: 0 !important;
  margin: 0 auto !important;
  position: absolute !important;
  top: 0 !important;
  width: 100% !important;
}

/* --- 20. Newsletter opt-in (#optin-email-form + homepage modal) --- */
html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .info .contact_title {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .info .contact_title {
    font-size: var(--nbi-h3-size-desktop) !important;
    margin-bottom: 32px !important;
  }
}

html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .info p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 var(--nbi-block-gap) !important;
  text-transform: none !important;
}

html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group.select::after {
  content: none !important;
  display: none !important;
}

html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .form-select,
html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group.select select {
  appearance: none !important;
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px !important;
  text-transform: none !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .form-select,
html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group.select select {
  background-image: var(--nbi-select-chevron) !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
  padding: 12px 40px 12px 16px !important;
}

html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information {
  align-items: start !important;
  display: grid !important;
  gap: var(--nbi-block-gap) !important;
  grid-template-columns: 1fr !important;
}

@media (min-width: 900px) {
  html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

html body #page-wrapper .module-form .module-container #optin-email-form .controls {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-top: 24px !important;
}

html body #page-wrapper .module-form .module-container #optin-email-form .controls .btn.submit {
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

html body #page-wrapper .module-form .module-container #optin-email-form .controls .btn.reset {
  background-color: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

html body #optin-email-modal.modal-wrapper:not(.hidden) {
  inset: 0 !important;
  position: fixed !important;
  z-index: 2000 !important;
}

html body #optin-email-modal .modal-overlay {
  background-color: #fff !important;
  box-shadow: 0 8px 32px rgba(64, 64, 66, 0.15) !important;
  box-sizing: border-box !important;
  left: 50% !important;
  max-width: min(720px, calc(100vw - 48px)) !important;
  padding: 40px !important;
  position: fixed !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100% !important;
  z-index: 2001 !important;
}

html body #optin-email-modal .modal-overlay .h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  text-transform: uppercase !important;
}

html body #optin-email-modal .modal-overlay p {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
  width: auto !important;
}

html body #optin-email-modal .modal-overlay .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
}

html body #optin-email-modal .modal-overlay .btn.optin-accept {
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
  width: 100% !important;
}

html body #optin-email-modal .modal-overlay .btn:is(.optin-dismiss, .optin-deny, .optin-close-modal) {
  background-color: transparent !important;
  border: 1px solid var(--nbi-field-border) !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
  width: 100% !important;
}

/* CMS: .modal-overlay form .form-group button:first-child/:last-child setzen margin-right/-left 1.4rem -> letzter Button eingerueckt */
html body #optin-email-modal .modal-overlay .form-group .btn {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- 21. Dealer search + site search modules --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper > .module:is(.module-dealer-search-small, .module-dealer-search-international-variation, .module-search) {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}

html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation, .module-search) > .module-headline,
html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .search-container .module-headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 var(--nbi-block-gap) !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation, .module-search) > .module-headline,
  html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .search-container .module-headline {
    font-size: var(--nbi-h3-size-desktop) !important;
  }
}

html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .search-container {
  margin: 0 !important;
  max-width: none !important;
  padding: var(--nbi-dist-v) 0 !important;
  width: 100% !important;
}

html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .search-container :is(input, select) {
  appearance: none !important;
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px !important;
  text-transform: none !important;
}

html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .result-container .results .result {
  border-bottom: 1px solid #E9E9E9 !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  padding: 24px 0 !important;
}

html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .result-container .results .result a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em !important;
}

html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .result-container .results .result :is(.headline, h3) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  text-transform: none !important;
}

html body #page-wrapper :is(.module-dealer-search-small, .module-dealer-search-international-variation) .result-container .results .result a:hover {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

html body #page-wrapper .module-search .search {
  margin: 0 !important;
  padding: var(--nbi-dist-v) 0 !important;
}

html body #page-wrapper .module-search .search .form-group {
  margin: 0 !important;
  position: relative !important;
}

html body #page-wrapper .module-search .search .form-group form {
  align-items: stretch !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

html body #page-wrapper .module-search .search .form-group form :is(input, .search-input) {
  appearance: none !important;
  background-color: #fff !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  flex: 1 1 280px !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 16px 12px 44px !important;
  text-transform: none !important;
  width: auto !important;
}

html body #page-wrapper .module-search .search .form-group form .btn {
  background-color: var(--nbi-btn-fill-bg) !important;
  border: 1px solid var(--nbi-btn-fill-bg) !important;
  color: #fff !important;
  flex: 0 0 auto !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-btn-font-size) !important;
  letter-spacing: normal !important;
  min-height: var(--nbi-btn-min-height) !important;
  padding: var(--nbi-btn-padding) !important;
  text-transform: none !important;
}

/* --- 22. Header + logo fine-tuning (§12 extension) --- */
html body header#header-2018 .main-navigation {
  box-sizing: border-box !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
}

@media (min-width: 1248px) {
  html body header#header-2018 .main-navigation {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--nbi-layout-shell-max) !important;
  }
}

html body header#header-2018 #logo,
html body header#header-2018 .main-navigation #logo {
  max-width: var(--nbi-header-logo-max-sm) !important;
  min-width: 0 !important;
  width: var(--nbi-header-logo-max-sm) !important;
}

@media (min-width: 834px) {
  html body header#header-2018 #logo,
  html body header#header-2018 .main-navigation #logo {
    max-width: var(--nbi-header-logo-max) !important;
    width: var(--nbi-header-logo-max) !important;
  }
}

html body header#header-2018 #logo img,
html body header#header-2018 .main-navigation #logo img {
  display: block !important;
  filter: brightness(0) invert(1) !important;
  height: auto !important;
  max-width: 100% !important;
  width: 100% !important;
}

html body header#header-2018 .navigation-points > ul {
  gap: 16px !important;
}

html body header#header-2018 .main-navigation-link:hover,
html body header#header-2018 .main-navigation .direct-link:hover {
  color: var(--nbi-flyout-muted) !important;
}

html body header#header-2018 .main-navigation .navigation-points .flyout :is(
  .second-level > li > a,
  .second-level > li > .has-subitems,
  .submenu li > a,
  .submenu li > .has-subitems
):hover,
html body header#header-2018 .main-navigation .navigation-points .flyout :is(
  .second-level > li > a,
  .second-level > li > .has-subitems,
  .submenu li > a,
  .submenu li > .has-subitems
):focus-visible {
  color: var(--nbi-flyout-fg) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em !important;
}

html body header#header-2018 .main-navigation .mobile-menu {
  cursor: pointer !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* --- 23. Stage / slider — unit hero, slide-text overlay, big-image-slider --- */
html body #header-2018.no-breadcrumb + #page-wrapper > .module.module-stage:first-child:not(.editorial.error-page) {
  box-sizing: border-box !important;
  margin-bottom: 84px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 58px !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page),
html body #page-wrapper > .module.module-big-image-slider {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-big-image-slider.full-width,
html body #header-2018.no-breadcrumb + #page-wrapper > .module.module-stage:first-child:not(.editorial.error-page) .slider.stage-slider,
html body #page-wrapper > .module.module-stage.unit .slider {
  margin-left: calc(-1 * var(--nbi-layout-gutter)) !important;
  margin-right: calc(-1 * var(--nbi-layout-gutter)) !important;
  width: calc(100% + 2 * var(--nbi-layout-gutter)) !important;
}

html body #header-2018.no-breadcrumb + #page-wrapper > .module.module-stage:first-child:not(.editorial.error-page) .slider.stage-slider {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-big-image-slider.full-width {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .module-container,
html body #page-wrapper > .module.module-big-image-slider .module-container {
  position: relative !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .stage-slider .image-container,
html body #page-wrapper > .module.module-stage.unit .slider .image-container,
html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slide .image-container {
  align-items: flex-end !important;
  display: flex !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding-top: 40.25% !important;
  position: relative !important;
  width: 100% !important;
}

@media (max-width: 833px) {
  html body #page-wrapper > .module.module-stage.unit .slider .image-container {
    padding-top: 88% !important;
  }

  html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slide .slide-info {
    bottom: 0 !important;
    padding: 36px var(--nbi-layout-gutter) 60px !important;
    position: relative !important;
  }
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .stage-slider .image-container .image,
html body #page-wrapper > .module.module-stage.unit .slider .image-container .image,
html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slide .image-container .image {
  display: block !important;
  height: auto !important;
  left: 0 !important;
  position: absolute !important;
  top: -6% !important;
  width: 100% !important;
}

@media (max-width: 833px) {
  html body #page-wrapper > .module.module-stage.unit .slider .image-container .image {
    top: 0 !important;
  }
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slider-container {
  display: flex !important;
  flex-direction: column-reverse !important;
  overflow: hidden !important;
  position: relative !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text {
  bottom: 70px !important;
  box-sizing: border-box !important;
  left: 50% !important;
  margin: 0 auto !important;
  max-width: min(1008px, calc(100% - 2 * var(--nbi-layout-gutter))) !important;
  padding: 0 var(--nbi-layout-gutter) !important;
  position: absolute !important;
  text-align: center !important;
  transform: translateX(-50%) !important;
  width: 100% !important;
  z-index: 2 !important;
}

@media (max-width: 1247px) {
  html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text {
    max-width: min(851px, calc(100% - 2 * var(--nbi-layout-gutter))) !important;
  }
}

@media (max-width: 833px) {
  html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text {
    bottom: 0 !important;
    max-width: none !important;
    position: relative !important;
    transform: none !important;
  }
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text .stage-headline {
  color: #fff !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: 1.08 !important;
  margin: 0 0 12px !important;
  position: relative !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text .stage-headline {
    font-size: 60px !important;
    line-height: 1.07 !important;
  }
}

@media (min-width: 1248px) {
  html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text .stage-headline {
    font-size: 80px !important;
    line-height: 1.05 !important;
  }
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text .stage-subline {
  color: #fff !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
  position: relative !important;
  text-transform: none !important;
  z-index: 2 !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .slide-text .stage-subline {
    font-size: 32px !important;
    line-height: 1.17 !important;
  }
}

html body #page-wrapper > .module.module-stage.unit {
  margin-bottom: 84px !important;
}

html body #page-wrapper > .module.module-stage.unit .stage-text {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
}

html body #page-wrapper > .module.module-stage.unit .text {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding: 24px 0 !important;
  position: relative !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage.unit .text {
    padding: 48px 0 !important;
  }
}

@media (min-width: 1248px) {
  html body #page-wrapper > .module.module-stage.unit .text {
    padding: 72px 0 !important;
  }
}

html body #page-wrapper > .module.module-stage.unit .text .paragraph.text-one-column {
  column-count: 1 !important;
  margin: 0 auto !important;
  max-width: 636px !important;
  text-align: center !important;
  width: 100% !important;
}

html body #page-wrapper > .module.module-stage.unit .text .paragraph .stage-headline,
html body #page-wrapper > .module.module-stage.unit .text .paragraph .stage-headline.h1 {
  color: var(--nbi-page-intro-body-color) !important;
  display: inline !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  margin: 0 !important;
  text-transform: none !important;
}

html body #page-wrapper > .module.module-stage.unit .text .paragraph p {
  color: var(--nbi-page-intro-body-color) !important;
  display: inline !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  margin: 0 !important;
  text-transform: none !important;
}

html body #page-wrapper > .module.module-stage.unit .unit-highlighter {
  align-items: center !important;
  color: var(--nbi-color-text) !important;
  display: flex !important;
  flex-direction: column !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: 18px !important;
  line-height: 1.22 !important;
  order: 1 !important;
  padding-top: 24px !important;
  position: relative !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage.unit .unit-highlighter {
    font-size: 30px !important;
    line-height: 1.2 !important;
    padding-top: 36px !important;
  }
}

@media (min-width: 1248px) {
  html body #page-wrapper > .module.module-stage.unit .unit-highlighter {
    font-size: 40px !important;
    line-height: 1.1 !important;
    padding-top: 60px !important;
  }
}

html body #page-wrapper > .module.module-stage.unit .unit-highlighter .unit-text img {
  background-color: #fff !important;
  display: block !important;
  height: auto !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  padding: 6px !important;
  width: 200px !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage.unit .unit-highlighter .unit-text img {
    padding: 9px !important;
    width: 258px !important;
  }
}

@media (min-width: 1248px) {
  html body #page-wrapper > .module.module-stage.unit .unit-highlighter .unit-text img {
    padding: 10px !important;
    width: 324px !important;
  }
}

html body #page-wrapper > .module.module-big-image-slider {
  margin-bottom: 84px !important;
}

html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slide .slide-info {
  bottom: 84px !important;
  box-sizing: border-box !important;
  left: 0 !important;
  padding-left: max(var(--nbi-layout-gutter), 72px) !important;
  padding-right: max(var(--nbi-layout-gutter), 72px) !important;
  position: absolute !important;
  right: 0 !important;
  text-align: center !important;
  z-index: 2 !important;
}

html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slide .slide-info .text p,
html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slide .slide-info .stage-headline {
  color: #fff !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  margin: 0 !important;
  text-transform: none !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) :is(.stage-slider, .big-image-slider) .slick-arrow,
html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slick-arrow {
  background-color: rgba(0, 0, 0, 0.65) !important;
  border: none !important;
  display: block !important;
  padding: 10px 18px !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: background-color 0.3s !important;
  z-index: 3 !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) :is(.stage-slider, .big-image-slider) .slick-arrow.prev,
html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slick-arrow.prev {
  left: 0 !important;
  transform: translateY(-50%) rotate(180deg) !important;
}

html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slick-arrow.next,
html body #page-wrapper > .module.module-stage:not(.editorial.error-page) :is(.stage-slider, .big-image-slider) .slick-arrow.next {
  right: 0 !important;
}

@media (min-width: 834px) {
  html body #page-wrapper > .module.module-stage:not(.editorial.error-page) :is(.stage-slider, .big-image-slider) .slick-arrow,
  html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slick-arrow {
    padding: 24px 36px !important;
  }
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) :is(.stage-slider, .big-image-slider) .slick-arrow:hover,
html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slick-arrow:hover {
  background-color: var(--nbi-btn-fill-bg) !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) :is(.stage-slider, .big-image-slider) .slick-arrow:before,
html body #page-wrapper > .module.module-big-image-slider .big-image-slider .slick-arrow:before {
  color: #fff !important;
  font-size: 12px !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .module-container .slick-dots {
  bottom: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 24px !important;
  position: absolute !important;
  right: 0 !important;
  z-index: 3 !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .module-container .slick-dots li .line {
  background-color: rgba(255, 255, 255, 0.45) !important;
}

html body #page-wrapper > .module.module-stage:not(.editorial.error-page) .module-container .slick-dots li.slick-active .line {
  background-color: #fff !important;
}

/* --- 24. Text-media layout — beats CMS row-reverse without breakpoint --- */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media,
html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media {
  align-items: stretch !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: var(--nbi-section-gap) !important;
  margin-bottom: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media.image-right,
html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media.image-right {
  flex-direction: column !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media {
    align-items: center !important;
    flex-direction: row !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media.image-right,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media.image-right {
    flex-direction: row-reverse !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .image-container,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media .image-container,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media a.image-container,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media a.image-container {
    display: block !important;
    flex: 0 1 50% !important;
    margin: 0 !important;
    max-width: 50% !important;
    order: 1 !important;
    width: auto !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .text,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text {
    flex: 0 1 50% !important;
    max-width: 50% !important;
    order: 2 !important;
    width: auto !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .image-container .image,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media .image-container .image,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media a.image-container .image,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media a.image-container .image {
    display: block !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    width: 100% !important;
  }
}

@media (max-width: 833px) {
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .image-container,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media .image-container,
  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media a.image-container,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media a.image-container {
    flex: 0 0 auto !important;
    margin: 0 0 36px !important;
    max-width: 100% !important;
    order: 1 !important;
    width: 100% !important;
  }

  html body #header-2018:not(.no-breadcrumb) + #page-wrapper .module-text-media .text,
  html body #header-2018.no-breadcrumb + #page-wrapper .module-text-media .text {
    flex: 0 0 auto !important;
    margin: 0 !important;
    max-width: 100% !important;
    order: 2 !important;
    width: 100% !important;
  }
}

/* --- 28. FAQ accordion — blanco.co.uk/service/faq (EOF beats CMS + Faz 42) --- */
html body #page-wrapper .module-accordion > .module-container > .module-headline {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 32px !important;
  max-width: none !important;
  text-align: left !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-accordion > .module-container > .module-headline {
    font-size: var(--nbi-h3-size-desktop) !important;
    margin-bottom: 40px !important;
  }
}

html body #page-wrapper .module-accordion > .module-container > .module-headline + .accordion {
  margin-top: 0 !important;
}

/* Rows — UK toggle: border #bdbdbd, hover bg #f3f3f3 */
html body #page-wrapper .module-accordion .accordion-item {
  border-bottom: 1px solid #bdbdbd !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #page-wrapper .module-accordion .accordion-item:first-child {
  border-top: 1px solid #bdbdbd !important;
}

html body #page-wrapper .module-accordion .accordion-head {
  background-color: #fff !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 16px !important;
  transition: background-color 0.25s ease !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-accordion .accordion-head {
    padding: 24px !important;
  }
}

html body #page-wrapper .module-accordion .accordion-head:hover,
html body #page-wrapper .module-accordion .accordion-item.open .accordion-head,
html body #page-wrapper .module-accordion .accordion-item.active .accordion-head {
  background-color: var(--nbi-surface-mist) !important;
}

html body #page-wrapper .module-accordion .accordion-head:focus-visible {
  background-color: var(--nbi-surface-mist) !important;
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

/* Question — UK font--b1: regular weight, black (not bold) */
html body #page-wrapper .module-accordion .accordion-headline,
html body #page-wrapper .module-accordion .accordion-head .accordion-headline,
html body #page-wrapper .module-accordion .accordion-head h6.accordion-headline {
  color: #000 !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 24px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 36px !important;
  text-transform: none !important;
}

@media (max-width: 1247px) {
  html body #page-wrapper .module-accordion .accordion-headline,
  html body #page-wrapper .module-accordion .accordion-head .accordion-headline,
  html body #page-wrapper .module-accordion .accordion-head h6.accordion-headline {
    font-size: 18px !important;
    line-height: 32px !important;
  }
}

/* Icon — UK black down chevron (replaces CMS blue +/- bars) */
html body #page-wrapper .module-accordion .accordion-icon {
  align-items: center !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M19 15L17.59 13.59L13 18.17V2H11V18.17L6.41 13.58L5 15L12 22L19 15Z' fill='%23000'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 24px 24px !important;
  color: transparent !important;
  display: block !important;
  flex-shrink: 0 !important;
  font-size: 0 !important;
  height: 24px !important;
  overflow: hidden !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: scaleY(1) !important;
  transition: transform 0.2s ease !important;
  width: 24px !important;
}

@media (max-width: 1247px) {
  html body #page-wrapper .module-accordion .accordion-icon {
    background-size: 16px 16px !important;
    height: 16px !important;
    width: 16px !important;
  }
}

html body #page-wrapper .module-accordion .accordion-icon::before,
html body #page-wrapper .module-accordion .accordion-icon::after {
  background: none !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  opacity: 0 !important;
  width: 0 !important;
}

html body #page-wrapper .module-accordion .accordion-item.open .accordion-icon,
html body #page-wrapper .module-accordion .accordion-item.active .accordion-icon {
  transform: scaleY(-1) !important;
}

html body #page-wrapper .module-accordion .accordion-content .module.module-infobox-text,
html body #page-wrapper .module-accordion .accordion-content .module.module-infobox-text .infobox-text-container,
html body #page-wrapper .module-accordion .accordion-content .module.module-infobox-text .text {
  display: block !important;
  float: none !important;
  gap: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #page-wrapper .module-accordion .accordion-content .module.module-infobox-text:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Open panel — breathing room below question row (UK FAQ) */
html body #page-wrapper .module-accordion .accordion-item.open .accordion-content .content,
html body #page-wrapper .module-accordion .accordion-item.active .accordion-content .content {
  box-sizing: border-box !important;
  padding: 16px 16px 48px !important;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-accordion .accordion-item.open .accordion-content .content,
  html body #page-wrapper .module-accordion .accordion-item.active .accordion-content .content {
    padding: 24px 24px 60px !important;
  }
}

@media (max-width: 767px) {
  html body #page-wrapper .module-accordion .accordion-item.open .accordion-content .content,
  html body #page-wrapper .module-accordion .accordion-item.active .accordion-content .content {
    padding-bottom: 36px !important;
  }
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content p,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content li,
html body #page-wrapper .module-accordion .accordion-content .rt-editor p {
  color: var(--nbi-color-text) !important;
  font-family: HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  text-transform: none !important;
}

html body #page-wrapper .module-accordion .accordion-content :is(
  .rt-editor,
  .rt-editor p,
  .rt-editor li,
  .rt-editor generic,
  .text,
  .text p,
  .text li
) {
  font-weight: 300 !important;
}

html body #page-wrapper .module-accordion .accordion-content :is(strong, b) {
  font-weight: 300 !important;
}

html body #page-wrapper .module-accordion .accordion-content a:not(.btn) {
  color: var(--nbi-content-link-color) !important;
  font-weight: 300 !important;
  text-decoration: underline !important;
  text-decoration-thickness: var(--nbi-content-link-underline) !important;
  text-underline-offset: 2px !important;
}

html body #page-wrapper .module-accordion .accordion-content a:not(.btn):hover,
html body #page-wrapper .module-accordion .accordion-content a:not(.btn):focus-visible {
  color: var(--nbi-content-link-color) !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* --- 29. Katalog & Broschüren — blanco.de/service/broschueren-und-kataloge --- */
/* Pattern: .module-headline + .module-brochure-download (standalone download list, no #contact-form) */
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module.module-brochure-download) {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding: var(--nbi-page-intro-padding-y) var(--nbi-layout-gutter) var(--nbi-dist-v) !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module.module-brochure-download) {
    padding: var(--nbi-page-intro-padding-y-md) var(--nbi-layout-gutter) var(--nbi-dist-v) !important;
  }
}

@media (min-width: 1194px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module.module-brochure-download) {
    padding: var(--nbi-page-intro-padding-y-lg) var(--nbi-layout-gutter) 48px !important;
  }
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module.module-brochure-download) h1,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module.module-brochure-download) h1.h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  max-width: 100% !important;
  text-align: left !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module.module-brochure-download) h1,
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module.module-brochure-download) h1.h2 {
    font-size: var(--nbi-h1-size-desktop) !important;
    margin-bottom: 32px !important;
  }
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download {
  background: transparent !important;
  box-sizing: border-box !important;
  margin: 0 auto var(--nbi-block-padding-y) !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding: 0 var(--nbi-layout-gutter) var(--nbi-block-padding-y) !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download > .module-container {
  margin: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .brochure-download-container,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .brochure-download {
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .container-broschuere {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 18px 0 !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .container-broschuere {
    padding: 36px 0 !important;
  }
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content {
  align-items: center !important;
  background: transparent !important;
  background-color: transparent !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  width: 100% !important;
}

/* CMS style-cms-css: .broschuere-content::after { background: rgba(175,175,175,.12) } */
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content::after {
  background: none !important;
  background-color: transparent !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content > .image,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content > img.image {
  display: none !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info {
  align-items: center !important;
  background: transparent !important;
  background-color: transparent !important;
  display: flex !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  margin-top: 0 !important;
  min-height: 24px !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: relative !important;
  width: 100% !important;
}

/* Title lives in h3; anchor is icon-only — blanco.de download-list row */
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info .text {
  background: transparent !important;
  background-color: transparent !important;
  display: block !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 0 0 40px !important;
  pointer-events: none !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info .text p {
  display: none !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info .text h3.headline {
  color: var(--nbi-blanco-blue) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  line-height: 16px !important;
  margin: 0 !important;
  max-width: 100% !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info :is(.btn.pdf-download, .btn.download, a.pdf-download) {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: transparent !important;
  display: flex !important;
  font-size: 0 !important;
  inset: 0 !important;
  justify-content: flex-start !important;
  line-height: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  text-decoration: none !important;
  width: 100% !important;
  z-index: 1 !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info :is(.btn.pdf-download, .btn.download, a.pdf-download)::before {
  color: var(--nbi-blanco-blue) !important;
  content: "\e947" !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  font-family: var(--nbi-font-icon) !important;
  font-size: 24px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: static !important;
  speak: never !important;
  -webkit-font-smoothing: antialiased !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info:has(:is(.btn.pdf-download, .btn.download, a.pdf-download):hover) .text h3.headline,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info:has(:is(.btn.pdf-download, .btn.download, a.pdf-download):focus-visible) .text h3.headline {
  text-decoration: underline !important;
  text-underline-offset: 0.3em !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info :is(.btn.pdf-download, .btn.download, a.pdf-download):hover,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module.module-brochure-download .broschuere-content .info :is(.btn.pdf-download, .btn.download, a.pdf-download):focus-visible {
  background: transparent !important;
  border: 0 !important;
  color: transparent !important;
  text-decoration: none !important;
}

/* --- 27. Legal pages (Impressum) — blanco.de/rechtliche-hinweise/impressum --- */
/* Pattern: .module-headline + .module-infobox-text with .text only (no grey .infobox) */
/* NOTE: breadcrumb sits between header and #page-wrapper — use ~ not + */
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module-infobox-text:not(:has(.infobox))) {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-legal-content-max) !important;
  padding: var(--nbi-page-intro-padding-y) 0 var(--nbi-dist-v) !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module-infobox-text:not(:has(.infobox))) {
    padding: var(--nbi-page-intro-padding-y-md) 0 var(--nbi-dist-v) !important;
  }
}

@media (min-width: 1194px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module-infobox-text:not(:has(.infobox))) {
    padding: var(--nbi-page-intro-padding-y-lg) 0 48px !important;
  }
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module-infobox-text:not(:has(.infobox))) h1,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module-infobox-text:not(:has(.infobox))) h1.h2 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h1-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 auto 24px !important;
  max-width: 100% !important;
  text-align: center !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module-infobox-text:not(:has(.infobox))) h1,
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child:has(+ .module-infobox-text:not(:has(.infobox))) h1.h2 {
    font-size: var(--nbi-h1-size-desktop) !important;
    margin-bottom: 32px !important;
  }
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) {
  background: transparent !important;
  box-sizing: border-box !important;
  margin: 0 auto var(--nbi-block-padding-y) !important;
  max-width: var(--nbi-legal-content-max) !important;
  padding: 0 0 var(--nbi-block-padding-y) !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .infobox-text-container {
  display: block !important;
  float: none !important;
  gap: 0 !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor p {
  color: var(--nbi-page-intro-body-color) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 0 24px !important;
  text-align: left !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor p:last-child {
  margin-bottom: 0 !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor :is(b, strong) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor h3,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor h3.h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: var(--nbi-heading-letter-spacing) !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 32px 0 16px !important;
  text-align: left !important;
  text-transform: none !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor a:not(.btn) {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.3em !important;
}

html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor a:not(.btn):hover,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper > .module.module-headline:first-child + .module-infobox-text:not(:has(.infobox)) .text .rt-editor a:not(.btn):focus-visible {
  color: var(--nbi-content-link-color) !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
  text-decoration: underline !important;
}

/* Footer sits inside #page-wrapper — drop shell bottom pad; offset band owns the gap */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-footer),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> footer.module-footer) {
  padding-bottom: 0 !important;
}

/* Footer sits inside #page-wrapper — drop shell bottom pad; footer padding owns the gap */
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> .module-footer),
html body #header-2018:not(.no-breadcrumb) + #page-wrapper:has(> footer.module-footer) {
  padding-bottom: 0 !important;
}

/* --- 25. Footer shell — full-bleed blue + extra blue height above content line --- */
html body footer.module-footer,
html body .module-footer {
  background-color: var(--nbi-color-nav-bg) !important;
  background-image: none !important;
  border-top: none !important;
  box-sizing: border-box !important;
  margin-left: calc(-1 * var(--nbi-layout-gutter)) !important;
  margin-right: calc(-1 * var(--nbi-layout-gutter)) !important;
  margin-top: 0 !important;
  max-width: none !important;
  padding: var(--nbi-footer-offset-top) var(--nbi-layout-gutter) var(--nbi-footer-padding-bottom) !important;
  width: calc(100% + 2 * var(--nbi-layout-gutter)) !important;
}

@media (min-width: 834px) {
  html body footer.module-footer,
  html body .module-footer {
    padding-bottom: var(--nbi-footer-padding-bottom) !important;
    padding-left: var(--nbi-layout-gutter) !important;
    padding-right: var(--nbi-layout-gutter) !important;
    padding-top: var(--nbi-footer-offset-top) !important;
  }
}

html body .module-footer .footer-linklist,
html body .module-footer:not(:has(.footer-linklist)):not(:has(.visit-us)) .footer-meta-nav {
  border-top: 1px solid var(--nbi-footer-separator-color) !important;
  padding-top: var(--nbi-footer-padding-y) !important;
}

@media (min-width: 834px) {
  html body .module-footer .footer-linklist,
  html body .module-footer:not(:has(.footer-linklist)):not(:has(.visit-us)) .footer-meta-nav {
    padding-top: var(--nbi-footer-padding-y-md) !important;
  }
}

@media (min-width: 1194px) {
  html body .module-footer .footer-linklist,
  html body .module-footer:not(:has(.footer-linklist)):not(:has(.visit-us)) .footer-meta-nav {
    padding-top: var(--nbi-footer-padding-y-lg) !important;
  }
}

html body .module-footer:has(.footer-linklist) .footer-meta-nav {
  border-top: 1px solid var(--nbi-footer-separator-color) !important;
  padding-top: 32px !important;
}

html body .module-footer .footer-linklist a:hover,
html body .module-footer .footer-linklist a:focus-visible,
html body .module-footer .accordion a:hover,
html body .module-footer .accordion a:focus-visible,
html body .module-footer ul.linklist li a:hover,
html body .module-footer ul.linklist li a:focus-visible,
html body .module-footer .footer-meta-nav a:hover,
html body .module-footer .footer-meta-nav a:focus-visible {
  color: var(--nbi-blanco-blue-hover) !important;
  text-decoration: none !important;
}

html body .module-footer .footer-linklist,
html body .module-footer .footer-meta-nav,
html body .module-footer .visit-us {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* --- 8. Meta-bar (Kontakt, An-/Abmelden) — beats inline CMS <style> --- */
html body .meta-bar .meta-links {
  align-items: center !important;
  flex-direction: row !important;
}

html body .meta-bar .meta-links .meta-link:has(> .icon) {
  align-items: center !important;
  display: inline-flex !important;
  flex-direction: row !important;
  gap: var(--nbi-meta-link-icon-gap) !important;
  padding: 0 !important;
  padding-left: 0 !important;
  position: static !important;
}

html body .meta-bar .meta-links .meta-link:has(> .icon)::before,
html body .meta-bar .meta-links .meta-link.brand-portal:has(> .icon)::before,
html body .meta-bar .meta-links .meta-link.logged-in:has(> .icon)::before {
  content: none !important;
  display: none !important;
}

html body .meta-bar .meta-links .meta-link .icon::before {
  margin: 0 !important;
  margin-right: 0 !important;
}

html body .meta-bar .meta-links .meta-link .direct-link {
  letter-spacing: normal !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  text-transform: none !important;
}

/* --- 4b. Breadcrumb — logo alignment + blanco chevron (beats inline <style> + CMS) --- */
html body header#header-2018 ~ ul.breadcrumb {
  align-items: center !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: wrap !important;
  font-family: var(--nbi-font-primary) !important;
  gap: 8px !important;
  left: auto !important;
  list-style: none !important;
  margin: 0 auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding: var(--nbi-breadcrumb-padding-y) var(--nbi-layout-gutter) !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 100% !important;
  z-index: auto !important;
}

@media (max-width: 1247px) {
  html body header#header-2018 ~ ul.breadcrumb {
    padding-left: calc(var(--nbi-layout-gutter) + var(--nbi-header-burger-offset) + var(--nbi-header-nav-gap)) !important;
  }
}

@media (min-width: 1248px) {
  html body header#header-2018 ~ ul.breadcrumb {
    padding-left: var(--nbi-layout-gutter) !important;
    padding-right: var(--nbi-layout-gutter) !important;
  }
}

html body header#header-2018 ~ ul.breadcrumb li {
  align-items: center !important;
  color: var(--nbi-color-text) !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}

html body header#header-2018 ~ ul.breadcrumb li::before,
html body header#header-2018 ~ ul.breadcrumb li::after,
html body header#header-2018 ~ ul.breadcrumb a::before,
html body header#header-2018 ~ ul.breadcrumb a::after,
html body header#header-2018 ~ ul.breadcrumb span::before,
html body header#header-2018 ~ ul.breadcrumb span::after {
  background: none !important;
  border: 0 !important;
  color: transparent !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

html body header#header-2018 ~ ul.breadcrumb li:first-child a {
  color: var(--nbi-color-text) !important;
  font-size: 0 !important;
}

html body header#header-2018 ~ ul.breadcrumb li:first-child a::after {
  color: var(--nbi-color-text) !important;
  content: "Startseite" !important;
  display: inline !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
}

html body header#header-2018 ~ ul.breadcrumb li + li::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath fill='%23000' d='M1.293 11.707a1 1 0 0 1 0-1.414L4.586 6 1.293 2.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414 0z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  height: 12px !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  width: 8px !important;
}

html body header#header-2018 ~ ul.breadcrumb li + li {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

html body header#header-2018 ~ ul.breadcrumb a {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-decoration: none !important;
  text-transform: none !important;
}

html body header#header-2018 ~ ul.breadcrumb a:hover,
html body header#header-2018 ~ ul.breadcrumb a:focus-visible {
  color: var(--nbi-color-text) !important;
}

html body header#header-2018 ~ ul.breadcrumb li.no-link,
html body header#header-2018 ~ ul.breadcrumb li.no-link span,
html body header#header-2018 ~ ul.breadcrumb li:last-child span,
html body header#header-2018 ~ ul.breadcrumb li:last-of-type span {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  pointer-events: auto !important;
  text-decoration: none !important;
  text-transform: none !important;
}

/* --- Kontakt contact-info — hotline + address shell (EOF, beats CMS margins) --- */
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information,
html body #page-wrapper:has([data-view="contact-box"]) .module.module-contact-information {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information > .module-container {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  gap: 48px !important;
  grid-template-columns: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-content-inner-max) !important;
  padding: 0 !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information > .module-container {
    align-items: flex-start !important;
    flex-direction: row !important;
    gap: var(--nbi-block-gap) !important;
  }
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .phone,
html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .address {
  flex: none !important;
  float: none !important;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .phone,
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .address {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
  }
}

/* --- REFERENCE § bullets — blanco.co.uk sinks/installation (disc ●, 20px, 40px indent) --- */
/* Beats CMS + inline .unordered-list { list-style:none; li:before ring } — nav/footer excluded */
html body #page-wrapper :is(
  .rt-editor ul,
  .rt-editor ul.unordered-list,
  .module .rt-editor ul,
  .module-accordion .accordion-content ul,
  .module-text-media .text .rt-editor ul,
  .module-infobox-text .rt-editor ul,
  .module-infobox-text .infobox .rt-editor ul,
  .module-headline .rt-editor ul,
  .module-login .additional-information ul,
  .module-form .multiple-col.unordered-list,
  .module-form .contact-box .multiple-col.unordered-list
) {
  color: var(--nbi-page-intro-body-color) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  list-style-type: disc !important;
  list-style-position: outside !important;
  margin: 0 0 16px !important;
  padding-left: 40px !important;
  text-transform: none !important;
}

html body #page-wrapper :is(
  .rt-editor ul li,
  .rt-editor ul.unordered-list li,
  .module .rt-editor ul li,
  .module-accordion .accordion-content ul li,
  .module-text-media .text .rt-editor ul li,
  .module-infobox-text .rt-editor ul li,
  .module-infobox-text .infobox .rt-editor ul li,
  .module-headline .rt-editor ul li,
  .module-login .additional-information ul li,
  .module-form .multiple-col.unordered-list li,
  .module-form .contact-box .multiple-col.unordered-list li
) {
  font-weight: 400 !important;
  list-style-type: disc !important;
  list-style-position: outside !important;
  margin-bottom: 8px !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  position: static !important;
}

html body #page-wrapper :is(
  .rt-editor ul li:last-child,
  .rt-editor ul.unordered-list li:last-child,
  .module .rt-editor ul li:last-child,
  .module-accordion .accordion-content ul li:last-child,
  .module-text-media .text .rt-editor ul li:last-child,
  .module-infobox-text .rt-editor ul li:last-child,
  .module-infobox-text .infobox .rt-editor ul li:last-child,
  .module-headline .rt-editor ul li:last-child,
  .module-login .additional-information ul li:last-child,
  .module-form .multiple-col.unordered-list li:last-child,
  .module-form .contact-box .multiple-col.unordered-list li:last-child
) {
  margin-bottom: 0 !important;
}

html body #page-wrapper :is(
  .rt-editor ul li::before,
  .rt-editor ul.unordered-list li::before,
  .module .rt-editor ul li::before,
  .module-accordion .accordion-content ul li::before,
  .module-text-media .text .rt-editor ul li::before,
  .module-infobox-text .rt-editor ul li::before,
  .module-infobox-text .infobox .rt-editor ul li::before,
  .module-headline .rt-editor ul li::before,
  .module-login .additional-information ul li::before,
  .module-form .multiple-col.unordered-list li::before,
  .module-form .contact-box .multiple-col.unordered-list li::before
) {
  background: none !important;
  border: none !important;
  content: none !important;
  display: none !important;
  height: auto !important;
  width: auto !important;
}

/* --- 30. Header flyout — mega-menu 3-column (blanco.co.uk parity, EOF wins) --- */
@media (min-width: 1248px) {
  html:not(.burger-navigation) body header#header-2018 .main-navigation .flyouts {
    left: 50% !important;
    max-width: none !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout.active {
    left: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  /* 3-column link grid (teaser hidden — cols 1–3 all navigation) */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-inner,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content {
    align-items: start !important;
    column-gap: 48px !important;
    display: grid !important;
    flex-direction: unset !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    margin: 0 auto !important;
    max-width: var(--nbi-layout-shell-max) !important;
    row-gap: 0 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .left-content {
    display: contents !important;
    flex: unset !important;
    float: none !important;
    max-width: none !important;
    width: auto !important;
  }

  /* .teaser (Weitere Fragen? / figure promo) — commented out per product scope */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .teaser {
    display: none !important;
  }

  /* Category + submenu stacks — each column flows independently (no shared row-1 block) */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level {
    display: contents !important;
    float: none !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    width: auto !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:has(> .back-button) {
    display: none !important;
  }

  /* CMS order: overview | cat-A | cat-B | … — 3 Spalten; jede Kategorie-Reihe belegt zwei Grid-Zeilen:
     Ueberschriften in Zeile 1/3/5, ihre Untermenues direkt darunter in Zeile 2/4/6 (gleiche Spalte) */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(2) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(4) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(5) {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(6) {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(7) {
    grid-column: 3 !important;
    grid-row: 3 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(8) {
    grid-column: 1 !important;
    grid-row: 5 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(9) {
    grid-column: 2 !important;
    grid-row: 5 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li:nth-child(10) {
    grid-column: 3 !important;
    grid-row: 5 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems {
    padding-bottom: 4px !important;
  }

  /* All submenus visible — no click-to-open panel (beats CMS max-height:0 / .visible) */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu.visible {
    align-self: start !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 0 !important;
    transition: none !important;
    width: auto !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu:not(:has(li > a[href])) {
    display: none !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu > li:has(> .back-button) {
    display: none !important;
  }

  /* Submenus directly under their category (child n+1 gehoert zur Kategorie li n+2) */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(3) {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(4) {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(5) {
    grid-column: 2 !important;
    grid-row: 4 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(6) {
    grid-column: 3 !important;
    grid-row: 4 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(7) {
    grid-column: 1 !important;
    grid-row: 6 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(8) {
    grid-column: 2 !important;
    grid-row: 6 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .flyout-content > .submenu:nth-child(9) {
    grid-column: 3 !important;
    grid-row: 6 !important;
  }

  /* Category headers — hover: muted color, no underline (blanco.co.uk) */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:hover,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:hover,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:focus-visible,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:focus-visible {
    color: var(--nbi-flyout-muted) !important;
    text-decoration: none !important;
  }

  /* Sub-links — blanco.co.uk child rows (400 / 16px / white, aligned under header text) */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems {
    align-items: flex-start !important;
    color: var(--nbi-flyout-fg) !important;
    display: block !important;
    font-family: var(--nbi-font-primary) !important;
    font-size: var(--nbi-flyout-category-size) !important;
    font-weight: 400 !important;
    gap: 0 !important;
    letter-spacing: normal !important;
    line-height: 1.5 !important;
    padding: 2px 32px 10px 56px !important;
    text-decoration: none !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu > li:first-child > a,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu > li:first-child > .has-subitems {
    padding-top: 0 !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:hover,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:focus-visible {
    color: var(--nbi-flyout-fg) !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0.3em !important;
  }

  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a::before,
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems::before {
    content: none !important;
    display: none !important;
  }

  /* Keep second-level visible when JS toggles .inactive on click */
  html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout .second-level.inactive > li {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  @media (min-width: 1194px) {
    html:not(.burger-navigation) body header#header-2018 .main-navigation .navigation-points .flyout :is(
      .second-level > li > a,
      .second-level > li > .has-subitems
    ) {
      font-size: 20px !important;
    }
  }
}

/* --- 31. Mobile burger — EOF (beats CMS width:300%, inline max-height, §12 font-size) --- */
@media (max-width: 1247px) {
  html,
  body,
  body.burger-navigation,
  #page-wrapper {
    max-width: 100% !important;
    overflow-x: clip !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018,
  body.burger-navigation header#header-2018 .main-navigation {
    max-width: 100% !important;
    overflow: visible !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points {
    background-color: var(--nbi-color-nav-bg) !important;
    display: block !important;
    left: 0 !important;
    max-height: calc(100vh - var(--nbi-header-height)) !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transition: max-height 0.35s ease-in !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 {
    background-color: var(--nbi-flyout-bg) !important;
    left: 0 !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > .flyouts {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  html body.burger-navigation header#header-2018 .main-navigation .mobile-menu {
    color: transparent !important;
    display: block !important;
    font-size: 0 !important;
    height: 16px !important;
    line-height: 0 !important;
    overflow: visible !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
    width: 24px !important;
  }

  html body.burger-navigation header#header-2018 .main-navigation .mobile-menu .burger-bar-1,
  html body.burger-navigation header#header-2018 .main-navigation .mobile-menu .burger-bar-2,
  html body.burger-navigation header#header-2018 .main-navigation .mobile-menu .burger-bar-3 {
    background-color: var(--nbi-color-nav-fg) !important;
    display: block !important;
    position: absolute !important;
    right: 0 !important;
    text-indent: 0 !important;
    transition: all 0.35s ease-in-out !important;
    width: 100% !important;
  }

  html body.burger-navigation header#header-2018 .main-navigation .mobile-menu.active .burger-bar-1 {
    opacity: 1 !important;
    right: -4px !important;
    top: calc(50% - 1px) !important;
    transform: rotate(-45deg) !important;
    width: 23px !important;
  }

  html body.burger-navigation header#header-2018 .main-navigation .mobile-menu.active .burger-bar-2 {
    opacity: 0 !important;
  }

  html body.burger-navigation header#header-2018 .main-navigation .mobile-menu.active .burger-bar-3 {
    bottom: calc(50% - 1px) !important;
    opacity: 1 !important;
    right: -3px !important;
    top: auto !important;
    transform: rotate(45deg) !important;
    width: 23px !important;
  }

  body.burger-navigation header#header-2018 .main-navigation:not(.open) .navigation-points {
    max-height: 0 !important;
    overflow: hidden !important;
  }

  /* --- Level-1 list (blanco.co.uk mobile overlay) --- */
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 24px !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li {
    border-bottom: 1px solid rgba(178, 187, 232, 0.35) !important;
    display: flex !important;
    margin: 0 !important;
    min-height: 58px !important;
    position: relative !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li:last-child {
    border-bottom: 0 !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .main-navigation-link,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .direct-link {
    align-items: center !important;
    border: 0 !important;
    box-sizing: border-box !important;
    color: var(--nbi-flyout-fg) !important;
    display: flex !important;
    flex: 1 1 auto !important;
    font-family: var(--nbi-font-primary) !important;
    font-size: var(--nbi-font-size-body) !important;
    font-weight: 400 !important;
    justify-content: flex-start !important;
    letter-spacing: normal !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    min-height: 58px !important;
    padding: 16px 48px 16px 0 !important;
    position: relative !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    width: 100% !important;
  }

  /* Chevron only on flyout items (not plain direct links) */
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .main-navigation-link::before {
    color: var(--nbi-flyout-fg) !important;
    content: "\2192" !important;
    font-family: var(--nbi-font-primary) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .direct-link::before {
    content: none !important;
    display: none !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .main-navigation-link::after,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .direct-link::after {
    content: none !important;
    display: none !important;
  }

  /* --- Flyout drill-down panel (level-2/3 stack swap) --- */
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points:not(.level-2):not(.level-3) > .flyouts {
    display: none !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 > ul,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 > ul {
    display: none !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 > .flyouts,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 > .flyouts {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 {
    background-color: var(--nbi-flyout-bg) !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .flyout.active,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .flyout.active {
    background-color: var(--nbi-flyout-bg) !important;
    display: block !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 0 !important;
    visibility: visible !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .flyout.active .left-content,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .flyout.active .second-level {
    display: block !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .flyout.active .left-content {
    display: none !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .submenu {
    display: none !important;
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    visibility: hidden !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .submenu {
    display: none !important;
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    visibility: hidden !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .submenu.visible {
    display: block !important;
    float: none !important;
    list-style: none !important;
    margin: 0 0 20px !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 0 var(--nbi-layout-gutter) 8px calc(var(--nbi-layout-gutter) + var(--nbi-flyout-icon-size) + var(--nbi-flyout-icon-gap)) !important;
    visibility: visible !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .submenu > li:has(> .back-button),
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .submenu > li:has(> .back-button) {
    display: none !important;
  }

  body.burger-navigation header#header-2018 .navigation-points > ul > li#search-button,
  body.burger-navigation header#header-2018 .navigation-points > .meta-bar {
    display: none !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout.active .flyout-content {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .flyout-content {
    margin: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .teaser,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .figure,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .left-content > .teaser {
    display: none !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level > li:has(> .back-button) {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .back-button {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(178, 187, 232, 0.25) !important;
    box-sizing: border-box !important;
    color: var(--nbi-flyout-fg) !important;
    cursor: pointer !important;
    display: block !important;
    font-family: var(--nbi-font-primary) !important;
    font-size: var(--nbi-font-size-body) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 16px var(--nbi-layout-gutter) !important;
    text-align: left !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level .back-button::before,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .submenu .back-button::before {
    color: currentColor !important;
    content: "\e918" !important;
    display: inline-block !important;
    font-family: var(--nbi-font-icon) !important;
    font-size: 14px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .left-content {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level > li:not(:has(> .back-button)) {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Category headers — bold + circle chevron */
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level > li > .has-subitems {
    align-items: center !important;
    display: flex !important;
    font-size: var(--nbi-font-size-body) !important;
    font-weight: 700 !important;
    gap: var(--nbi-flyout-icon-gap) !important;
    margin-top: 12px !important;
    padding: 12px var(--nbi-layout-gutter) 8px var(--nbi-layout-gutter) !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level > li > .has-subitems::before {
    background-color: var(--nbi-blanco-blue) !important;
    background-image: var(--nbi-flyout-icon-arrow) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: var(--nbi-flyout-chevron-size) var(--nbi-flyout-chevron-size) !important;
    border-radius: 50% !important;
    content: "" !important;
    display: block !important;
    flex-shrink: 0 !important;
    height: var(--nbi-flyout-icon-size) !important;
    width: var(--nbi-flyout-icon-size) !important;
  }

  /* Overview links — same row icon as categories (Faz 30 parity) */
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level > li > a:not(.has-subitems) {
    align-items: center !important;
    display: flex !important;
    font-size: var(--nbi-font-size-body) !important;
    font-weight: 400 !important;
    gap: var(--nbi-flyout-icon-gap) !important;
    padding: 12px var(--nbi-layout-gutter) 8px var(--nbi-layout-gutter) !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level > li > a:not(.has-subitems)::before {
    background-color: var(--nbi-blanco-blue) !important;
    background-image: var(--nbi-flyout-icon-arrow) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: var(--nbi-flyout-chevron-size) var(--nbi-flyout-chevron-size) !important;
    border-radius: 50% !important;
    content: "" !important;
    display: block !important;
    flex-shrink: 0 !important;
    height: var(--nbi-flyout-icon-size) !important;
    width: var(--nbi-flyout-icon-size) !important;
  }

  /* Sub-links under categories — indented, regular weight, no icon */
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .submenu li > a,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .submenu li > .has-subitems {
    color: var(--nbi-flyout-fg) !important;
    display: block !important;
    font-size: var(--nbi-font-size-body) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    padding: 8px var(--nbi-layout-gutter) 8px 0 !important;
    text-decoration: none !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .submenu li > a::before,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .submenu li > .has-subitems::before {
    content: none !important;
    display: none !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .submenu li > a:hover,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .submenu li > a:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 0.3em !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points .flyout .second-level > li > .has-subitems::before {
    display: block !important;
  }

  header#header-2018 .main-navigation:not(.open) .navigation-points > ul {
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (min-width: 834px) and (max-width: 1247px) {
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points {
    max-height: calc(100vh - var(--nbi-header-height-desktop)) !important;
  }
}

/* CTA: BUTTONS canonical block (.btn in .error-list) */

/* ==========================================================================
   §26 — CMS legacy greys (#575757 · #626262 · #525252) → primary black
   Beats style-cms-css.css (loaded before NBI)
   ========================================================================== */

html body #page-wrapper :is(
  .rt-editor p,
  .rt-editor li,
  .rt-editor span,
  .rt-editor generic,
  .rt-editor .h4,
  .rt-editor .h5,
  .h5,
  .accordion-headline,
  .accordion-content p,
  .accordion-content li,
  .accordion-content .rt-editor p,
  .accordion-content .rt-editor li,
  .responsive-table td,
  .responsive-table th,
  .module-sitemap li,
  .search-container-results p,
  .search-container-results li,
  .module-form .info p,
  .module-form .mandatory,
  .module-form .dialog-text,
  .module-form label,
  .module-video .rt-editor p,
  .module-brochure-download .rt-editor p,
  .module-text-media .text .rt-editor p,
  .module-text-media .text .rt-editor li,
  .module-centered-text .rt-editor p,
  .module-centered-text .rt-editor li,
  .module-infobox-text .infobox-text-container .text .rt-editor p,
  .module-infobox-text .infobox-text-container .infobox .rt-editor p,
  .module-infobox-text .infobox-text-container .text .rt-editor li,
  .module-infobox-text .infobox-text-container .infobox .rt-editor li,
  .unordered-list,
  .unordered-list li,
  .download-list li,
  .caption p
) {
  color: var(--nbi-color-text) !important;
}

/* CMS exact selectors (beats .accordion .paragraph p + .module-infobox-text paths) */
html body #page-wrapper .accordion .accordion-item .accordion-content .paragraph p,
html body #page-wrapper .accordion .accordion-item .accordion-content .module-infobox-text .rt-editor p,
html body #page-wrapper .accordion .accordion-item .accordion-content .module-infobox-text .rt-editor li,
html body #page-wrapper .module-infobox-text .infobox-text-container .text .rt-editor p,
html body #page-wrapper .module-infobox-text .infobox-text-container .infobox .rt-editor p,
html body #page-wrapper .module-infobox-text .infobox-text-container .text .rt-editor li,
html body #page-wrapper .module-infobox-text .infobox-text-container .infobox .rt-editor li,
html body #page-wrapper .module-contact-information .module-container p,
html body #page-wrapper .module-addresses .items .item-content,
html body #page-wrapper .module-addresses .items .item-content p {
  color: var(--nbi-color-text) !important;
}

/* CMS infobox headings — font-weight:800 in style-cms-css.css */
html body #page-wrapper .module-infobox-text .infobox-text-container .text .rt-editor :is(.h3, .h4, .h5, h3, h4, h5),
html body #page-wrapper .module-infobox-text .infobox-text-container .infobox .rt-editor :is(.h3, .h4, .h5, h3, h4, h5) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Page intro subline (h2.h3) — beats CMS + inline .module-headline .h3 {#575757}
   Note: breadcrumb sits between header and #page-wrapper — do NOT use header + page-wrapper */
html body #page-wrapper #module_headline.module.module-headline > h2.h3,
html body #page-wrapper #module_headline.module.module-headline > h2,
html body #page-wrapper > .module.module-headline:first-child > h2.h3,
html body #page-wrapper > .module.module-headline:first-child > h2,
html body #page-wrapper .module.module-headline > h2.h3,
html body #page-wrapper .module.module-headline h2.h3,
html body #page-wrapper .module-headline > h2.h3,
html body #page-wrapper .module-headline h2.h3 {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-page-intro-body-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-body) !important;
  text-transform: none !important;
}

@media (min-width: 834px) {
  html body #page-wrapper #module_headline.module.module-headline > h2.h3,
  html body #page-wrapper > .module.module-headline:first-child > h2.h3,
  html body #page-wrapper .module.module-headline > h2.h3 {
    font-size: var(--nbi-font-size-lg) !important;
    line-height: var(--nbi-line-height-body) !important;
  }
}

/* Inline CMS grey on content nodes */
html body #page-wrapper [style*="color:#575757"],
html body #page-wrapper [style*="color: #575757"],
html body #page-wrapper [style*="color:#626262"],
html body #page-wrapper [style*="color: #626262"],
html body #page-wrapper [style*="color:#525252"],
html body #page-wrapper [style*="color: #525252"] {
  color: var(--nbi-color-text) !important;
}

html body header#header-2018 ~ ul.breadcrumb :is(li, a, span) {
  color: var(--nbi-color-text) !important;
}

/* Brand / content links — accent color default, thicker underline on hover */
html body #page-wrapper .rt-editor a:not(.btn),
html body #page-wrapper a.text-link,
html body #page-wrapper .module-text-media .text a:not(.btn),
html body #page-wrapper .module-infobox-text a:not(.btn),
html body #page-wrapper .module-sitemap a {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-decoration-thickness: var(--nbi-content-link-underline) !important;
  text-underline-offset: 0.3em;
}

html body #page-wrapper .rt-editor a:not(.btn):hover,
html body #page-wrapper .rt-editor a:not(.btn):focus-visible,
html body #page-wrapper a.text-link:hover,
html body #page-wrapper a.text-link:focus-visible,
html body #page-wrapper .module-text-media .text a:not(.btn):hover,
html body #page-wrapper .module-text-media .text a:not(.btn):focus-visible,
html body #page-wrapper .module-infobox-text a:not(.btn):hover,
html body #page-wrapper .module-infobox-text a:not(.btn):focus-visible,
html body #page-wrapper .module-sitemap a:hover,
html body #page-wrapper .module-sitemap a:focus-visible {
  color: var(--nbi-content-link-color) !important;
  text-decoration: underline !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
}

/* ==========================================================================
   §27 — FAQ accordion answers — light body copy (CMS used 300 + #575757)
   ========================================================================== */

html body #page-wrapper .module-accordion .accordion-content,
html body #page-wrapper .module-accordion .accordion-content .content {
  color: var(--nbi-color-text) !important;
  font-weight: 300 !important;
}

html body #page-wrapper .module-accordion .accordion-content :is(
  p,
  li,
  span,
  generic,
  .rt-editor,
  .rt-editor p,
  .rt-editor li,
  .rt-editor generic,
  .rt-editor span,
  .text,
  .text p,
  .text li,
  .module-infobox-text,
  .module-infobox-text .infobox-text-container,
  .module-infobox-text .infobox .rt-editor,
  .module-infobox-text .infobox .rt-editor p,
  .module-infobox-text .infobox .rt-editor li,
  .module-infobox-text .text .rt-editor,
  .module-infobox-text .text .rt-editor p,
  .module-infobox-text .text .rt-editor li
) {
  color: var(--nbi-color-text) !important;
  font-family: HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  text-transform: none !important;
}

html body #page-wrapper .module-accordion .accordion-content :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .h3,
  .h4,
  .h5,
  .headline
):not(.accordion-headline) {
  color: var(--nbi-color-text) !important;
  font-family: HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}

html body #page-wrapper .module-accordion .accordion-content :is(strong, b) {
  font-weight: 300 !important;
}

html body #page-wrapper .module-accordion .accordion-content a:not(.btn),
html body #page-wrapper .module-accordion .accordion-content a:not(.btn):hover,
html body #page-wrapper .module-accordion .accordion-content a:not(.btn):focus-visible {
  font-weight: 300 !important;
}

/* Beat CMS .module-infobox-text .rt-editor .h3 { font-weight:800 } inside FAQ answers */
html body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container :is(.text, .infobox) .rt-editor :is(.h3, .h4, .h5, h3, h4, h5) {
  color: var(--nbi-color-text) !important;
  font-family: HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}

/* FAQ accordion — prevent horizontal page shift when panels open */
html body #page-wrapper .module-accordion,
html body #page-wrapper .module-accordion > .module-container,
html body #page-wrapper .module-accordion .accordion,
html body #page-wrapper .module-accordion .accordion-item,
html body #page-wrapper .module-accordion .accordion-content,
html body #page-wrapper .module-accordion .accordion-content .content {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html body #page-wrapper .module-accordion .accordion-item.open .accordion-content,
html body #page-wrapper .module-accordion .accordion-item.active .accordion-content {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* FAQ — nested infobox must not break shell centering (CMS 144px margins / 816px width) */
html body #page-wrapper .module-accordion .accordion-content .module.module-infobox-text,
html body #page-wrapper .module-accordion .accordion-content .module-infobox-text.light {
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container,
html body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container::before,
html body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container::after {
  box-sizing: border-box !important;
  display: block !important;
  float: none !important;
  grid-template-columns: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

html body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container > .text,
html body #page-wrapper .module-accordion .accordion-content .module-infobox-text .infobox-text-container > .infobox {
  box-sizing: border-box !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* Placeholders + disabled fields stay grey */
html body #page-wrapper :is(input, textarea)::placeholder {
  color: var(--nbi-color-placeholder) !important;
  opacity: 1 !important;
}

html body #page-wrapper :is(input, textarea, select)[disabled],
html body #page-wrapper :is(input, textarea)[readonly]:not([type="checkbox"]):not([type="radio"]) {
  color: #bdbdbd !important;
}

/* ==========================================================================
   FINAL — form select parity (absolute EOF · deploy marker: 2026-05-20-select)
   Beats style-cms-css iconfont ::after + all duplicate PART B/F blocks above
   ========================================================================== */

html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select::after,
html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column .form-group.select::before,
html body #page-wrapper .module-form .module-container #optin-email-form .contact-box .contact-information .column .form-group.select::after,
html body #page-wrapper .module-form .form-group.select::after,
html body #page-wrapper .module-form .form-group.select::before,
html body #page-wrapper .module-brochure-download .form-group.select::after {
  background: none !important;
  border: 0 !important;
  color: transparent !important;
  content: none !important;
  display: none !important;
  font-family: inherit !important;
  font-size: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  visibility: hidden !important;
  width: 0 !important;
}

html body #page-wrapper .module-form .form-group.select {
  position: relative !important;
}

html body #page-wrapper .module-form :is(select.form-select, .form-group.select > select, .form-group.select select) {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  background-image: var(--nbi-select-chevron) !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  cursor: pointer !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 400 !important;
  height: var(--nbi-field-height-lg) !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  max-height: var(--nbi-field-height-lg) !important;
  min-height: var(--nbi-field-height-lg) !important;
  padding: 12px 40px 12px 16px !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

html body #page-wrapper .module-form :is(select.form-select, .form-group.select select):hover {
  border-color: var(--nbi-field-border-hover) !important;
}

html body #page-wrapper .module-form :is(select.form-select, .form-group.select select):focus {
  border-color: var(--nbi-blanco-blue) !important;
  box-shadow: none !important;
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

html body #page-wrapper .module-form :is(select.form-select, .form-group.select select):invalid {
  color: var(--nbi-color-placeholder) !important;
}

html body #page-wrapper .module-form :is(select.form-select, .form-group.select select)::-ms-expand {
  display: none !important;
}

html body #page-wrapper .module-form :is(select.form-select, .form-group.select select) option {
  background-color: #fff !important;
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-form-font-size) !important;
  font-weight: 400 !important;
  line-height: var(--nbi-line-height-body) !important;
  padding: 8px 16px !important;
  text-transform: none !important;
}

/* FINAL — page intro subline black (deploy marker: 2026-05-20-h2h3)
   Beats inline <style> .module-headline .h3 { color:#575757 } in page head */
html body #page-wrapper .module-headline .h3,
html body #page-wrapper .module.module-headline .h3,
html body #page-wrapper #module_headline.module.module-headline > :is(h2.h3, h2),
html body #page-wrapper .module.module-headline > :is(h2.h3, h2) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* FINAL — required field asterisk red (deploy marker: 2026-05-20-required) */
html body #page-wrapper :is(label.field-label, span.label) .field-required,
html body #page-wrapper .module-form .mandatory span::first-letter {
  color: var(--nbi-color-required) !important;
  font-weight: 700 !important;
}

/* FINAL — form select + Land/country parity (deploy marker: 2026-05-20-country-select-v2)
   Kontakt uses: global-technical/opk-thymeleaf/formulare/contact-form-module.html
   Beats CMS .form-select { color:#339; font-weight:700 } */
@media (min-width: 900px) {
  html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information {
    align-items: start !important;
    display: grid !important;
    gap: 20px 64px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.right {
    align-self: start !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left,
html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.right {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  float: none !important;
  margin-top: 0 !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.right .form-group {
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form select.form-select,
html body #page-wrapper .module-form .module-container #contact-form .form-group.select > select,
html body #page-wrapper .module-form .module-container #contact-form #countryDropdown,
html body #page-wrapper .module-form .module-container #contact-form #salutation,
html body #page-wrapper .module-form .module-container #contact-form #title {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  background-image: var(--nbi-select-chevron) !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
  border: 1px solid var(--nbi-field-border) !important;
  border-radius: var(--nbi-field-radius) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #000 !important;
  cursor: pointer !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font: 400 16px/1.3 var(--nbi-font-primary) !important;
  height: 48px !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  min-height: 48px !important;
  padding: 12px 40px 12px 16px !important;
  text-decoration: none !important;
  text-transform: none !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form select.form-select:not(:invalid),
html body #page-wrapper .module-form .module-container #contact-form #countryDropdown:not(:invalid) {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}

html body #page-wrapper .module-form .module-container #contact-form select.form-select option,
html body #page-wrapper .module-form .module-container #contact-form #countryDropdown option {
  background-color: #fff !important;
  color: #000 !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

html body #page-wrapper .module-form .module-container #contact-form select.form-select option:checked,
html body #page-wrapper .module-form .module-container #contact-form select.form-select option[selected],
html body #page-wrapper .module-form .module-container #contact-form #countryDropdown option:checked,
html body #page-wrapper .module-form .module-container #contact-form #countryDropdown option[selected] {
  font-weight: 400 !important;
}

html body #page-wrapper .module-form .module-container #contact-form select.form-select option:disabled,
html body #page-wrapper .module-form .module-container #contact-form #countryDropdown option:disabled {
  color: #bdbdbd !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

html body #page-wrapper .module-form .module-container #contact-form .form-group.select::after,
html body #page-wrapper .module-form .module-container #contact-form .form-group.select::before {
  content: none !important;
  display: none !important;
}

/* FINAL — kontakt hotline + address 2-col (deploy marker: 2026-05-20-kontakt-hotline)
   Beats Faz 28 .module-contact-information a { text-transform:none } */
@media (min-width: 834px) {
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information > .module-container,
  html body #page-wrapper:has([data-view="contact-box"]) .module.module-contact-information > .module-container {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 40px !important;
  }

  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .phone,
  html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .address {
    flex: 1 1 0 !important;
    margin-bottom: 0 !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
  }
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .number a {
  color: var(--nbi-blanco-blue) !important;
  display: inline-block !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 32px !important;
  padding-left: 36px !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .number a:hover {
  color: var(--nbi-blanco-blue) !important;
}

html body #page-wrapper:has([data-view="contact-box"]) .module-contact-information .number a::before {
  color: var(--nbi-blanco-blue) !important;
  content: "\e908" !important;
  display: inline-block !important;
  font-family: var(--nbi-font-icon) !important;
  font-size: 22px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  left: 0 !important;
  line-height: 1 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* FINAL — Schritt 1 mobile stack (deploy marker: 2026-05-20-step1-mobile)
   Beats CMS position:absolute on .textarea-wrapper + #product-number */
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: var(--nbi-content-stack-gap) !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column.left,
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column.right {
  float: none !important;
  flex: none !important;
  margin: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column .container.text {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  height: auto !important;
  position: static !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group > label.field-label,
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group > .textarea-wrapper,
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group > input#product-number {
  order: unset !important;
  position: static !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group > .textarea-wrapper {
  bottom: auto !important;
  left: auto !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group > input#product-number {
  border-bottom: 1px solid var(--nbi-field-border) !important;
  bottom: auto !important;
  left: auto !important;
  line-height: 1.3 !important;
  margin-top: 0 !important;
  right: auto !important;
  width: 100% !important;
}

@media (min-width: 900px) {
  html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper {
    align-items: start !important;
    display: grid !important;
    flex-direction: unset !important;
    gap: 48px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column.left,
  html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column.right {
    width: 100% !important;
  }
}

/* FINAL — FAQ accordion answers v2 (deploy marker: 2026-05-20-faq-answers-v2)
   Light = HelveticaNeueLTStd @300 — beats REFERENCE #header-2018 ~ .rt-editor p lock */
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor p,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor li,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor generic,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor span,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor p,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor li,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content .paragraph p,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content p,
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper .module-accordion .accordion-content li,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor p,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor li,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor generic,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor span,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor p,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor li,
html body #page-wrapper .module-accordion .accordion-content .paragraph p,
html body #page-wrapper .module-accordion .accordion-content p,
html body #page-wrapper .module-accordion .accordion-content li {
  color: var(--nbi-color-text) !important;
  font-family: HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  line-height: 32px !important;
  text-transform: none !important;
}

html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor p,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor p,
html body #page-wrapper .module-accordion .accordion-content .paragraph p,
html body #page-wrapper .module-accordion .accordion-content p {
  margin: 0 0 16px !important;
}

html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .text .rt-editor p:last-child,
html body #page-wrapper .module-accordion .accordion-content .content .module-infobox-text .infobox-text-container .infobox .rt-editor p:last-child,
html body #page-wrapper .module-accordion .accordion-content .paragraph p:last-child,
html body #page-wrapper .module-accordion .accordion-content p:last-child {
  margin-bottom: 0 !important;
}

html body #page-wrapper .module-accordion .accordion-content :is(strong, b) {
  font-weight: 700 !important;
}

html body #page-wrapper .module-accordion .accordion-content a:not(.btn),
html body #page-wrapper .module-accordion .accordion-content a:not(.btn):hover,
html body #page-wrapper .module-accordion .accordion-content a:not(.btn):focus-visible {
  color: var(--nbi-content-link-color) !important;
  font-weight: 300 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* FINAL — mobile burger drill-down (deploy marker: 2026-05-20-mobile-nav)
   CMS JS: level-2 = second-level only; level-3 = .submenu.visible only */
@media (max-width: 1247px) {
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li {
    overflow: visible !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .main-navigation-link,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .direct-link {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points > ul > li .main-navigation-link::before {
    display: block !important;
    opacity: 1 !important;
    pointer-events: none !important;
    visibility: visible !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .flyout:not(.active) {
    display: none !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-2 .submenu,
  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .submenu:not(.visible) {
    display: none !important;
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    visibility: hidden !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .flyout.active .left-content {
    display: none !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  body.burger-navigation header#header-2018 .main-navigation.open .navigation-points.level-3 .submenu.visible {
    display: block !important;
    margin: 0 0 20px !important;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    visibility: visible !important;
  }
}

/* FINAL — kontakt Schritt 1 layout (deploy marker: 2026-05-20-kontakt-step1)
   Template: global-technical/opk-thymeleaf/formulare/contact-form-module.html
   Fixes: message label+* → textarea → Artikelnummer below (beats CMS absolute #product-number) */
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--nbi-content-stack-gap) !important;
  height: auto !important;
  min-height: 0 !important;
  position: static !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  height: auto !important;
  margin: 0 !important;
  position: static !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group-message > label.field-label {
  margin: 0 0 0 0 !important;
  order: 1 !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group-message > .textarea-wrapper {
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  order: 2 !important;
  padding-bottom: 0 !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group-product-number > label.field-label {
  margin: 0 0 0 0 !important;
  order: 1 !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group-product-number > input#product-number {
  border: 1px solid var(--nbi-field-border) !important;
  border-bottom: 1px solid var(--nbi-field-border) !important;
  bottom: auto !important;
  left: auto !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: var(--nbi-field-height-lg) !important;
  order: 2 !important;
  padding: 12px 16px !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one label.field-label[for="custom-message"] .field-required {
  color: var(--nbi-color-required) !important;
  font-weight: 700 !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio .form-group {
  display: block !important;
}

/* FINAL — kontakt privacy checkbox row (deploy marker: 2026-05-20-kontakt-privacy-v2)
   CMS hides native input + paints fake box on p::before (top:8px). Replace with native
   flex row so checkbox stays vertically centered on multi-line policy text. */
html body #page-wrapper .module-form .module-container #contact-form .privacy .form-group {
  margin: 0 !important;
}

html body #page-wrapper .module-form .module-container #contact-form .privacy label.chk-box {
  align-items: center !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  margin: 0 !important;
  width: 100% !important;
}

html body #page-wrapper .module-form .module-container #contact-form .privacy label.chk-box input[type="checkbox"] {
  accent-color: var(--nbi-color-text) !important;
  align-self: center !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  display: block !important;
  flex-shrink: 0 !important;
  height: 20px !important;
  left: auto !important;
  margin: 0 !important;
  min-height: 20px !important;
  opacity: 1 !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  width: 20px !important;
}

html body #page-wrapper .module-form .module-container #contact-form .privacy label.chk-box input[type="checkbox"] ~ p {
  display: block !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  position: static !important;
  vertical-align: unset !important;
}

html body #page-wrapper .module-form .module-container #contact-form .privacy label.chk-box input[type="checkbox"] ~ p::before,
html body #page-wrapper .module-form .module-container #contact-form .privacy label.chk-box input[type="checkbox"] ~ p::after {
  content: none !important;
  display: none !important;
}

/* FINAL — kontakt form label/input left edge alignment (deploy marker: 2026-05-20-kontakt-label-align)
   Labels must start on the same vertical axis as inputs/selects (no CMS/NBI left indent). */
html body #page-wrapper .module-form .module-container #contact-form :is(.contact-step-one, .contact-box) .form-group > label.field-label {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
  width: 100% !important;
}

/* FINAL — kontakt form tighter vertical rhythm (deploy marker: 2026-05-20-kontakt-field-spacing)
   Live blanco.de: compact label↔field and field↔field gaps */
html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left,
html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.right,
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column-wrapper .column,
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text {
  gap: 12px !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .column.left > .row,
html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x3_x1,
html body #page-wrapper .module-form .module-container #contact-form .contact-box .contact-information .row.x1_x3 {
  gap: 12px !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-information .form-group,
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .form-group,
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .column.right .container.text > .form-group {
  gap: 4px !important;
  margin-bottom: 0 !important;
}

html body #page-wrapper .module-form .module-container #contact-form :is(.contact-step-one, .contact-box) .form-group > label.field-label {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   FINAL — Sales representatives (.module-sales-representatives)
   deploy marker: 2026-10-09-sales-reps-lines
   Linienraster (1px Linien oben/unten, zwischen den Spalten, ueber jeder weiteren Reihe),
   kein Kartenhintergrund. Zellinhalt: Bereichs-Headline (Valizas, Grossbuchstaben), runder
   Avatar, Name (fett), Mail-Link (Icon + Adresse, blau/fett), alles zentriert. Kein Label-Pill.
   Ueberschreibt CMS .general-teaser-container / .general-teaser (margin 0 -12px,
   width 33/50/100 %, padding 0 24px 84px, linklist align-items:center, link
   padding-left 48px) und die aelteren NBI-Bloecke (Faz 16 §5, §18, §28).
   Mobil 1 Spalte; ab 1024px bis zu 3 Spalten in EINER Reihe (keine halb gefuellte zweite Reihe).
   ========================================================================== */

html body #page-wrapper .module-sales-representatives {
  --nbi-rep-avatar: 160px;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-sales-representatives {
    --nbi-rep-avatar: 200px;
  }
}

/* Empty module headline (static export) must not leave a ghost gap */
html body #page-wrapper .module-sales-representatives > .module-headline:empty {
  display: none !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser-container {
  border-bottom: 1px solid var(--nbi-color-text) !important;
  border-top: 1px solid var(--nbi-color-text) !important;
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Side by side only where all (up to 3) cards fit in ONE row, so the divider
   lines never end up in a half-filled second row */
@media (min-width: 1024px) {
  html body #page-wrapper .module-sales-representatives .general-teaser-container {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  }
}

/* Zelle: keine Hinterlegung, Linien links + oben (aussen liegende werden vom Container
   per overflow:hidden abgeschnitten und durch dessen Rahmen ersetzt) */
html body #page-wrapper .module-sales-representatives .general-teaser-container .general-teaser {
  align-items: center !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: -1px 0 0 0 var(--nbi-color-text), 0 -1px 0 0 var(--nbi-color-text) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 24px !important;
  text-align: center !important;
  width: auto !important;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-sales-representatives .general-teaser-container .general-teaser {
    padding: 32px 24px !important;
  }
}

/* Wrapper und Text aufloesen: Avatar, Name, Rolle und Link werden direkte Flex-Kinder der Karte */
html body #page-wrapper .module-sales-representatives .general-teaser .teaser-wrapper,
html body #page-wrapper .module-sales-representatives .general-teaser .teaser-wrapper .text {
  display: contents !important;
}

/* CMS decoration: grey block behind the row (.teaser-wrapper:after) */
html body #page-wrapper .module-sales-representatives .general-teaser .teaser-wrapper::after {
  content: none !important;
  display: none !important;
}

/* 1 Avatar: rund, oben in der Zelle */
html body #page-wrapper .module-sales-representatives .general-teaser .teaser-wrapper .image-container {
  border-radius: 50% !important;
  flex: none !important;
  height: var(--nbi-rep-avatar) !important;
  line-height: 0 !important;
  margin: 0 0 24px !important;
  order: 1 !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: var(--nbi-rep-avatar) !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser .teaser-wrapper .image-container .image {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center top !important;
  width: 100% !important;
}

/* 2 Name */
html body #page-wrapper .module-sales-representatives .general-teaser .teaser-headline.small {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 8px !important;
  max-width: 100% !important;
  order: 2 !important;
  overflow-wrap: anywhere;
  text-align: center !important;
  text-transform: none !important;
}

/* 0 Bereichs-Headline ("Innendienst", "Aussendienst", "Vertriebsleiter Nord"): ganz oben in der Zelle */
html body #page-wrapper .module-sales-representatives .general-teaser .teaser-headline-outer {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 24px !important;
  max-width: 100% !important;
  order: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

@media (min-width: 480px) {
  html body #page-wrapper .module-sales-representatives .general-teaser .teaser-headline-outer {
    font-size: var(--nbi-h3-size) !important;
  }
}

/* Headline skaliert mit der Zellbreite, damit "Vertriebsleiter&nbsp;Nord" nie ueberlaeuft: 16-24px */
@supports (container-type: inline-size) {
  html body #page-wrapper .module-sales-representatives .general-teaser-container .general-teaser {
    container-type: inline-size;
  }

  html body #page-wrapper .module-sales-representatives .general-teaser .teaser-headline-outer {
    font-size: clamp(16px, calc(100cqw / 13), var(--nbi-h3-size)) !important;
  }
}

/* 4 Mail-/Telefon-Link: Icon + Text, unten buendig */
html body #page-wrapper .module-sales-representatives .general-teaser .linklist {
  align-items: center !important;
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  margin: auto 0 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  order: 4 !important;
  padding: 0 !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser .linklist .linklist-wrapper {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser .linklist a.link {
  align-items: center !important;
  box-sizing: border-box !important;
  color: var(--nbi-link-color) !important;
  display: inline-flex !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  gap: 12px !important;
  letter-spacing: normal !important;
  line-height: 24px !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-height: 24px !important;
  overflow-wrap: anywhere;
  padding: 0 !important;
  position: static !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser .linklist a.link:hover,
html body #page-wrapper .module-sales-representatives .general-teaser .linklist a.link:focus-visible {
  color: var(--nbi-link-color) !important;
  text-decoration: underline !important;
  text-decoration-thickness: var(--nbi-content-link-underline-hover) !important;
  text-underline-offset: 0.2em !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser .linklist a.link::before {
  color: var(--nbi-color-text) !important;
  display: block !important;
  flex: none !important;
  font-family: var(--nbi-font-icon) !important;
  font-size: 24px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  height: 24px !important;
  line-height: 24px !important;
  position: static !important;
  text-align: center !important;
  text-decoration: none !important;
  width: 24px !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser .linklist a.link.mail::before {
  content: "\e91d" !important;
}

html body #page-wrapper .module-sales-representatives .general-teaser .linklist a.link.phone::before {
  content: "\e908" !important;
}

/* ==========================================================================
   FINAL — Service tiles (.module-tiles)
   deploy marker: 2026-10-09-tiles-lines
   Exakt dasselbe Linienraster wie .module-sales-representatives: 1px Linien oben/unten,
   zwischen den Spalten und ueber jeder weiteren Reihe, KEINE Hintergrundflaechen.
   Zelle: grosses Icon (Symbol ca. 110/150px, ohne Kreis/Kasten) oben, darunter Label fett, alles zentriert.
   Mobil 1 Spalte, ab 1024px auto-fit (min. 280px).
   Ersetzt die frueheren Kachel-Bloecke (graue .tile-inner, weisse Icon-Box, Flex).
   ========================================================================== */

/* Static export only: Thymeleaf-Platzhalter duerfen keine Rasterzellen belegen */
html body #page-wrapper .module-tiles .module-container th\:block {
  display: contents !important;
}

html body #page-wrapper .module-tiles .module-container div[th\:replace],
html body #page-wrapper .module-tiles .module-container div[th\:insert] {
  display: none !important;
}

html body #page-wrapper .module-tiles .module-container {
  background-image: linear-gradient(var(--nbi-color-text), var(--nbi-color-text)) !important;
  background-position: left bottom !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
  border-bottom: 0 !important;
  border-top: 1px solid var(--nbi-color-text) !important;
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  html body #page-wrapper .module-tiles .module-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Zelle = Link; Linien links + oben (aussen liegende schneidet overflow:hidden ab).
   Jede Trennlinie wird genau EINMAL gezeichnet (linke Linie der rechten Zelle). */
html body #page-wrapper .module-tiles .module-container .tile-container {
  background: none !important;
  box-shadow: -1px 0 0 0 var(--nbi-color-text), 0 -1px 0 0 var(--nbi-color-text) !important;
  box-sizing: border-box !important;
  color: var(--nbi-color-text) !important;
  display: block !important;
  flex: none !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: relative !important;
  text-decoration: none !important;
  width: auto !important;
}

html body #page-wrapper .module-tiles .tile-container .tile-inner {
  align-items: center !important;
  background: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 24px !important;
  text-align: center !important;
  transform: none !important;
  transition: none !important;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-tiles .tile-container .tile-inner {
    padding: 32px 24px !important;
  }
}

/* Icon: ohne Kasten, ohne Kreis, gross.
   Die PNGs (225x225, weisser Grund) haben ca. 25% Rand oben/unten; das Symbol ist rund halb so
   gross wie das Bild. --nbi-tile-s = Bildkante: 220px mobil, 300px ab 834px (Symbol ca. 110/150px),
   begrenzt auf die Zellbreite. Die Icon-Box zeigt nur den Symbolbereich (24-76% der Bildhoehe),
   der weisse Rand oben/unten wird per overflow:hidden abgeschnitten. */
html body #page-wrapper .module-tiles {
  --nbi-tile-icon: 220px;
}

@media (min-width: 834px) {
  html body #page-wrapper .module-tiles {
    --nbi-tile-icon: 300px;
  }
}

html body #page-wrapper .module-tiles .tile-container .tile-inner {
  --nbi-tile-s: var(--nbi-tile-icon);
}

@supports (container-type: inline-size) {
  html body #page-wrapper .module-tiles .module-container .tile-container {
    container-type: inline-size;
  }

  html body #page-wrapper .module-tiles .tile-container .tile-inner {
    --nbi-tile-s: min(var(--nbi-tile-icon), calc(100cqw - 48px));
  }
}

html body #page-wrapper .module-tiles .tile-container .image-box {
  background: none !important;
  border: 0 !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
  position: relative !important;
  width: auto !important;
}

/* 2026-10-09-tile-icon-90: Bild 90 % der bisherigen Kantenlaenge, dafuer 5 % Innenabstand rundum
   (Aussenmass der Box bleibt: Breite = --nbi-tile-s, Hoehe = 0.568 * --nbi-tile-s).
   CMS: .image-container ist eine Box mit Hoehe 0 (padding-bottom-Trick), das Bild liegt absolut darin */
html body #page-wrapper .module-tiles .tile-container .image-box .image-container {
  align-items: flex-start !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  box-sizing: content-box !important;
  height: calc(var(--nbi-tile-s) * 0.468) !important;
  justify-content: center !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: calc(var(--nbi-tile-s) * 0.05) !important;
  position: relative !important;
  width: calc(var(--nbi-tile-s) * 0.9) !important;
}

html body #page-wrapper .module-tiles .tile-container .image-box .image-container .image {
  display: block !important;
  height: calc(var(--nbi-tile-s) * 0.9) !important;
  inset: auto !important;
  margin: calc(var(--nbi-tile-s) * -0.216) 0 0 !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: contain !important;
  position: static !important;
  transform: none !important;
  width: calc(var(--nbi-tile-s) * 0.9) !important;
}

/* 2026-10-09-tiles-empty-cells: Reihe nicht voll. ::before / ::after sind zwei Raster-Items (order hinter den Kacheln)
   und belegen die ersten freien Zellen der letzten Reihe:
   ::before = erste freie Zelle: linke Linie (= rechte Aussenlinie der letzten Kachel) + obere Linie
   ::after  = zweite freie Zelle (falls vorhanden): obere Linie.
   Ist die Reihe voll, liegen beide in einer Reihe mit Hoehe 0 am Rasterende; ihre obere Linie faellt dort exakt
   auf die untere Abschlusslinie des Rasters (siehe background am .module-container) -> nie doppelte Linien. */
html body #page-wrapper .module-tiles .module-container::before,
html body #page-wrapper .module-tiles .module-container::after {
  background-repeat: no-repeat !important;
  content: "" !important;
  display: block !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

/* Linien als Hintergrund-Verlauf (keine box-shadow: bei Spaltenbreiten mit Nachkommastellen lecken Schatten
   als heller Strich an den Kanten). margin -1px zieht die Box um die Linienstaerke nach oben/links, so dass die
   Linie auf der Pixelzeile/-spalte der Nachbarlinien liegt. */
html body #page-wrapper .module-tiles .module-container::before {
  background-image:
    linear-gradient(var(--nbi-color-text), var(--nbi-color-text)),
    linear-gradient(var(--nbi-color-text), var(--nbi-color-text)) !important;
  background-position: left top, left top !important;
  background-size: 100% 1px, 1px 100% !important;
  margin: -1px 0 0 -1px !important;
  order: 1;
}

html body #page-wrapper .module-tiles .module-container::after {
  background-image: linear-gradient(var(--nbi-color-text), var(--nbi-color-text)) !important;
  background-position: left top !important;
  background-size: 100% 1px !important;
  margin: -1px 0 0 0 !important;
  order: 2;
}

/* Label = Name-Stil der Vertriebskarten */
html body #page-wrapper .module-tiles .tile-container .label {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 !important;
  overflow-wrap: anywhere;
  text-align: center !important;
  text-transform: none !important;
}

html body #page-wrapper .module-tiles .tile-container:hover .label,
html body #page-wrapper .module-tiles .tile-container:focus-visible .label {
  color: var(--nbi-link-color) !important;
}

/* Vertriebsmodul und Kacheln sind getrennte Module (Modulabstand wie ueberall, siehe 2026-10-07-module-rhythm).
   Beide verwenden dasselbe 3-Spalten-Raster, damit die senkrechten Linien fluchten. */
@media (min-width: 1024px) {
  html body #page-wrapper .module-sales-representatives:has(+ .module-tiles) .general-teaser-container,
  html body #page-wrapper .module-sales-representatives + .module-tiles .module-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* 2026-10-07-module-rhythm
   Modulabstaende wie blanco.de (.page-content: flex, gap 62px <1024px / 84px ab 1024px;
   Module selbst ohne vertikales Padding). Vorher: 80px oben + 40px unten (+120px Margin),
   zwischen zwei Modulen also bis zu 240px. Hero (erste Headline) bleibt unveraendert. */
:root {
  --nbi-module-gap: 62px;
}

@media (min-width: 1024px) {
  :root {
    --nbi-module-gap: 84px;
  }
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module:not(.module-footer):not(.module-headline:first-child) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module:not(.module-footer):first-child:not(.module-headline) {
  margin-top: 0 !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module:not(.module-footer):not(:first-child) {
  margin-top: var(--nbi-module-gap) !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module:not(.module-footer):last-child:not(.module-headline:first-child) {
  padding-bottom: var(--nbi-section-padding-bottom) !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module-accordion > .module-container {
  padding-bottom: 0 !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module-sales-representatives > .module-headline {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

/* 2026-10-07-home-intro
   Startseiten-Headline wie auf den Unterseiten (schwarz auf Weiss, kein blaues Hero-Band mehr).
   Alle Sonderregeln fuer #header-2018.no-breadcrumb + .module-headline:first-child entfernt;
   die Headline wird jetzt von den allgemeinen .module-headline-Regeln gestylt. Hier nur die
   Shell-Breite (Seitenrand wie die Module darunter). */
html body #header-2018.no-breadcrumb + #page-wrapper > .module.module-headline:first-child {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--nbi-layout-shell-max) !important;
  padding-left: var(--nbi-layout-gutter) !important;
  padding-right: var(--nbi-layout-gutter) !important;
  width: 100% !important;
}

/* Lead (h2) direkt unter der Seitenueberschrift: 16px Abstand */
html body #page-wrapper > .module-headline:first-child > h1 + h2 {
  margin-top: 16px !important;
}

/* Startseite: kein Breadcrumb -> Platz wie auf Folgeseiten (Breadcrumb-Hoehe 48px) statt CMS-Ueberlappung (-58px unter dem Header) */
html body #header-2018.no-breadcrumb + #page-wrapper {
  margin-top: 48px !important;
}

/* 2026-10-08-header-parity
   .meta-bar = blanco.de .header-top-bar, #header-2018 = .page-header-nav-bar (Referenz: Hochdruckarmatur-Seite).
   Seitenrand wie .container auf blanco.de: 24px (<834) / 41px (>=834) / 33px (>=1194) / 72px (>=1440);
   max-width 1920px wie blanco.de (.container).
   Desktop (>=1248px, Burger-Schwelle des Extranets): Topbar 40px weiss, Navbar 80px #339, Menue links neben dem Logo
   (Menue rechts, Punkte 16px bold mit 4px/8px Padding, 8px Abstand; auf blanco.de steht dort zusaetzlich die Suchleiste).
   Burger (<=1247px): Navbar 54px, Logo 114px. */
:root {
  --nbi-hdr-pad: 24px;
}

@media (min-width: 834px) {
  :root {
    --nbi-hdr-pad: 41px;
  }
}

@media (min-width: 1194px) {
  :root {
    --nbi-hdr-pad: 33px;
  }
}

@media (min-width: 1440px) {
  :root {
    --nbi-hdr-pad: 72px;
  }
}

@media (min-width: 1248px) {
  html body .meta-bar {
    align-items: stretch !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    height: 40px !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 !important;
  }

  html body .meta-bar .meta-links-wrapper {
    box-sizing: border-box !important;
    margin: 0 auto !important;
    max-width: 1920px !important;
    padding: 0 var(--nbi-hdr-pad) !important;
    width: 100% !important;
  }

  html body .meta-bar .meta-links {
    align-items: center !important;
    gap: 24px !important;
    height: 24px !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  html body .meta-bar .meta-links th\:block {
    display: contents !important;
  }

  html body .meta-bar .meta-links .meta-link,
  html body .meta-bar .meta-links > a,
  html body .meta-bar .meta-links th\:block > a {
    align-items: center !important;
    font-family: font-primary-local, "Helvetica Neue", helveticaneue, Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    gap: 8px !important;
    height: 24px !important;
    justify-content: center !important;
    line-height: 16px !important;
    margin: 0 !important;
    min-height: 24px !important;
    padding: 0 !important;
  }

  html body header#header-2018#header-2018 {
    height: 80px !important;
    min-height: 80px !important;
  }

  html body header#header-2018#header-2018 nav.main-navigation {
    box-sizing: border-box !important;
    gap: 16px !important;
    height: 80px !important;
    margin: 0 auto !important;
    max-width: 1920px !important;
    min-height: 80px !important;
    padding: 0 var(--nbi-hdr-pad) !important;
  }

  html body header#header-2018#header-2018 .navigation-points {
    height: 80px !important;
    justify-content: flex-end !important;
    padding-left: 0 !important;
  }

  html body header#header-2018#header-2018 .navigation-points > ul {
    gap: 8px !important;
    height: 80px !important;
    justify-content: flex-end !important;
  }

  html body header#header-2018#header-2018 .navigation-points > ul > li {
    height: 80px !important;
    margin: 0 !important;
  }

  /* leerer Such-Platzhalter (0px breit) soll den 8px-Abstand nicht als Luft rechts erzeugen */
  html body header#header-2018#header-2018 .navigation-points > ul > li#search-button {
    margin-left: -8px !important;
  }
}

@media (max-width: 1247px) {
  html body header#header-2018#header-2018 {
    height: 54px !important;
    min-height: 54px !important;
  }

  html body header#header-2018#header-2018 nav.main-navigation {
    box-sizing: border-box !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 var(--nbi-hdr-pad) !important;
  }

  html body header#header-2018#header-2018 #logo {
    max-width: var(--nbi-header-logo-max-sm) !important;
    width: var(--nbi-header-logo-max-sm) !important;
  }
}

/* 2026-10-08-footer-parity
   Footer wie blanco.de (.main-footer): .logo-container -> .footer-meta-nav (untere weisse Linie entfaellt).
   Entfallen: .footer-linklist, .footer-social-and-payment (+ .visit-us).
   Seitenrand und Max-Breite wie Header (--nbi-hdr-pad, 1920px = blanco.de .container), Footer volle Fensterbreite.
   HTML-Ergaenzung im CMS-Footer: <div class="logo-container"><a href="/de-de/"><img class="footer-logo" ...></a></div> vor .footer-meta-nav. */
html body footer.module-footer.module-footer {
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 max(var(--nbi-hdr-pad), calc((100% - 1920px) / 2 + var(--nbi-hdr-pad))) 32px !important;
  width: 100% !important;
}

html body footer.module-footer .footer-linklist,
html body footer.module-footer .footer-social-and-payment,
html body footer.module-footer .visit-us {
  display: none !important;
}

html body footer.module-footer .logo-container {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: space-between !important;
  min-height: 104px !important;
  padding: 40px 0 16px !important;
}

@media (min-width: 834px) {
  html body footer.module-footer .logo-container {
    min-height: 160px !important;
    padding: 48px 0 64px !important;
  }
}

html body footer.module-footer .logo-container a {
  display: block !important;
  line-height: 0 !important;
}

html body footer.module-footer .logo-container .footer-logo {
  display: block !important;
  filter: brightness(0) invert(1) !important;
  height: auto !important;
  max-width: 150px !important;
  width: 150px !important;
}

html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav {
  align-items: stretch !important;
  border: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 24px 0 32px !important;
  width: 100% !important;
}

@media (min-width: 1194px) {
  html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav {
    align-items: center !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    padding-top: 0 !important;
  }
}

html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item {
  align-items: center !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item {
  justify-content: flex-start !important;
  text-align: left !important;
}

html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item a {
  flex: 1 1 calc(50% - 5px) !important;
  text-align: left !important;
}

@media (min-width: 834px) {
  html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item {
    flex-wrap: nowrap !important;
    gap: 20px !important;
  }

  html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item a {
    flex: 0 0 auto !important;
  }
}

/* Footer-Navigation wie blanco.de (.footer-meta-nav .footer-links a): 14px / 400 / 22,4px, weiss, Abstand 20px.
   Schnitt: Helvetica Neue Light (blanco.de: font-primary-local 400 = local("Helvetica Neue Light")). Die Familie
   font-primary-local hat im Extranet nur die Bold-Datei (700) und rendert 400 daher fett -> HelveticaNeueLTStd (400 = Light). */
html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item a {
  color: #fff !important;
  font-family: HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22.4px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item a:hover,
html body footer.module-footer.module-footer.module-footer .footer-meta-nav.footer-meta-nav .item.item a:focus-visible {
  color: #b2bbe8 !important;
}

/* 2026-10-09-empty-modules: before login the sales / tiles modules render without content
   (sec:authorize) - their grid lines would remain as a stray rule under the H1. */
html body #page-wrapper .module.module-sales-representatives:not(:has(.general-teaser)),
html body #page-wrapper .module.module-tiles:not(:has(.tile-container)) {
  border: 0 !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2026-10-09-list-check-icon: Aufzaehlungen (unordered lists) in Textinhalten (.rt-editor, u.a. module-infobox-text,
   module-text-media, Accordion): Haken-Icon (listbullet.svg, 20x20) statt Punkt. Icon als Maske -> folgt der Textfarbe. */
html body #page-wrapper#page-wrapper :is(
  .rt-editor ul,
  .rt-editor ul.unordered-list,
  .module .rt-editor ul,
  .module-accordion .accordion-content ul,
  .module-text-media .text .rt-editor ul,
  .module-infobox-text .rt-editor ul,
  .module-infobox-text .infobox .rt-editor ul,
  .module-headline .rt-editor ul
) {
  list-style: none !important;
  padding-left: 0 !important;
}

html body #page-wrapper#page-wrapper :is(
  .rt-editor ul li,
  .rt-editor ul.unordered-list li,
  .module .rt-editor ul li,
  .module-accordion .accordion-content ul li,
  .module-text-media .text .rt-editor ul li,
  .module-infobox-text .rt-editor ul li,
  .module-infobox-text .infobox .rt-editor ul li,
  .module-headline .rt-editor ul li
) {
  list-style: none !important;
  padding-left: 30px !important;
  position: relative !important;
}

html body #page-wrapper#page-wrapper .rt-editor ul li::before,
html body #page-wrapper#page-wrapper .rt-editor ul.unordered-list li::before,
html body #page-wrapper#page-wrapper .module .rt-editor ul li::before,
html body #page-wrapper#page-wrapper .module-accordion .accordion-content ul li::before,
html body #page-wrapper#page-wrapper .module-text-media .text .rt-editor ul li::before,
html body #page-wrapper#page-wrapper .module-infobox-text .rt-editor ul li::before,
html body #page-wrapper#page-wrapper .module-infobox-text .infobox .rt-editor ul li::before,
html body #page-wrapper#page-wrapper .module-headline .rt-editor ul li::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20width=%2720%27%20height=%2720%27%20viewBox=%270%200%2020%2020%27%20fill=%27none%27%20xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath%20d=%27M20%203.18L8.59%2014.6L4.35%2010.36L5.76%208.95L8.59%2011.78L18.59%201.78L20%203.18ZM17.79%208.22C17.92%208.79%2018%209.39%2018%2010C18%2014.42%2014.42%2018%2010%2018C5.58%2018%202%2014.42%202%2010C2%205.58%205.58%202%2010%202C11.58%202%2013.04%202.46%2014.28%203.25L15.72%201.81C14.1%200.67%2012.13%200%2010%200C4.48%200%200%204.48%200%2010C0%2015.52%204.48%2020%2010%2020C15.52%2020%2020%2015.52%2020%2010C20%208.81%2019.78%207.67%2019.4%206.61L17.79%208.22Z%27%20fill=%27black%27/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg%20width=%2720%27%20height=%2720%27%20viewBox=%270%200%2020%2020%27%20fill=%27none%27%20xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath%20d=%27M20%203.18L8.59%2014.6L4.35%2010.36L5.76%208.95L8.59%2011.78L18.59%201.78L20%203.18ZM17.79%208.22C17.92%208.79%2018%209.39%2018%2010C18%2014.42%2014.42%2018%2010%2018C5.58%2018%202%2014.42%202%2010C2%205.58%205.58%202%2010%202C11.58%202%2013.04%202.46%2014.28%203.25L15.72%201.81C14.1%200.67%2012.13%200%2010%200C4.48%200%200%204.48%200%2010C0%2015.52%204.48%2020%2010%2020C15.52%2020%2020%2015.52%2020%2010C20%208.81%2019.78%207.67%2019.4%206.61L17.79%208.22Z%27%20fill=%27black%27/%3E%3C/svg%3E") center / contain no-repeat !important;
  background: currentColor !important;
  border: 0 !important;
  content: "" !important;
  display: block !important;
  height: 20px !important;
  left: 0 !important;
  position: absolute !important;
  top: calc((var(--nbi-line-height-body) * 1em - 20px) / 2) !important;
  top: calc((1lh - 20px) / 2) !important;
  width: 20px !important;
}

/* 2026-10-09-logout-quicklink: Logout-Panel (.brand-portal-flyout mit .arrow-link-list, nur eingeloggt) im Stil
   "Quick Link" (Figma blaQuickLink): Markenblau, weisser Pfeil oben, grosse weisse Fett-Beschriftung, Dropshadow.
   Groesse/Position des Panels bleiben wie im CMS (nur Farben, Typo, Inhalt). Login-Formular-Variante unberuehrt. */
html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) {
  align-items: center !important;
  background: var(--nbi-link-color, #339) !important;
  box-shadow: 0 12px 32px 0 rgba(0, 0, 0, 0.28) !important;
  box-sizing: border-box !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-align: center !important;
}

html body:not(.burger-navigation) header#header-2018 .main-navigation .brand-portal-flyout.open:has(.arrow-link-list) {
  min-height: 280px !important;
  padding: 48px 84px !important;
  width: 440px !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  width: 100% !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list .module-headline {
  color: #fff !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.3 !important;
  margin: 0 0 36px !important;
  padding: 0 !important;
  text-transform: uppercase !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list > * {
  flex: none !important;
  height: auto !important;
  min-height: 0 !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list ul {
  margin: 0 !important;
  padding: 0 !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list ul li {
  margin: 0 !important;
  padding: 0 !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list ul li a {
  align-items: center !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1.15 !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list ul li a::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%3E%3Cpath%20d=%27M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z%27/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%3E%3Cpath%20d=%27M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z%27/%3E%3C/svg%3E") center / contain no-repeat !important;
  background: #fff !important;
  content: "" !important;
  display: block !important;
  font-size: 0 !important;
  height: 48px !important;
  margin: 0 0 20px !important;
  position: static !important;
  top: auto !important;
  width: 48px !important;
}

html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list ul li a:hover,
html body header#header-2018 .main-navigation .brand-portal-flyout:has(.arrow-link-list) .arrow-link-list ul li a:focus-visible {
  color: #fff !important;
  opacity: 0.85;
}

/* 2026-10-12-contact-radio-p: Kontaktformular, Schritt 1 - Auswahloptionen.
   Das FirstSpirit-HTML liefert den Text als <p> im Label (Spring-Template: span.radio-text). Die NBI-Regeln
   blendeten <p> aus -> Optionen ohne Auswahlkreis. Hier <p> wie span.radio-text darstellen (Kreis + Haken). */
html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"] + p {
  color: var(--nbi-color-text) !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: var(--nbi-font-size-body) !important;
  font-weight: 700 !important;
  line-height: var(--nbi-line-height-body) !important;
  margin: 0 !important;
  min-height: 32px !important;
  padding: 4px 0 4px 40px !important;
  position: relative !important;
  text-transform: none !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"] + p::before {
  background-color: #fff !important;
  border: 1px solid var(--nbi-color-text) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  content: "" !important;
  display: block !important;
  height: 24px !important;
  left: 0 !important;
  position: absolute !important;
  top: 4px !important;
  width: 24px !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"] + p::after {
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2.5 7.5 5.5 10.5 11.5 3.5'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 14px 14px !important;
  content: "" !important;
  display: block !important;
  height: 24px !important;
  left: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 4px !important;
  transition: opacity 0.15s ease !important;
  width: 24px !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"]:checked + p::after {
  opacity: 1 !important;
}

html body #page-wrapper .module-form .module-container #contact-form .contact-step-one .container.radio label.btn-radio input[type="radio"]:focus-visible + p::before {
  outline: 1px solid var(--nbi-blanco-blue) !important;
  outline-offset: 2px !important;
}

/* 2026-10-12-blanco-inputs: Eingabefelder im Kontaktformular wie blanco.de (TextField / VueSelectField / FormField):
   1px #7f7f7f, Radius 2px, Padding 16px, Hoehe 40px (48px ab 834px), Schrift 16px (20px ab 834px),
   Hover Rahmen schwarz, Fokus 2px #339 mit 4px Abstand, Select mit grauer 38px-Aktionsflaeche + Pfeil,
   Label fett 16px (ab 834px), 2px ueber dem Feld, 8px eingerueckt, Pflicht-Stern #9a2a00. */
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"], input[type="search"], input:not([type]), textarea, select) {
  background-color: #fff !important;
  border: 1px solid #7f7f7f !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #000 !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  min-height: 40px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  transition: color 0.2s, background-color 0.2s, border-color 0.15s !important;
  width: 100% !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input:not([type="file"]):not([type="checkbox"]):not([type="radio"]), select) {
  height: auto !important;
}

@media (min-width: 834px) {
  html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"], input[type="search"], input:not([type]), textarea, select) {
    font-size: 20px !important;
    min-height: 48px !important;
  }
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form textarea:not(#_):not(#__) {
  min-height: 120px !important;
  padding-bottom: 12px !important;
  padding-top: 12px !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"], input[type="search"], input:not([type]), textarea, select):hover {
  border-color: #000 !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"], input[type="search"], input:not([type]), textarea, select):focus,
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"], input[type="search"], input:not([type]), textarea, select):focus-visible {
  border-color: #000 !important;
  outline: 2px solid #339 !important;
  outline-offset: 4px !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="url"], input[type="search"], input:not([type]), textarea, select):is([disabled], [readonly]) {
  background-color: #f3f3f3 !important;
  border-color: #d6d6d6 !important;
  color: #bdbdbd !important;
  cursor: not-allowed !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form .has-error :is(input, textarea, select),
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input, textarea, select).has-error,
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form :is(input, textarea, select).error {
  background-color: #ffcbb5 !important;
  border-color: #9a2a00 !important;
  color: #9a2a00 !important;
}

/* Select: graue Aktionsflaeche 38x38 (#f3f3f3, Radius 2px) mit schwarzem Pfeil, 5px vom rechten Rand */
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form select {
  -moz-appearance: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38'%3E%3Crect width='38' height='38' rx='2' fill='%23f3f3f3'/%3E%3Cpath d='M12 16l7 7 7-7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: right 5px center !important;
  background-repeat: no-repeat !important;
  background-size: 38px 38px !important;
  cursor: pointer !important;
  padding-right: 56px !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form select:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38'%3E%3Crect width='38' height='38' rx='2' fill='%23e9e9e9'/%3E%3Cpath d='M12 16l7 7 7-7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form select:disabled {
  cursor: not-allowed !important;
}

/* Labels */
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form label.field-label {
  color: #000 !important;
  display: block !important;
  font-family: var(--nbi-font-primary) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 0 2px 8px !important;
}

@media (min-width: 834px) {
  html body #page-wrapper#page-wrapper .module-form .module-container #contact-form label.field-label {
    font-size: 16px !important;
    font-weight: 700 !important;
  }
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form label.field-label .field-required,
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form label.field-label .required {
  color: #9a2a00 !important;
}

/* 2026-10-12-footer-scroll-top
   Scroll-to-top-Button wie blanco.de (.button-scroll-top) im Footer, rechts in .logo-container.
   HTML (CMS-Footer-Template): <button class="button ... button-scroll-top" onclick="window.scrollTo(...)"> mit Pfeil-SVG. */
html body footer.module-footer .logo-container .button-scroll-top {
  align-items: center !important;
  appearance: none !important;
  aspect-ratio: 1 !important;
  background: #1b1168 !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #fff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  height: 48px !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 48px !important;
  min-width: 48px !important;
  padding: 12px !important;
  width: 48px !important;
}

html body footer.module-footer .logo-container .button-scroll-top .nuxt-icon {
  align-items: center !important;
  color: inherit !important;
  display: inline-flex !important;
  font-size: 2.4rem !important;
  height: 24px !important;
  justify-content: center !important;
  line-height: 1 !important;
  width: 24px !important;
}

html body footer.module-footer .logo-container .button-scroll-top .nuxt-icon svg {
  display: block !important;
  fill: currentColor !important;
  height: 24px !important;
  transform: rotate(-90deg) !important;
  transition: transform .2s !important;
  width: 24px !important;
}

html body footer.module-footer .logo-container .button-scroll-top:hover {
  background: #1b1168 !important;
  outline: 1px solid #fff !important;
}

html body footer.module-footer .logo-container .button-scroll-top:hover .nuxt-icon svg {
  transform: rotate(-90deg) translate(2px) !important;
}

html body footer.module-footer .logo-container .button-scroll-top:focus-visible {
  border-radius: 2px !important;
  outline: 2px solid #fff !important;
  outline-offset: 4px !important;
}

@media (prefers-reduced-motion: reduce) {
  html body footer.module-footer .logo-container .button-scroll-top .nuxt-icon svg {
    transition: none !important;
  }
}

/* 2026-10-12-tiles-separate: Kacheln ("BLANCO Apps") stehen wieder als eigenes Modul unter den Vertriebsansprechpartnern.
   - Abstand nach oben: Modulabstand (84px / 62px mobil), also deutlich Luft ueber der H2.
   - H2 steht ueber dem Raster, ueber die ganze Breite; die Linie darunter ist zugleich die obere Rasterlinie
     (1px, genau auf der Pixelzeile ueber der ersten Kachelreihe -> keine doppelte Linie).
   - Liegt die H2 ausserhalb von .module-container, liefert dessen border-top die obere Linie. */
html body #page-wrapper .module-tiles .module-container > h2 {
  border-bottom: 1px solid var(--nbi-color-text) !important;
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 0 0 20px !important;
}

html body #page-wrapper .module-tiles > h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;
}

html body #page-wrapper .module-tiles .module-container:has(> h2) {
  border-top: 0 !important;
}

/* 2026-10-13-flyout-arrow
   Pfeil-Bullets im Navigations-Flyout wie blanco.de (.navigation-menu-sub-item__icon): Kreis 40px (#339) mit
   Material "arrow_forward" 24px, weiss (vorher duenner Chevron 20px). Variablen --nbi-flyout-icon-arrow /
   --nbi-flyout-chevron-size im :root. Hover/Fokus: Pfeil rueckt 2px nach rechts (transition .2s). */
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems::before {
  transition: background-position .2s ease-in-out !important;
}

body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems:hover::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a:focus-visible::before,
body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems:focus-visible::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a:focus-visible::before,
body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems:focus-visible::before {
  background-position: calc(50% + 2px) center !important;
}

@media (prefers-reduced-motion: reduce) {
  body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > a::before,
  body header#header-2018 .main-navigation .navigation-points .flyout .second-level > li > .has-subitems::before,
  body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > a::before,
  body header#header-2018 .main-navigation .navigation-points .flyout .submenu li > .has-subitems::before {
    transition: none !important;
  }
}

/* 2026-10-19-registration: Registrierung (Schritt 1/2, Formular OHNE data-view="contact-box" und ohne <label>)
   - Abstaende des Formularmoduls wie Kontakt (kein 84px-Modulabstand, kein 180px-Rand, kein Box-Padding).
   - Die CMS-Ausgabe nutzt Platzhalter statt <label>; die Platzhalter sind im Kontaktformular ausgeblendet
     (dort stehen Labels) und werden hier wieder sichtbar gemacht (Feldgruppen ohne direktes <label>).
   Die Headline wird NICHT hier formatiert (Seitentitel wird im CMS auf <h1> gesetzt, dann greifen die H1-Regeln). */
html body #page-wrapper#page-wrapper#page-wrapper:has(> .module-form #contact-form):not(:has(> .module-form > .module-container[data-view="contact-box"])) {
  background-color: #fff !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:has(> .module-form #contact-form):not(:has(> .module-form > .module-container[data-view="contact-box"])) > .module.module-headline:first-child + .module-form {
  margin: 0 !important;
  max-width: none !important;
  padding-bottom: var(--nbi-block-padding-y) !important;
  padding-top: var(--nbi-dist-v) !important;
  width: 100% !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:has(> .module-form #contact-form):not(:has(> .module-form > .module-container[data-view="contact-box"])) > .module.module-headline:first-child + .module-form > .module-container {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:has(> .module-form #contact-form):not(:has(> .module-form > .module-container[data-view="contact-box"])) > .module.module-headline:first-child + .module-form #contact-form .contact-box {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

html body #page-wrapper#page-wrapper .module-form .module-container #contact-form .form-group:not(:has(> label)) input::placeholder,
html body #page-wrapper#page-wrapper .module-form .module-container #contact-form .form-group:not(:has(> label)) textarea::placeholder {
  color: var(--nbi-color-placeholder) !important;
  opacity: 1 !important;
}

/* 2026-10-20-login-placeholders: Login + Passwort vergessen (.module-login) mit Platzhaltern statt <label>:
   Platzhalter waren ausgeblendet (Labels im NBI-Template), hier wieder sichtbar. Felder mit vorangestelltem
   <label> (label + input) bleiben ohne Platzhalter. */
html body #page-wrapper#page-wrapper#page-wrapper .module-login input:is([type="text"], [type="password"], [type="email"], :not([type])):not(label + input)::placeholder {
  color: var(--nbi-color-placeholder) !important;
  opacity: 1 !important;
}

/* 2026-10-20-text-media-1280: Text-/Bild-Module wie blanco.de (.section-content__wrapper, Designkompetenz u.a.)
   - >= 1194px: eine Reihe, Spalten 50 % / 50 % mit 64px Abstand, Inhaltsbreite max. 1280px (zzgl. Seitenrand des
     Moduls), zentriert; Bild links (image-right: rechts). Bild-Spalte zentriert das Bild vertikal, Text oben.
   - < 1194px: eine Spalte, 64px Abstand, Text oben, Bild darunter (volle Breite). */
html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media {
  align-items: stretch !important;
  flex-direction: column !important;
  gap: 64px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media.image-right {
  flex-direction: column !important;
}

html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media .text {
  flex: 0 0 auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  order: 1 !important;
  width: 100% !important;
}

html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media .image-container,
html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media a.image-container {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 auto !important;
  justify-content: center !important;
  margin: 0 !important;
  max-width: 100% !important;
  order: 2 !important;
  width: 100% !important;
}

@media (min-width: 1194px) {
  html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media {
    flex-direction: row !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: calc(1280px + 2 * var(--nbi-layout-gutter)) !important; /* 1280px Inhalt + seitlicher Modul-Padding */
  }

  html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media.image-right {
    flex-direction: row-reverse !important;
  }

  html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media .image-container,
  html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media a.image-container {
    flex: 0 1 50% !important;
    max-width: 50% !important;
    order: 1 !important;
    width: auto !important;
  }

  html body #page-wrapper#page-wrapper#page-wrapper .module.module-text-media .text {
    flex: 0 1 50% !important;
    max-width: 50% !important;
    order: 2 !important;
    width: auto !important;
  }
}

/* 2026-10-20-contact-form-1280: Kontaktformular wie blanco.de (/service/kontaktieren-sie-uns/): Formularteil max. 1280px
   breit, zentriert; Headline und Kontaktinformationen bleiben im 1776px-Raster. */
html body #page-wrapper#page-wrapper#page-wrapper .module-form .module-container[data-view="contact-box"] #contact-form {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
  width: 100% !important;
}

/* 2026-10-20-infobox-1280: Infobox-Module wie Text-/Bild-Module (siehe 2026-10-20-text-media-1280) und blanco.de:
   Inhalt max. 1280px, zentriert. Mit Infobox UND Text: ab 1194px nebeneinander 50 % / 50 % mit 64px Abstand
   (Infobox links, bei .infobox-right rechts); darunter eine Spalte mit 64px Abstand, Text oben, Infobox darunter.
   Gilt nicht fuer Login-Seiten und nicht fuer Module im Akkordeon. */
html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
  width: 100% !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 64px !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .text {
  flex: 0 0 auto !important;
  order: 1 !important;
  width: 100% !important;
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .infobox {
  flex: 0 0 auto !important;
  order: 2 !important;
  width: 100% !important;
}

@media (min-width: 1194px) {
  html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) {
    flex-direction: row !important;
  }

  html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .infobox,
  html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .text {
    flex: 0 0 calc((100% - 64px) / 2) !important;
    max-width: calc((100% - 64px) / 2) !important;
    min-width: 0 !important;
    width: auto !important;
  }

  html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .infobox {
    order: 1 !important;
  }

  html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .text {
    order: 2 !important;
  }

  html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text.infobox-right .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .text {
    order: 1 !important;
  }

  html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text.infobox-right .infobox-text-container:has(> .infobox):has(> .text .rt-editor) > .infobox {
    order: 2 !important;
  }
}

html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container::before,
html body #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .infobox-text-container::after {
  content: none !important;
  display: none !important;
}

/* 2026-10-20-infobox-h3: h3 in module-infobox-text exakt wie die Headline (h3) in module-text-media:
   Valizas, Grossbuchstaben, Zeilenhoehe 1,3, Abstand nach unten 36px; Groesse 24px / 32px ab 834px.
   Startseite (ohne Breadcrumb) wie dort im Text-/Bild-Modul: 24px / 40px ab 834px, Abstand 24px / 32px.
   Ueberschreibt die Regel "CMS infobox headings" (Helvetica, ohne Grossschreibung). Nicht auf Login-Seiten, nicht im Akkordeon. */
html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .text .rt-editor :is(h3, .h3) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: var(--nbi-h3-size) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: var(--nbi-line-height-tight) !important;
  margin: 0 0 36px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

html body #header-2018.no-breadcrumb ~ #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .text .rt-editor :is(h3, .h3) {
  color: var(--nbi-color-text) !important;
  font-family: var(--nbi-font-heading) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 0 24px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

@media (min-width: 834px) {
  html body #header-2018:not(.no-breadcrumb) ~ #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .text .rt-editor :is(h3, .h3) {
    font-size: var(--nbi-h3-size-desktop) !important;
  }

  html body #header-2018.no-breadcrumb ~ #page-wrapper#page-wrapper#page-wrapper:not(:has(.module-login)) > .module.module-infobox-text .text .rt-editor :is(h3, .h3) {
    font-size: 40px !important;
    margin-bottom: 32px !important;
  }
}

/* 2026-10-20-usersettings-1280: "Meine Daten" (Formular mit .contact-box[data-view="account-administration"]):
   Formularteil wie Kontakt max. 1280px breit, zentriert; Headline bleibt im 1776px-Raster. */
html body #page-wrapper#page-wrapper#page-wrapper:has(.contact-box[data-view="account-administration"]) .module-form .module-container #contact-form {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
  width: 100% !important;
}

/* 2026-10-20-nav-breadcrumb-font: Hauptnavigation, Meta-Leiste, Breadcrumb und Footer behalten die Schriftgroessen-Tokens
   der mobilen Skala (12 / 16 / 20px) auf allen Breiten. Die Typo-Skala ab 834px (body 20px, lg 24px) gilt nur fuer Inhalt.
   blanco.de: Navigation 16px bold (Zeilenhoehe 24px); Breadcrumb 16px regular, letzter Eintrag bold. */
header#header-2018,
.meta-bar,
ul.breadcrumb,
footer.module-footer {
  --nbi-font-size-xs: 12px;
  --nbi-font-size-sm: 12px;
  --nbi-font-size-body: 16px;
  --nbi-font-size-md: 16px;
  --nbi-font-size-lg: 20px;
  --nbi-font-size-xl: 20px;
}

/* Breadcrumb-Zeilenhoehe wie blanco.de: Links 1,6 (25,6px), aktueller Eintrag 1,5 (24px). Die aelteren Breadcrumb-Regeln
   lesen --nbi-line-height-body, daher hier ueber die Variable gesetzt. */
ul.breadcrumb {
  --nbi-line-height-body: 1.6;
}

ul.breadcrumb li.no-link {
  --nbi-line-height-body: 1.5;
}
