/* ==========================================================================
   EHNES Widgets — Styles. Defaults spiegeln die Design-Tokens, damit das
   Widget schon ohne Editor-Anpassung markengetreu aussieht; die Elementor-
   Style-Controls überschreiben per Inline-Selektor.
   ========================================================================== */

/* --------------------------------------------------------------------------
   EHNES Base-Reset für interaktive Elemente
   Neutralisiert das globale `button`-Styling aus hello-elementor/reset.css
   (padding/border/appearance), das sonst in unsere Buttons durchschlägt.
   Spezifität (.ehnes-header button = 0,1,1) > Theme-Reset (button = 0,0,1),
   aber < Elementor-Control-Selektoren ({{WRAPPER}} .klasse = 0,2,0) — Farben
   und Maße aus dem Editor bleiben also gültig.
   -------------------------------------------------------------------------- */
.ehnes-header button,
.ehnes-hero button,
.ehnes-branchen button,
.ehnes-brands button,
.ehnes-faq button,
.ehnes-mag button,
.ehnes-nl button,
.ehnes-kontakt button,
.ehnes-footer button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  line-height: 0;
  -webkit-appearance: none;
  appearance: none;
}
/* hello-elementor/reset.css setzt `button:hover/:focus{background:#c36}` (0,1,1).
   Transparente EHNES-Buttons müssen ihren Hintergrund mit höherer Spezifität
   (0,2,0) halten, damit der Theme-Hover nicht durchschlägt. */
.ehnes-header .ehnes-header__search-btn,
.ehnes-header .ehnes-header__search-submit,
.ehnes-header .ehnes-header__lightbox-close,
.ehnes-header .ehnes-header__panel-close,
.ehnes-brands .ehnes-brands__tile,
.ehnes-faq .ehnes-faq__head { background: transparent; }

/* --------------------------------------------------------------------------
   EHNES Header
   -------------------------------------------------------------------------- */
.ehnes-header { position: relative; width: 100%; z-index: 10; margin-top: 0; }
.ehnes-header--overlap { position: absolute; top: 0; left: 0; }

/* Top-Gap killen: Elementor-Header-Location sitzt bündig oben. */
.elementor-location-header { margin: 0; }
[data-elementor-type="header"] > .elementor,
[data-elementor-type="header"] .e-con,
[data-elementor-type="header"] .e-con-inner { margin-top: 0; }
/* Header-Container-Padding neutralisieren (nur im Header, nicht global). */
[data-elementor-type="header"] > .e-con.e-parent { padding-top: 0; padding-bottom: 0; }

/* Topbar */
.ehnes-header__topbar { width: 100%; background-color: var(--merz-schwarz); }
.ehnes-header__topbar-inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 24px;
  padding: 8px 20px;
  max-width: var(--page-width);
  margin: 0 auto;
  box-sizing: border-box;
}
.ehnes-header__topbar a {
  color: var(--merz-weiss);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

/* Schwebende Karte */
.ehnes-header__card-wrap { display: flex; justify-content: center; width: 100%; }
.ehnes-header__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1572px;
  min-height: 90px;
  padding: 0 78px;
  box-sizing: border-box;
  background-color: var(--merz-weiss);
  border-radius: var(--radius);
  box-shadow: var(--shadow-header);
}
.ehnes-header__logo { display: inline-flex; align-items: center; }
.ehnes-header__logo img { width: 200px; height: auto; display: block; }

.ehnes-header__right { display: flex; align-items: center; gap: 24px; }
.ehnes-header__nav { display: flex; align-items: center; gap: 50px; }
.ehnes-header__nav-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  color: var(--merz-dunkelgrau);
  text-decoration: none;
  white-space: nowrap;
}
.ehnes-header__chev { display: inline-flex; align-items: center; }

/* Kontakt-Button */
.ehnes-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 6px 12px;
  border-radius: var(--radius);
  background-color: var(--merz-rot);
  color: var(--merz-weiss);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease;
}

/* Seitenrail */
.ehnes-header__rail {
  position: absolute;
  right: 0;
  top: 308px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 11;
}
.ehnes-header__rail a {
  width: 38px;
  height: 41px;
  border-radius: 5px 0 0 5px;
  background-color: var(--merz-weiss);
  color: var(--merz-rot);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-header);
}

/* Such-Button */
.ehnes-header__search-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--merz-rot);
  cursor: pointer;
  line-height: 0;
}

/* Burger / Menü-Button */
.ehnes-header__burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: var(--radius);
  background-color: var(--merz-blau);
  color: var(--merz-weiss);
  cursor: pointer;
  line-height: 0;
}
/* 3 CSS-Balken statt SVG — garantiert gleichmäßige Hamburger-Linien. */
.ehnes-header__burger { transition: background-color 0.25s ease; }
.ehnes-header__burger-icon {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 24px;
}
.ehnes-header__burger-icon span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: currentColor;
  transition: transform 0.3s ease, opacity 0.2s ease;
}

/* Offen: Button rot, Balken morphen zum X (Spezifität schlägt Farb-Control). */
.ehnes-header .ehnes-header__burger.is-active { background-color: var(--merz-rot); }
.ehnes-header__burger.is-active .ehnes-header__burger-icon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ehnes-header__burger.is-active .ehnes-header__burger-icon span:nth-child(2) { opacity: 0; }
.ehnes-header__burger.is-active .ehnes-header__burger-icon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Body-Scroll-Lock bei offenem Overlay */
body.ehnes-noscroll { overflow: hidden; }

/* --------------------------------------------------------------------------
   Such-Lightbox
   -------------------------------------------------------------------------- */
.ehnes-header__lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  background-color: rgba(0, 0, 0, 0.82);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.ehnes-header__lightbox.is-open { opacity: 1; }
.ehnes-header__lightbox[hidden] { display: none; }
.ehnes-header__lightbox-close {
  position: absolute;
  top: 32px;
  right: 40px;
  border: none;
  background: transparent;
  color: var(--merz-weiss);
  cursor: pointer;
  line-height: 0;
}
.ehnes-header__search-form {
  display: flex;
  align-items: center;
  width: min(720px, 86vw);
  border-bottom: 2px solid var(--merz-weiss);
  transform: translateY(12px);
  transition: transform 0.25s ease;
}
.ehnes-header__lightbox.is-open .ehnes-header__search-form { transform: translateY(0); }
.ehnes-header__search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--merz-weiss);
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 40px;
  line-height: 1.2;
  padding: 8px 4px;
}
.ehnes-header__search-input::placeholder { color: rgba(255, 255, 255, 0.55); }
.ehnes-header__search-submit {
  border: none;
  background: transparent;
  color: var(--merz-weiss);
  cursor: pointer;
  line-height: 0;
  padding: 8px;
}

/* --------------------------------------------------------------------------
   Off-Canvas-Panel (Doppelfunktion)
   -------------------------------------------------------------------------- */
.ehnes-header__panel-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.ehnes-header__panel-backdrop.is-open { opacity: 1; }
.ehnes-header__panel-backdrop[hidden] { display: none; }

.ehnes-header__panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  width: 420px;
  max-width: 88vw;
  height: 100%;
  background-color: var(--merz-weiss);
  color: var(--merz-dunkelgrau);
  box-shadow: -8px 0 30px rgba(0, 0, 0, 0.2);
  padding: 88px 44px 44px;
  box-sizing: border-box;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.ehnes-header__panel.is-open { transform: translateX(0); }
.ehnes-header__panel[hidden] { display: none; }
.ehnes-header__panel-close {
  position: absolute;
  top: 28px;
  right: 28px;
  border: none;
  background: transparent;
  color: var(--merz-dunkelgrau);
  cursor: pointer;
  line-height: 0;
}
.ehnes-header__panel a { color: inherit; text-decoration: none; }

/* Panel-Inhalt: Desktop = Info-Sidebar, Mobil = Navigation */
.ehnes-header__panel-nav { display: none; }
.ehnes-header__panel-info { display: block; }

.ehnes-header__panel-title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.15;
  color: var(--merz-rot);
  margin: 0 0 12px;
}
.ehnes-header__panel-text {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.3;
  margin: 0 0 28px;
}
.ehnes-header__panel-links {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ehnes-header__panel-links a {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 18px;
}
.ehnes-header__panel-contact {
  border-top: 1px solid var(--merz-umrandung);
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ehnes-header__panel-address { margin: 0 0 6px; font-size: 16px; line-height: 1.35; }
.ehnes-header__panel-line { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; }

/* Mobile-Navigation im Panel */
.ehnes-header__panel-navlink {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 22px;
  padding: 14px 0;
  border-bottom: 1px solid var(--merz-umrandung);
}
.ehnes-header__panel-cta { margin-top: 24px; align-self: flex-start; }

/* --------------------------------------------------------------------------
   Responsive (grober erster Pass — Feinschliff folgt)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .ehnes-header__card { padding: 12px 24px; gap: 12px; min-height: 0; }
  .ehnes-header__nav { display: none; }          /* Karten-Nav auf Mobil aus */
  .ehnes-header__rail { display: none; }
  .ehnes-header__panel-info { display: none; }   /* Info-Sidebar aus */
  .ehnes-header__panel-nav {                     /* stattdessen Navigation */
    display: flex;
    flex-direction: column;
  }
  .ehnes-header__search-input { font-size: 28px; }
}

/* ==========================================================================
   EHNES Hero (Slider + blaues Panel)
   ========================================================================== */
.ehnes-hero { position: relative; width: 100%; }
/* Texturbereich: trägt den Hintergrund und endet über dem Panel. */
.ehnes-hero__top { position: relative; width: 100%; min-height: 900px; display: flex; flex-direction: column; }
.ehnes-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.ehnes-hero__stage {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;                 /* füllt den 900px-Texturbereich */
  display: flex;
  flex-direction: column;
  justify-content: center;        /* Inhalt vertikal mittig */
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 120px 0 230px;         /* oben Header-Freiraum, unten Panel-Reserve */
  box-sizing: border-box;
}

/* Slider-Viewport: nur hier wird horizontal geclippt, damit Nav/Panel sichtbar bleiben. */
.ehnes-hero__viewport { position: relative; overflow: hidden; min-height: 420px; }
.ehnes-hero__track {
  display: flex;
  height: 100%;
  min-height: inherit;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.ehnes-hero__slide {
  flex: 0 0 100%;
  min-width: 100%;
  display: flex;
  align-items: center;
  gap: 48px;
  box-sizing: border-box;
}
.ehnes-hero__text { flex: 0 0 46%; max-width: 530px; }
.ehnes-hero__title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 72px;
  line-height: 1;
  color: var(--merz-weiss);
  margin: 0;
}
.ehnes-hero__desc {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: var(--merz-weiss);
  margin: 30px 0 0;
}
.ehnes-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 42px;
  padding: 11px 22px;
  border-radius: var(--radius);
  background-color: var(--merz-blau);
  color: var(--merz-weiss);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: filter 0.15s ease;
}
.ehnes-hero__cta:hover { filter: brightness(0.92); }
.ehnes-hero__cta-chev { display: inline-flex; align-items: center; }

.ehnes-hero__media { flex: 1; display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
.ehnes-hero__media img {
  max-width: 100%;
  max-height: 520px;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.35));
}

/* Statische Slider-Navigation unter dem Button (überlappt den Viewport). */
.ehnes-hero__nav {
  position: absolute;
  left: 0;
  bottom: 230px;                  /* über dem überlappenden Panel */
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
}
.ehnes-hero__arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--merz-weiss);
  color: var(--merz-rot);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
.ehnes-hero__arrow-icon { display: inline-flex; align-items: center; }
.ehnes-hero__dots { display: flex; align-items: center; gap: 8px; }
.ehnes-hero__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
}
.ehnes-hero__dot.is-active { background-color: var(--merz-weiss); }

/* Blaues Panel (überlappt den Hero unten) */
.ehnes-hero__panel-wrap {
  position: relative;
  z-index: 3;
  max-width: var(--container-max-width);
  margin: -180px auto 0;
}
.ehnes-hero__panel {
  display: flex;
  gap: 100px;
  padding: 39px 47px;
  box-sizing: border-box;
  background-color: var(--merz-blau);
  color: var(--merz-weiss);
  border-radius: var(--radius);
  box-shadow: 0 -12px 14.1px rgba(0, 0, 0, 0.25);
}
.ehnes-hero__panel-col { flex: 1; min-width: 0; }
.ehnes-hero__panel-title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.2;
  color: var(--merz-weiss);
  margin: 0;
}
.ehnes-hero__quick-list { display: flex; flex-direction: column; margin-top: 20px; }
.ehnes-hero__quick-item {
  display: block;
  padding: 16px 0;
  border-top: 0.5px solid rgba(255, 255, 255, 0.6);
  text-decoration: none;
  color: var(--merz-weiss);
}
.ehnes-hero__quick-item:first-child { border-top: none; padding-top: 4px; }
.ehnes-hero__quick-name {
  display: block;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.1;
}
.ehnes-hero__quick-sub {
  display: block;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.3;
  margin-top: 3px;
}
.ehnes-hero__panel-text {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--merz-weiss);
  margin: 22px 0 0;
}
.ehnes-hero__panel-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 30px;
  padding: 11px 22px;
  border-radius: var(--radius);
  background-color: var(--merz-weiss);
  color: var(--merz-rot);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: filter 0.15s ease;
}
.ehnes-hero__panel-cta:hover { filter: brightness(0.95); }

/* Responsive (erster Pass) */
@media (max-width: 1200px) {
  .ehnes-hero__stage { padding: 130px 24px 60px; }
  .ehnes-hero__panel-wrap { padding: 0 24px; }
}
@media (max-width: 1024px) {
  .ehnes-hero__title { font-size: 48px; }
  .ehnes-hero__slide { flex-direction: column; align-items: flex-start; gap: 24px; }
  .ehnes-hero__text { flex: none; max-width: 100%; }
  .ehnes-hero__media { justify-content: center; width: 100%; }
  .ehnes-hero__media img { max-height: 360px; }
  .ehnes-hero__nav { position: static; margin-top: 28px; }
  .ehnes-hero__panel { flex-direction: column; gap: 40px; }
}

/* ==========================================================================
   EHNES Section Title (Kicker + H2 + Subline)
   ========================================================================== */
.ehnes-sectitle { max-width: 720px; }
.ehnes-sectitle--center { text-align: center; margin-left: auto; margin-right: auto; }
.ehnes-sectitle__eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  color: var(--merz-rot);
}
.ehnes-sectitle__title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 48px;
  line-height: 1.15;
  color: var(--merz-dunkelgrau);
  margin: 18px 0 0;
}
.ehnes-sectitle__sub {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: var(--merz-dunkelgrau);
  margin: 11px 0 0;
}
.ehnes-sectitle--invert .ehnes-sectitle__eyebrow,
.ehnes-sectitle--invert .ehnes-sectitle__title,
.ehnes-sectitle--invert .ehnes-sectitle__sub { color: var(--merz-weiss); }

/* ==========================================================================
   EHNES Marquee (Laufband)
   ========================================================================== */
.ehnes-marquee { width: 100%; overflow: hidden; white-space: nowrap; padding: 54px 0; }
.ehnes-marquee__track {
  display: inline-block;
  white-space: nowrap;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 100px;
  line-height: 1;
  color: var(--merz-rot);
  animation: merz-marquee 40s linear infinite;
  will-change: transform;
}

/* ==========================================================================
   EHNES Cards (Kartenraster / Produktwelten)
   ========================================================================== */
.ehnes-cards { width: 100%; padding: 100px 0 120px; box-sizing: border-box; }
.ehnes-cards__inner {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
.ehnes-cards__head { margin-bottom: 70px; }
.ehnes-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ehnes-cards__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 22px;
  padding: 24px;
  min-height: 566px;
  box-sizing: border-box;
  background-color: var(--merz-weiss);
  border-radius: var(--radius);
  box-shadow: inset 0 0 0 1px var(--merz-umrandung);
}
.ehnes-cards__img { height: 273px; width: auto; max-width: 100%; object-fit: contain; }
.ehnes-cards__title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 29px;
  line-height: 1.1;
  color: var(--merz-dunkelgrau);
  margin: 0;
}
.ehnes-cards__text {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: var(--merz-dunkelgrau);
  margin: 0;
  max-width: 560px;
}
.ehnes-cards__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: var(--radius);
  background-color: var(--merz-rot);
  color: var(--merz-weiss);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

@media (max-width: 1024px) {
  .ehnes-marquee__track { font-size: 56px; }
  .ehnes-cards__grid { grid-template-columns: 1fr; }
  .ehnes-cards__card { min-height: 0; padding: 32px 24px; }
}

/* ==========================================================================
   EHNES IconCircle (Textur-Teller + weißes Icon)
   ========================================================================== */
.ehnes-iconcircle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  color: var(--merz-weiss);
  flex-shrink: 0;
}

/* ==========================================================================
   EHNES USP ("Warum MERZ")
   ========================================================================== */
.ehnes-usp { width: 100%; padding: 100px 0; box-sizing: border-box; }
/* Full-width: Foto bis zum linken, Karte bis zum rechten Bildschirmrand. */
.ehnes-usp__inner { width: 100%; }
.ehnes-usp__row { display: flex; align-items: stretch; }
.ehnes-usp__media { flex: 0 0 52%; }
.ehnes-usp__media img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  border-radius: var(--radius);
  display: block;
}
.ehnes-usp__card {
  position: relative;
  z-index: 1;
  flex: 1;
  margin-left: -40px;
  padding: 50px;
  box-sizing: border-box;
  background-color: var(--merz-hellgrau);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
}
.ehnes-usp__list { display: flex; flex-direction: column; gap: 36px; }
.ehnes-usp__feat { display: flex; gap: 27px; align-items: center; }
.ehnes-usp__feat-body { display: flex; flex-direction: column; gap: 6px; }
.ehnes-usp__feat-title {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.15;
  color: var(--merz-dunkelgrau);
}
.ehnes-usp__feat-text {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: var(--merz-dunkelgrau);
  max-width: 444px;
}

@media (max-width: 1024px) {
  .ehnes-usp__row { flex-direction: column; }
  .ehnes-usp__media { flex: none; }
  .ehnes-usp__media img { min-height: 320px; }
  .ehnes-usp__card { margin-left: 0; margin-top: -30px; }
}

/* ==========================================================================
   EHNES Stats ("MERZ in Zahlen") — full-width Textur-Band + blaue Kacheln
   ========================================================================== */
.ehnes-stats {
  position: relative;
  width: 100%;
  min-height: 680px;
  box-sizing: border-box;
  background-size: cover;
  background-position: center;
  padding-bottom: 60px;
}
.ehnes-stats__inner {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 95px 24px 0;
  box-sizing: border-box;
}
.ehnes-stats__tiles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 26px;
  margin-top: 100px;
}
.ehnes-stats__tile {
  width: 336px;
  height: 200px;
  border-radius: var(--radius);
  background-color: var(--merz-blau);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  padding: 12px;
}
.ehnes-stats__num {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 72px;
  line-height: 1;
  color: var(--merz-weiss);
}
.ehnes-stats__label {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  color: var(--merz-weiss);
  margin-top: 8px;
}

@media (max-width: 1024px) {
  .ehnes-stats { min-height: 0; padding-bottom: 80px; }
  .ehnes-stats__inner { padding-top: 70px; }
  .ehnes-stats__tiles { margin-top: 48px; }
}

/* ==========================================================================
   EHNES Branchen (Carousel)
   ========================================================================== */
.ehnes-branchen { width: 100%; padding: 95px 0 76px; box-sizing: border-box; background-color: var(--merz-hellgrau); }
.ehnes-branchen__inner {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
.ehnes-branchen__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 70px;
}
.ehnes-branchen__arrows { display: flex; gap: 21px; flex-shrink: 0; }
.ehnes-branchen__arrow {
  width: 47px;
  height: 47px;
  border-radius: 50%;
  background-color: var(--merz-rot);
  color: var(--merz-weiss);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.ehnes-branchen__arrow:disabled { opacity: 0.35; cursor: default; }

.ehnes-branchen__viewport { overflow: hidden; }
.ehnes-branchen__track {
  --visible: 4;
  display: flex;
  gap: 24px;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.ehnes-branchen__card {
  flex: 0 0 calc((100% - (var(--visible) - 1) * 24px) / var(--visible));
  height: 301px;
  box-sizing: border-box;
  background-color: var(--merz-weiss);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 20px;
  text-align: center;
  text-decoration: none;
}
.ehnes-branchen__ctext { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ehnes-branchen__ctitle {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.05;
  color: var(--merz-rot);
}
.ehnes-branchen__cdesc {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
  color: var(--merz-dunkelgrau);
}
.ehnes-branchen__cta-wrap { display: flex; justify-content: center; margin-top: 42px; }
.ehnes-branchen__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: var(--radius);
  background-color: var(--merz-rot);
  color: var(--merz-weiss);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .ehnes-branchen__track { --visible: 2; }
}
@media (max-width: 640px) {
  .ehnes-branchen__track { --visible: 1; }
  .ehnes-branchen__head { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   EHNES Brands ("Die Familie elektrischen Know-hows")
   Filter-Chips + Ausgrau-Animation + Marken-Lightbox (Spec Claude Design).
   ========================================================================== */
.ehnes-brands { width: 100%; background-color: var(--merz-weiss); padding: 100px 40px 120px; box-sizing: border-box; }
.ehnes-brands__inner {
  max-width: 1178px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.ehnes-brands__head { display: flex; justify-content: center; }
.ehnes-brands__sectitle { max-width: 900px; }

/* Filterleiste */
.ehnes-brands__filters { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
/* Doppel-Klasse (0,2,0) schlägt den button-Reset (0,1,1) für Padding/Höhe. */
.ehnes-brands .ehnes-brands__chip {
  display: inline-flex;
  align-items: center;
  height: 35px;
  padding: 6px 12px;
  border-radius: var(--radius);
  background: transparent;
  color: var(--merz-rot);
  box-shadow: inset 0 0 0 1px var(--merz-rot);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.ehnes-brands__chip.is-active { background-color: var(--merz-rot); color: var(--merz-weiss); box-shadow: none; }

/* Raster */
.ehnes-brands__grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-auto-rows: 197px;
  gap: 26px;
}
.ehnes-brands__tile {
  grid-column: span var(--col, 3);
  grid-row: span var(--row, 1);
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  background: none;
  transition: opacity 0.45s ease, transform 0.45s ease, filter 0.45s ease;
}
.ehnes-brands__tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ehnes-brands__tile.is-dimmed { opacity: 0.15; transform: scale(0.94); filter: grayscale(1); }

/* Lightbox */
.ehnes-brands__lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.ehnes-brands__lightbox.is-open { opacity: 1; }
.ehnes-brands__lightbox[hidden] { display: none; }
.ehnes-brands__lb-card {
  width: 620px;
  max-width: 100%;
  background: var(--merz-weiss);
  border-radius: var(--radius);
  overflow: hidden;
  transform: scale(0.96);
  transition: transform 0.25s ease;
}
.ehnes-brands__lightbox.is-open .ehnes-brands__lb-card { transform: scale(1); }
.ehnes-brands__lb-img { width: 100%; height: 280px; object-fit: cover; display: block; }
.ehnes-brands__lb-body { padding: 32px 36px 30px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.ehnes-brands__lb-chip {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: var(--radius);
  background: var(--merz-hellgrau);
  color: var(--merz-rot);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
}
.ehnes-brands__lb-name { font-family: var(--font-sans); font-weight: 700; font-size: 29px; line-height: 1.1; color: var(--merz-dunkelgrau); margin: 0; }
.ehnes-brands__lb-desc { font-family: var(--font-sans); font-weight: 400; font-size: 18px; line-height: 24px; color: var(--merz-dunkelgrau); margin: 0; }
.ehnes-brands__lb-actions { width: 100%; display: flex; justify-content: flex-end; }
.ehnes-brands .ehnes-brands__lb-close {
  display: inline-flex;
  align-items: center;
  height: 35px;
  padding: 6px 12px;
  border-radius: var(--radius);
  background: transparent;
  color: var(--merz-rot);
  box-shadow: inset 0 0 0 1px var(--merz-rot);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 1024px) {
  .ehnes-brands__grid { grid-template-columns: repeat(6, 1fr); grid-auto-rows: 160px; }
  .ehnes-brands__tile { grid-column: span var(--col-md, 3); grid-row: span var(--row-md, 1); }
}
@media (max-width: 640px) {
  .ehnes-brands__grid { grid-template-columns: repeat(6, 1fr); grid-auto-rows: 140px; }
  .ehnes-brands__tile { grid-column: span 6; grid-row: span 1; }
  .ehnes-brands__lb-card { width: calc(100vw - 32px); }
}

/* ==========================================================================
   EHNES News ("Aktuelles & News")
   ========================================================================== */
.ehnes-news { width: 100%; padding: 100px 0 60px; box-sizing: border-box; }
.ehnes-news__inner { max-width: var(--container-max-width); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ehnes-news__head { margin-bottom: 70px; }
.ehnes-news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ehnes-news__card { border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; }
.ehnes-news__media { position: relative; height: 300px; background-size: cover; background-position: center; }
.ehnes-news__badge {
  position: absolute; left: 17px; top: 18px;
  display: inline-flex; align-items: center;
  padding: 5px 12px; border-radius: var(--radius);
  background: var(--merz-weiss); color: var(--merz-rot);
  font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1;
}
.ehnes-news__body {
  flex: 1;
  background: var(--merz-hellgrau);
  padding: 33px 24px 32px;
  min-height: 256px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.ehnes-news__date { font-family: var(--font-sans); font-weight: 400; font-size: 16px; color: var(--merz-dunkelgrau); }
.ehnes-news__title { font-family: var(--font-sans); font-weight: 700; font-size: 24px; line-height: 28px; color: var(--merz-dunkelgrau); margin: 10px 0 0; }
.ehnes-news__more {
  display: inline-flex; align-self: flex-start; margin-top: 24px;
  padding: 10px 20px; border-radius: var(--radius);
  background: var(--merz-rot); color: var(--merz-weiss);
  font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; text-decoration: none;
}
.ehnes-news__cta-wrap { display: flex; justify-content: center; margin-top: 60px; }
.ehnes-news__cta {
  display: inline-flex; align-items: center;
  padding: 10px 20px; border-radius: var(--radius);
  background: transparent; color: var(--merz-rot);
  box-shadow: inset 0 0 0 1px var(--merz-rot);
  font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; text-decoration: none;
}

/* ==========================================================================
   EHNES FAQ ("Häufige Fragen") — Bild links, Accordion rechts (nach unten)
   ========================================================================== */
.ehnes-faq { width: 100%; padding: 100px 0 120px; box-sizing: border-box; background: var(--merz-hellgrau); }
.ehnes-faq__inner { max-width: var(--container-max-width); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ehnes-faq__row-wrap { display: flex; align-items: flex-end; gap: 24px; }  /* Accordion unten bündig mit dem Bild */
.ehnes-faq__left { flex: 0 0 51%; }
.ehnes-faq__img { width: 100%; height: 401px; object-fit: cover; border-radius: var(--radius); margin-top: 25px; display: block; }
.ehnes-faq__list { flex: 1; display: flex; flex-direction: column; gap: 15px; min-width: 0; }
.ehnes-faq__row { border-radius: var(--radius); background: var(--merz-weiss); overflow: hidden; padding: 20px 21px; }
.ehnes-faq .ehnes-faq__head { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; text-align: left; }
.ehnes-faq__q { font-family: var(--font-sans); font-weight: 600; font-size: 24px; line-height: 25px; color: var(--merz-dunkelgrau); }
.ehnes-faq__chev { color: var(--merz-rot); flex-shrink: 0; display: inline-flex; transform: rotate(90deg); transition: transform 0.2s ease; }
.ehnes-faq__row.is-open .ehnes-faq__chev { transform: rotate(-90deg); }
.ehnes-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.ehnes-faq__row.is-open .ehnes-faq__answer { max-height: 320px; }
.ehnes-faq__answer-inner {
  font-family: var(--font-sans); font-weight: 400; font-size: 18px; line-height: 24px;
  color: var(--merz-dunkelgrau); margin: 14px 0 0; max-width: 600px;
}

@media (max-width: 1024px) {
  .ehnes-news__grid { grid-template-columns: 1fr; }
  .ehnes-faq__row-wrap { flex-direction: column; align-items: stretch; }
  .ehnes-faq__left { flex: none; width: 100%; }
  .ehnes-faq__list { width: 100%; }
}

/* ==========================================================================
   EHNES Magazine ("PCE MERZ Inside") — Feature + 2x2-Karten, Rubrik-Filter
   ========================================================================== */
.ehnes-mag { width: 100%; background: var(--merz-weiss); padding: 100px 0 120px; box-sizing: border-box; }
.ehnes-mag__inner { max-width: 1416px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ehnes-mag__head { margin-bottom: 40px; }
.ehnes-mag__filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 50px; }
/* Doppel-Klasse schlägt den button-Reset (Padding/Höhe). */
.ehnes-mag .ehnes-mag__chip {
  display: inline-flex; align-items: center;
  height: 35px; padding: 6px 12px; border-radius: var(--radius);
  background: transparent; color: var(--merz-rot);
  box-shadow: inset 0 0 0 1px var(--merz-rot);
  font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1;
  cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.ehnes-mag .ehnes-mag__chip.is-active { background: var(--merz-rot); color: var(--merz-weiss); box-shadow: none; }

.ehnes-mag__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 355px;
  gap: 24px;
  transition: opacity 0.25s ease;
}

/* Badge (weiße Pille, dunkler Text) */
.ehnes-mag__badge {
  position: absolute; left: 14px; top: 14px; z-index: 2;
  display: inline-flex; align-items: center;
  padding: 6px 12px; border-radius: var(--radius);
  background: var(--merz-weiss); color: var(--merz-dunkelgrau);
  font-family: var(--font-sans); font-weight: 600; font-size: 15px; line-height: 1;
}
.ehnes-mag__badge--feature { left: 22px; top: 22px; }

/* Feature (links, 2x2) */
.ehnes-mag__feature {
  grid-column: span 2; grid-row: span 2;
  position: relative; border-radius: var(--radius); overflow: hidden;
  background-size: cover; background-position: center;
}
.ehnes-mag__feature-body {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 30px; display: flex; flex-direction: column; gap: 13px; color: var(--merz-weiss);
}
.ehnes-mag__meta { font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; color: var(--merz-weiss); }
.ehnes-mag__feature-title { font-family: var(--font-sans); font-weight: 700; font-size: 32px; line-height: 38px; color: var(--merz-weiss); margin: 0; }
.ehnes-mag__feature-teaser { font-family: var(--font-sans); font-weight: 400; font-size: 18px; line-height: 24px; color: var(--merz-weiss); margin: 0; }
.ehnes-mag__feature-btn {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px;
  height: 35px; padding: 6px 12px; border-radius: var(--radius);
  background: var(--merz-weiss); color: var(--merz-rot);
  font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; text-decoration: none;
}
.ehnes-mag__chev { display: inline-flex; align-items: center; }

/* Kleine Karte */
.ehnes-mag__card { border-radius: var(--radius); overflow: hidden; background: var(--merz-hellgrau); display: flex; flex-direction: column; }
.ehnes-mag__card-media { position: relative; height: 172px; background-size: cover; background-position: center; }
.ehnes-mag__card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.ehnes-mag__meta--card { color: var(--merz-dunkelgrau); font-weight: 400; }
.ehnes-mag__card-title { font-family: var(--font-sans); font-weight: 700; font-size: 20px; line-height: 24px; color: var(--merz-dunkelgrau); margin: 0; }
.ehnes-mag__card-more { margin-top: auto; color: var(--merz-rot); font-family: var(--font-sans); font-weight: 600; font-size: 16px; text-decoration: none; }

.ehnes-mag__cta-wrap { display: flex; justify-content: center; margin-top: 60px; }
.ehnes-mag__cta {
  display: inline-flex; align-items: center;
  padding: 6px 12px; height: 35px; box-sizing: border-box; border-radius: var(--radius);
  background: transparent; color: var(--merz-rot); box-shadow: inset 0 0 0 1px var(--merz-rot);
  font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; text-decoration: none;
}

@media (max-width: 1200px) {
  .ehnes-mag__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; }
  .ehnes-mag__feature { grid-column: span 2; grid-row: span 1; min-height: 500px; }
  .ehnes-mag__card-media { height: 172px; }
}
@media (max-width: 680px) {
  .ehnes-mag__grid { grid-template-columns: 1fr; }
  .ehnes-mag__feature { grid-column: span 1; min-height: 420px; }
}

/* ==========================================================================
   EHNES Single (Magazin-Beitrag / Blog-Leser) + Archiv
   ========================================================================== */
.ehnes-single { padding: 70px 24px 100px; box-sizing: border-box; }
.ehnes-single__inner { max-width: 820px; margin: 0 auto; }
.ehnes-single__back { display: inline-block; color: var(--merz-rot); font-family: var(--font-sans); font-weight: 600; font-size: 16px; text-decoration: none; margin-bottom: 28px; }
.ehnes-single__meta-row { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 16px; }
.ehnes-single__badge { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: var(--radius); background: var(--merz-hellgrau); color: var(--merz-rot); font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; }
.ehnes-single__meta { font-family: var(--font-sans); font-weight: 600; font-size: 16px; color: var(--merz-dunkelgrau); }
.ehnes-single__title { font-family: var(--font-sans); font-weight: 700; font-size: 48px; line-height: 1.12; color: var(--merz-dunkelgrau); margin: 0 0 30px; }
.ehnes-single__img { width: 100%; height: auto; border-radius: var(--radius); display: block; margin-bottom: 36px; }
.ehnes-single__content { font-family: var(--font-sans); font-weight: 400; font-size: 18px; line-height: 1.6; color: var(--merz-dunkelgrau); }
.ehnes-single__content p { margin: 0 0 20px; }

.ehnes-archive { padding: 70px 24px 100px; box-sizing: border-box; }
.ehnes-archive__inner { max-width: 1416px; margin: 0 auto; }
.ehnes-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 50px; }
.ehnes-archive__grid .ehnes-mag__card-media { height: 220px; }
.ehnes-archive .ehnes-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 50px; }

@media (max-width: 1024px) { .ehnes-archive__grid { grid-template-columns: 1fr; } .ehnes-single__title { font-size: 34px; } }

/* ==========================================================================
   EHNES Newsletter (Textur-Band)
   ========================================================================== */
.ehnes-nl { width: 100%; padding: 100px 0 120px; box-sizing: border-box; }
.ehnes-nl__inner { max-width: var(--container-max-width); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ehnes-nl__band {
  position: relative; border-radius: var(--radius); overflow: hidden;
  background-size: cover; background-position: center; min-height: 432px;
  display: flex; align-items: center; justify-content: center; padding: 40px 24px; box-sizing: border-box;
}
.ehnes-nl__content { display: flex; flex-direction: column; align-items: center; gap: 11px; text-align: center; max-width: 660px; }
.ehnes-nl__title { font-family: var(--font-sans); font-weight: 700; font-size: 48px; line-height: 1.15; color: var(--merz-weiss); margin: 0; }
.ehnes-nl__text { font-family: var(--font-sans); font-weight: 600; font-size: 18px; line-height: 1.4; color: var(--merz-weiss); margin: 0; max-width: 629px; }
.ehnes-nl__form { display: flex; gap: 17px; margin-top: 24px; flex-wrap: wrap; justify-content: center; }
.ehnes-nl__input { width: 440px; max-width: 100%; height: 44px; border-radius: var(--radius); border: none; background: var(--merz-weiss); padding: 0 16px; font-family: var(--font-sans); font-size: 18px; color: var(--merz-dunkelgrau); outline: none; box-sizing: border-box; }
.ehnes-nl .ehnes-nl__btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 24px; border: none; border-radius: var(--radius); background: var(--merz-rot); color: var(--merz-weiss); font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; cursor: pointer; }
.ehnes-nl__done { font-family: var(--font-sans); font-weight: 600; font-size: 20px; color: var(--merz-weiss); margin: 0; }

/* ==========================================================================
   EHNES Gallery (Einblicke)
   ========================================================================== */
.ehnes-gallery { width: 100%; padding: 100px 0 120px; box-sizing: border-box; }
.ehnes-gallery__inner { max-width: var(--container-max-width); margin: 0 auto; padding: 0 24px; box-sizing: border-box; display: flex; flex-direction: column; gap: 70px; }
.ehnes-gallery__inner > .ehnes-sectitle { margin-left: auto; margin-right: auto; }
/* Redaktionelles 6-Spalten-Raster (7 Bilder): oben 3, Mitte hoch, unten 2 breit. */
.ehnes-gallery__grid {
  --row-top: 190px;
  --row-bottom: 280px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: var(--row-top) var(--row-top) var(--row-bottom);
  gap: 24px;
}
.ehnes-gallery__img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); display: block; }
.ehnes-gallery__img:nth-child(1) { grid-column: 1 / 3; grid-row: 1; }
.ehnes-gallery__img:nth-child(2) { grid-column: 3 / 5; grid-row: 1 / 3; }
.ehnes-gallery__img:nth-child(3) { grid-column: 5 / 7; grid-row: 1; }
.ehnes-gallery__img:nth-child(4) { grid-column: 1 / 3; grid-row: 2; }
.ehnes-gallery__img:nth-child(5) { grid-column: 5 / 7; grid-row: 2; }
.ehnes-gallery__img:nth-child(6) { grid-column: 1 / 4; grid-row: 3; }
.ehnes-gallery__img:nth-child(7) { grid-column: 4 / 7; grid-row: 3; }

/* ==========================================================================
   EHNES Kontakt (Formular)
   ========================================================================== */
.ehnes-kontakt { width: 100%; padding: 0 0 120px; box-sizing: border-box; }
.ehnes-kontakt__inner { max-width: var(--container-max-width); margin: 0 auto; padding: 0 24px; box-sizing: border-box; display: flex; gap: 25px; align-items: flex-start; }
.ehnes-kontakt__left { flex: 0 0 51%; display: flex; flex-direction: column; gap: 24px; }
.ehnes-kontakt__img { width: 100%; height: 613px; object-fit: cover; border-radius: var(--radius); display: block; }
.ehnes-kontakt__right { flex: 1; min-width: 0; background: var(--merz-hellgrau); border-radius: var(--radius); padding: 60px 38px; box-sizing: border-box; }
.ehnes-kontakt__card { background: var(--merz-weiss); border-radius: var(--radius); box-shadow: inset 0 0 0 0.5px var(--merz-umrandung); padding: 27px 24px 25px; box-sizing: border-box; }
.ehnes-kontakt__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 27px 19px; }
.ehnes-field { display: flex; flex-direction: column; gap: 6px; }
.ehnes-field--full { margin-top: 27px; }
.ehnes-field__label { font-family: var(--font-sans); font-weight: 600; font-size: 16px; color: var(--merz-dunkelgrau); }
.ehnes-field__input { height: 44px; border-radius: 6px; border: 0.5px solid var(--merz-umrandung); background: var(--merz-weiss); padding: 0 12px; font-family: var(--font-sans); font-weight: 400; font-size: 16px; color: var(--merz-dunkelgrau); outline: none; box-sizing: border-box; }
.ehnes-field__input:focus { border-color: var(--merz-rot); }
.ehnes-field__textarea { height: auto; min-height: 110px; padding: 10px 12px; line-height: 1.4; resize: vertical; }
.ehnes-check { display: flex; align-items: center; gap: 9px; margin-top: 27px; cursor: pointer; font-family: var(--font-sans); font-weight: 400; font-size: 16px; color: var(--merz-dunkelgrau); }
.ehnes-check input { width: 18px; height: 18px; accent-color: var(--merz-rot); flex-shrink: 0; }
.ehnes-kontakt__actions { display: flex; align-items: center; gap: 14px; margin-top: 20px; flex-wrap: wrap; }
.ehnes-kontakt .ehnes-kontakt__submit { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 26px; border: none; border-radius: var(--radius); background: var(--merz-rot); color: var(--merz-weiss); font-family: var(--font-sans); font-weight: 600; font-size: 16px; line-height: 1; cursor: pointer; }
.ehnes-kontakt .ehnes-kontakt__submit:disabled { opacity: 0.6; cursor: default; }
.ehnes-kontakt__msg { font-family: var(--font-sans); font-weight: 400; font-size: 16px; color: var(--merz-dunkelgrau); }
.ehnes-kontakt__msg.is-error { color: var(--merz-rot); }
.ehnes-kontakt__done { font-family: var(--font-sans); font-weight: 600; font-size: 18px; color: var(--merz-rot); margin: 0; }
.ehnes-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; }

@media (max-width: 1024px) {
  .ehnes-kontakt__inner { flex-direction: column; }
  .ehnes-kontakt__left { flex: none; width: 100%; }
  .ehnes-kontakt__img { height: 360px; }
  .ehnes-kontakt__right { width: 100%; }
}
/* Galerie: auf Tablet 2 Spalten, feste Slots aufheben; hohes Bild breit. */
@media (max-width: 900px) {
  .ehnes-gallery__grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: none; grid-auto-rows: 220px; }
  .ehnes-gallery__img { grid-column: auto !important; grid-row: auto !important; }
  .ehnes-gallery__img:nth-child(2) { grid-column: 1 / 3 !important; }
}
@media (max-width: 560px) {
  .ehnes-gallery__grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .ehnes-gallery__img:nth-child(2) { grid-column: auto !important; }
}
@media (max-width: 640px) {
  .ehnes-kontakt__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   EHNES Footer (blau, 4 Link-Spalten, Legal-Zeile, Scroll-Top)
   ========================================================================== */
.ehnes-footer { position: relative; width: 100%; background-color: var(--merz-blau); color: var(--merz-weiss); }
.ehnes-footer__inner { max-width: var(--container-max-width); margin: 0 auto; padding: 64px 24px 28px; box-sizing: border-box; }
.ehnes-footer__top { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; }
.ehnes-footer__logo { width: 180px; height: auto; display: block; margin-bottom: 28px; }
.ehnes-footer__logo--white { filter: brightness(0) invert(1); }
.ehnes-footer__company { display: flex; flex-direction: column; margin-bottom: 24px; }
.ehnes-footer__name { font-family: var(--font-sans); font-weight: 700; font-size: 18px; }
.ehnes-footer__addr { margin: 6px 0 0; font-family: var(--font-sans); font-weight: 400; font-size: 16px; line-height: 1.4; }
.ehnes-footer__contact { display: flex; flex-direction: column; gap: 12px; }
.ehnes-footer__cline { display: inline-flex; align-items: center; gap: 10px; color: var(--merz-weiss); text-decoration: none; font-family: var(--font-sans); font-weight: 400; font-size: 16px; }
.ehnes-footer__cline svg { flex-shrink: 0; }
.ehnes-footer__col-title { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 20px; margin-bottom: 22px; }
.ehnes-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ehnes-footer__list a { color: var(--merz-weiss); text-decoration: none; font-family: var(--font-sans); font-weight: 400; font-size: 16px; }
.ehnes-footer__list a:hover, .ehnes-footer__cline:hover, .ehnes-footer__legal a:hover { opacity: 0.78; }
.ehnes-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 60px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.35); }
.ehnes-footer__copy { font-family: var(--font-sans); font-weight: 400; font-size: 15px; }
.ehnes-footer__legal { display: flex; flex-wrap: wrap; gap: 20px; }
.ehnes-footer__legal a { color: var(--merz-weiss); text-decoration: none; font-family: var(--font-sans); font-weight: 400; font-size: 15px; }
.ehnes-footer .ehnes-footer__top-btn {
  position: absolute; right: 40px; bottom: 26px;
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--merz-weiss); color: var(--merz-rot);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

@media (max-width: 1024px) {
  .ehnes-footer__top { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .ehnes-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .ehnes-footer__top { grid-template-columns: 1fr; }
  .ehnes-footer__bottom { flex-direction: column; align-items: flex-start; }
  .ehnes-footer .ehnes-footer__top-btn { right: 24px; }
}

/* ==========================================================================
   RESPONSIVE CHECKUP — konsolidierte Tablet/Mobile-Anpassungen (2026-07-08)
   !important nur dort, wo Elementor-Control-Inline-Styles (0,2,0) überschrieben
   werden müssen (Overlaps, Section-Paddings, Kachelmaße).
   ========================================================================== */

/* ---------- Tablet (≤1024px) ---------- */
@media (max-width: 1024px) {
  /* Header: Topbar umbrechen/zentrieren, Karte + Logo kompakter */
  .ehnes-header__topbar-inner { flex-wrap: wrap; justify-content: center; gap: 10px 18px; padding: 8px 16px; }
  .ehnes-header__card { padding: 12px 20px; }
  .ehnes-header__logo img { width: 150px; }

  /* Sektionsüberschriften etwas kleiner */
  .ehnes-sectitle__title { font-size: 40px; line-height: 1.15; }

  /* Hero: Overlaps zurücknehmen, Texturhöhe + Innenabstand reduzieren */
  .ehnes-hero { margin-top: 0 !important; }
  .ehnes-hero__top { min-height: 640px !important; }
  .ehnes-hero__stage { padding-top: 40px !important; padding-bottom: 40px !important; }
  .ehnes-hero__panel-wrap { margin-top: -60px !important; }
  .ehnes-hero__title { font-size: 44px; }
  .ehnes-hero__nav { bottom: auto !important; }
}

/* ---------- Mobile (≤767px) ---------- */
@media (max-width: 767px) {
  /* Header: Topbar + Kontakt-Button aus (Inhalte im Burger-Panel), Logo klein */
  .ehnes-header__topbar { display: none; }
  .ehnes-header__cta { display: none; }
  .ehnes-header__logo img { width: 132px; }

  /* Typo-Skalierung */
  .ehnes-sectitle__title { font-size: 30px; }
  .ehnes-sectitle__eyebrow { font-size: 18px; }
  .ehnes-hero__title { font-size: 34px; }
  .ehnes-hero__panel-title { font-size: 26px; }
  .ehnes-marquee__track { font-size: 44px; }
  .ehnes-mag__feature-title { font-size: 26px; line-height: 30px; }
  .ehnes-nl__title { font-size: 32px; }
  .ehnes-single__title { font-size: 30px; }
  .ehnes-usp__feat-title, .ehnes-faq__q, .ehnes-branchen__ctitle { font-size: 21px; line-height: 1.2; }

  /* Hero kompakter */
  .ehnes-hero__top { min-height: 520px !important; }
  .ehnes-hero__stage { padding-top: 24px !important; }

  /* Kennzahl-Kacheln: nicht mehr fixe Breite */
  .ehnes-stats__num { font-size: 54px; }
  .ehnes-stats__tile { width: 100% !important; max-width: 360px; height: auto !important; min-height: 168px; padding: 26px 16px; }

  /* Newsletter-Band kompakter */
  .ehnes-nl__band { min-height: 360px !important; padding: 40px 20px; }

  /* Kontakt-Umfeld enger */
  .ehnes-kontakt__right { padding: 26px 18px !important; }
  .ehnes-kontakt__card { padding: 20px 16px; }

  /* Vertikale Sektionsabstände global reduzieren */
  .ehnes-cards, .ehnes-usp, .ehnes-branchen, .ehnes-brands, .ehnes-mag,
  .ehnes-news, .ehnes-faq, .ehnes-nl, .ehnes-gallery { padding-top: 60px !important; padding-bottom: 60px !important; }
  .ehnes-stats__inner { padding-top: 56px !important; }
  .ehnes-brands__inner { gap: 32px; }
}

/* ---------- Klein (≤480px) ---------- */
@media (max-width: 480px) {
  .ehnes-sectitle__title { font-size: 26px; }
  .ehnes-hero__title { font-size: 28px; }
  .ehnes-mag__inner, .ehnes-brands { padding-left: 20px; padding-right: 20px; }
  /* CTAs volle Breite für bessere Tap-Fläche */
  .ehnes-hero__cta, .ehnes-cards__cta, .ehnes-branchen__cta, .ehnes-news__cta, .ehnes-mag__cta { width: 100%; justify-content: center; box-sizing: border-box; }
  .ehnes-branchen__cta-wrap, .ehnes-news__cta-wrap, .ehnes-mag__cta-wrap { align-self: stretch; }
  /* Footer Scroll-Top näher an den Rand */
  .ehnes-footer .ehnes-footer__top-btn { right: 20px; }
}
