/* ==========================================================================
   Scheyer — Gutenberg Block-Styles
   Nur Editor-Fallbacks, Fonts und Struktur-Fixes.
   Alles Design kommt aus ACSS (Klassen + Variablen).
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. EDITOR: ACSS-Fallbacks (ACSS laeuft nicht im Gutenberg-Editor)
   -------------------------------------------------------------------------- */
.editor-styles-wrapper {
  --primary: #005EB8;
  --primary-hover: #004A93;
  --primary-dark: #004A93;
  --primary-light: #b3daff;
  --primary-ultra-light: #e5f3ff;
  --secondary: #5A7A5A;
  --secondary-light: #eff5ef;
  --accent: #EDB230;
  --accent-light: #f6d98d;
  --accent-ultra-light: #fdf5e6;
  --tertiary-ultra-light: #FDEAEB;
  --neutral: #111111;
  --neutral-dark: #4f545f;
  --neutral-medium: #e5e7eb;
  --neutral-light: #f6f7f9;
  --neutral-ultra-light: #f2f2f2;
  --white: #fff;
  --black: #000;
  --bg-light: var(--neutral-ultra-light);
  --gutter: clamp(0.9375rem, calc(1.34vw + 0.67rem), 1.875rem);
  --content-width: 90rem;
  --content-gap: var(--space-m);
  --container-gap: var(--section-space-m);
  --section-padding-block: var(--section-space-m);
  --space-xs: clamp(0.53rem, calc(0.44vw + 0.44rem), 0.83rem);
  --space-s: clamp(0.7rem, calc(0.78vw + 0.55rem), 1.25rem);
  --space-m: clamp(0.94rem, calc(1.34vw + 0.67rem), 1.875rem);
  --space-l: clamp(1.25rem, calc(2.23vw + 0.8rem), 2.8125rem);
  --space-xl: clamp(1.67rem, calc(3.65vw + 0.94rem), 4.21875rem);
  --section-space-s: clamp(2.1rem, calc(4.13vw + 1.28rem), 5rem);
  --section-space-m: clamp(2.8125rem, calc(6.7vw + 1.47rem), 7.5rem);
  --section-space-l: clamp(3.75rem, calc(10.72vw + 1.61rem), 11.25rem);
  --h1: clamp(1.728rem, calc(3.56vw + 1.02rem), 4.21875rem);
  --h2: clamp(1.44rem, calc(1.96vw + 1.05rem), 2.8125rem);
  --h3: clamp(1.2rem, calc(0.96vw + 1.01rem), 1.875rem);
  --h4: clamp(1rem, calc(0.36vw + 0.93rem), 1.25rem);
  --text-m: clamp(0.875rem, calc(0.36vw + 0.8rem), 1.125rem);
  --text-s: clamp(0.75rem, calc(0vw + 0.75rem), 0.75rem);
  --text-xs: clamp(0.6875rem, calc(0vw + 0.6875rem), 0.6875rem);
  --radius: 1em;
  --border: 0.5px solid rgba(17, 17, 17, 0.2);
  --divider: 1px solid rgba(17, 17, 17, 0.2);
  --box-shadow-m: 0 4px 4px -10px rgba(18,18,18,0.04), 0 13px 13px -10px rgba(18,18,18,0.06), 0 40px 60px -10px rgba(18,18,18,0.08);
  --transition: background 0.3s ease-in-out, color 0.3s ease-in-out, border 0.3s ease-in-out;
  --btn-font-weight: 600;

  max-width: 100% !important;
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--neutral-dark);
  line-height: 1.5;
}

/* --------------------------------------------------------------------------
   1. EDITOR: Layout (ACSS section-Verhalten simulieren)
   -------------------------------------------------------------------------- */
.editor-styles-wrapper .is-root-container {
  max-width: 100% !important;
  padding-inline: 0 !important;
}

.editor-styles-wrapper .wp-block-group.alignfull,
.editor-styles-wrapper .wp-block-post-content {
  max-width: 100% !important;
  width: 100% !important;
}

/* SSR-Blocks: volle Breite im Editor */
.editor-styles-wrapper [data-type^="scheyer/"] {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.editor-styles-wrapper section.wp-block-group,
.editor-styles-wrapper [data-type^="scheyer/"] section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--container-gap);
  padding-block: var(--section-padding-block);
  padding-inline: var(--gutter);
}

.editor-styles-wrapper section.wp-block-group > div.wp-block-group {
  width: 100%;
  max-inline-size: var(--content-width);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
}

.editor-styles-wrapper .wp-block-columns {
  flex-direction: row !important;
  flex-wrap: wrap;
  width: 100%;
}

/* Editor: Grid-Layouts */
.editor-styles-wrapper .scheyer-grid {
  display: grid;
  gap: var(--space-m);
  width: 100%;
}

.editor-styles-wrapper .scheyer-grid > * {
  margin-block-start: 0 !important;
}

.editor-styles-wrapper .scheyer-grid--2 {
  grid-template-columns: var(--grid-2, repeat(2, minmax(0, 1fr)));
}

.editor-styles-wrapper .scheyer-grid--3 {
  grid-template-columns: var(--grid-3, repeat(3, minmax(0, 1fr)));
}

.editor-styles-wrapper .scheyer-grid--4 {
  grid-template-columns: var(--grid-4, repeat(4, minmax(0, 1fr)));
}

/* Editor: Hero + Heading Group */
.editor-styles-wrapper .scheyer-hero {
  min-height: 50vh;
  justify-content: center;
}

.editor-styles-wrapper .scheyer-heading-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.editor-styles-wrapper .scheyer-heading-group .scheyer-kicker {
  order: -1;
}

.editor-styles-wrapper .scheyer-hero__accent {
  color: var(--primary);
}

/* --------------------------------------------------------------------------
   2. FONTS (nicht in ACSS definiert)
   -------------------------------------------------------------------------- */
body {
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, sans-serif;
}

h1, h2, h3, h4, h5, h6,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* --------------------------------------------------------------------------
   3. STRUKTUR-FIXES (WordPress + ACSS Interaktion)
   -------------------------------------------------------------------------- */

/* Columns brauchen width:100% und row-direction in sections */
.wp-block-columns.brxe-columns,
section .wp-block-columns {
  flex-direction: row !important;
  flex-wrap: wrap;
  width: 100%;
}

/* Grid-Layouts mit ACSS-Variablen */
.scheyer-grid {
  display: grid;
  gap: var(--grid-gap, var(--space-m));
  width: 100%;
  align-items: start;
}

/* WordPress .is-layout-flow setzt margin-top auf Grid-Kinder — reset */
.scheyer-grid > * {
  margin-block-start: 0 !important;
}

.scheyer-grid--2 {
  align-items: center;
}

.scheyer-grid--2 {
  grid-template-columns: var(--grid-2);
}

.scheyer-grid--3 {
  grid-template-columns: var(--grid-3);
}

.scheyer-grid--4 {
  grid-template-columns: var(--grid-4);
}

@media (max-width: 991px) {
  .scheyer-grid--2 {
    grid-template-columns: var(--grid-1);
  }

  .scheyer-grid--2 > .scheyer-grid-img {
    order: -1;
  }

  .scheyer-grid--4 {
    grid-template-columns: var(--grid-2);
  }
}

@media (max-width: 767px) {
  .scheyer-grid--3,
  .scheyer-grid--4 {
    grid-template-columns: var(--grid-1);
  }
}



/* --------------------------------------------------------------------------
   4a. CONTENT-BLOCKS: Margins raus, Gap regelt Abstände
   -------------------------------------------------------------------------- */
.brxe-block > * {
  margin-block: 0;
}

p {
  max-inline-size: 70ch;
}

h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
  hyphens: auto;
}

/* --------------------------------------------------------------------------
   4b. PAGE HERO (Text-Header ohne Bild)
   -------------------------------------------------------------------------- */
.scheyer-page-hero {
  padding-block-start: 20vh !important;
}

/* --------------------------------------------------------------------------
   5. HEADING GROUP (Kicker + Heading)
   Heading steht im DOM zuerst (Accessibility), Kicker visuell darueber via order.
   -------------------------------------------------------------------------- */
.scheyer-heading-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  width: 100%;
}

.scheyer-heading-group .scheyer-kicker {
  order: -1;
}

.scheyer-heading-group[style*="text-align:center"] {
  align-items: center;
}

/* --------------------------------------------------------------------------
   5. HERO
   -------------------------------------------------------------------------- */
.scheyer-hero {
  min-height: 80vh;
  justify-content: center;
}

.scheyer-hero h1 mark,
.scheyer-hero h1 strong {
  color: var(--primary);
  background: none;
  font-weight: inherit;
}

.scheyer-hero__accent {
  color: var(--primary);
}

/* Hero Video */
.scheyer-hero--video {
  position: relative;
  overflow: hidden;
  background: var(--neutral);
  height: 90vh;
  min-height: auto;
  display: flex;
  align-items: center;
}

.scheyer-hero__video-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.scheyer-hero__video-bg iframe {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  border: 0;
  max-width: none !important;
  /* JS setzt width/height dynamisch */
}

.scheyer-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--neutral);
}

.scheyer-hero__content {
  position: relative;
  z-index: 2;
}

.scheyer-hero__content .brxe-block {
  max-width: 50ch;
}

.scheyer-hero--video,
.scheyer-hero--video h1,
.scheyer-hero--video p,
.scheyer-hero--video .scheyer-kicker {
  color: var(--white);
}

.scheyer-hero--video .scheyer-hero__accent {
  color: var(--accent-light);
}

.scheyer-hero h1 {
  hyphens: manual;
  -webkit-hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
}

.scheyer-hero__content .brxe-block {
  max-width: 60ch;
}

/* --------------------------------------------------------------------------
   5. STATS
   -------------------------------------------------------------------------- */
.scheyer-stats {
  padding-block: var(--section-space-s) !important;
  border-bottom: var(--border-size) var(--border-style) var(--border-color-dark);
}

.scheyer-stats .scheyer-grid {
  text-align: center;
}

/* Stats Items: kompakter Abstand, zentriert */
.scheyer-stat-item,
.scheyer-stats .scheyer-grid > div {
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em !important;
}

.scheyer-stats .scheyer-grid > div + div::before {
  content: '';
  position: absolute;
  left: calc(var(--grid-gap, var(--space-m)) / -2);
  top: 10%;
  height: 80%;
  width: var(--border-size);
  background-color: var(--border-color-dark);
}

/* --------------------------------------------------------------------------
   6. STAT-ZAHLEN (Zaehler-Formatierung)
   -------------------------------------------------------------------------- */
.scheyer-stat-number {
  font-family: 'Raleway', sans-serif;
  font-size: calc(var(--text-xl) * 2);
  font-weight: 800;
  color: var(--neutral);
  line-height: 1;
  white-space: nowrap;
  margin-bottom: 0;
}

.scheyer-stat-label {
  font-size: var(--text-m);
  color: var(--neutral);
  font-weight: 500;
}

.scheyer-stat-number--secondary {
  color: var(--secondary);
}

/* --------------------------------------------------------------------------
   7. BILDER (Grid-Items und Cards ausfuellen)
   -------------------------------------------------------------------------- */
.scheyer-grid-img {
  overflow: hidden;
  border-radius: var(--radius);
}

.scheyer-grid-img figure {
  margin: 0;
  height: 100%;
}

.scheyer-grid-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --------------------------------------------------------------------------
   8. CARDS
   -------------------------------------------------------------------------- */
.scheyer-cards-grid {
  row-gap: var(--space-xl) !important;
  column-gap: var(--space-l) !important;
}

.scheyer-card {
  overflow: hidden;
}

.scheyer-card .scheyer-card__image-link {
  display: block;
  border: var(--border-size) var(--border-style) var(--border-color-dark);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--white);
}

.scheyer-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  display: block;
  padding: var(--space-m);
  transition: transform 0.3s ease;
}

.scheyer-card .scheyer-card__image-link:hover img {
  transform: scale(1.05);
}

/* Blog/News Cards: Fotos als Cover, kein Padding */
.scheyer-card .scheyer-card__image-link--cover {
  border-radius: var(--border-radius-s, 0.5em);
}

.scheyer-card .scheyer-card__image-link--cover img {
  object-fit: cover;
  padding: 0;
  transition: transform 0.3s ease;
}

/* Team-Sprungmarken: textbasiert, eckig, mit Trenner */
.scheyer-team-jumpnav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m);
  margin-block: var(--space-m) var(--space-xl);
  padding-block-end: var(--space-s);
  border-block-end: 1px solid var(--neutral-light, #eee);
}

.scheyer-team-jumpnav__link {
  color: var(--neutral, var(--text));
  text-decoration: none;
  font-weight: 500;
  font-size: var(--text-m);
  padding-block: var(--space-2xs, 0.25em);
  border-block-end: 2px solid transparent;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.scheyer-team-jumpnav__link:hover,
.scheyer-team-jumpnav__link:focus-visible {
  color: var(--primary);
  border-block-end-color: var(--primary);
}

/* Bereichs-Überschriften */
.scheyer-team-section-heading {
  scroll-margin-top: var(--header-height, 6rem);
  margin-block: var(--space-2xl, 5rem) var(--space-s);
}

.scheyer-team-section-heading:first-of-type {
  margin-block-start: 0;
}

/* Land-Filter im Verkauf-Bereich: Text-Links, eckig */
.scheyer-team-landfilter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m);
  margin-block-end: var(--space-l);
  font-size: var(--text-s);
}

.scheyer-team-landfilter__btn {
  background: transparent;
  border: 0;
  padding: var(--space-2xs, 0.25em) 0;
  color: var(--neutral, var(--text));
  font-weight: 500;
  cursor: pointer;
  border-block-end: 2px solid transparent;
  transition: color 0.3s ease, border-color 0.3s ease;
  font-family: inherit;
  font-size: inherit;
}

.scheyer-team-landfilter__btn:hover,
.scheyer-team-landfilter__btn:focus-visible {
  color: var(--primary);
}

.scheyer-team-landfilter__btn.is-active {
  color: var(--primary);
  border-block-end-color: var(--primary);
}

.scheyer-cards-grid .scheyer-card.is-hidden {
  display: none;
}

/* Team-Karten: einheitliches Portrait-Format + Initial-Avatar als Fallback */
.scheyer-card .scheyer-card__image-link {
  position: relative;
}

.scheyer-card .scheyer-card__initials {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--neutral-light);
  color: var(--neutral-medium, var(--neutral));
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  letter-spacing: 0.05em;
}

.scheyer-cards-grid--team .scheyer-card__image-link,
.scheyer-cards-grid .scheyer-card[data-post-type="teammitglied"] .scheyer-card__image-link {
  aspect-ratio: 4 / 5;
  border: none;
}

.scheyer-cards-grid--team .scheyer-card img,
.scheyer-cards-grid .scheyer-card[data-post-type="teammitglied"] img {
  aspect-ratio: 4 / 5;
  height: 100%;
  padding: 0;
  object-fit: cover;
}

.scheyer-card .scheyer-card__image-link--cover:hover img {
  transform: scale(1.05);
}

.scheyer-card-content {
  padding-top: var(--space-m);
  gap: var(--space-xs);
}

.scheyer-card-content h3 {
  margin: 0;
}

.scheyer-card__team-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}

.scheyer-card__meta {
  font-size: var(--text-s);
  color: var(--neutral-dark);
}

.scheyer-card__meta a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

@media (min-width: 782px) {
  a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
  }
}

.scheyer-card__meta a:hover,
.scheyer-card__meta a:focus-visible {
  color: var(--primary);
}

/* Card-Content als Flex-Column — Profil-Link rutscht ans Card-Ende */
.scheyer-card {
  display: flex;
  flex-direction: column;
}

.scheyer-card-content {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.scheyer-card-content .scheyer-link-arrow {
  margin-block-start: auto;
  padding-block-start: var(--space-s);
}

/* --------------------------------------------------------------------------
   9. CTA
   -------------------------------------------------------------------------- */
.scheyer-cta__inner {
  text-align: center;
  align-items: center;
}

.scheyer-cta h2,
.scheyer-cta p {
  color: var(--cta-text, var(--white));
}

.scheyer-cta p {
  opacity: 0.8;
}

/* Helle CTA-Hintergründe: dunkle Schrift */
.scheyer-cta[style*="neutral-light"] h2,
.scheyer-cta[style*="neutral-light"] p,
.scheyer-cta[style*="ultra-light"] h2,
.scheyer-cta[style*="ultra-light"] p,
.scheyer-cta[style*="secondary-light"] h2,
.scheyer-cta[style*="secondary-light"] p,
.scheyer-cta[style*="accent-light"] h2,
.scheyer-cta[style*="accent-light"] p,
.scheyer-cta[style*="accent-ultra-light"] h2,
.scheyer-cta[style*="accent-ultra-light"] p,
.scheyer-cta[style*="--white"] h2,
.scheyer-cta[style*="--white"] p {
  color: var(--neutral);
}

.scheyer-cta[style*="neutral-light"] p,
.scheyer-cta[style*="ultra-light"] p,
.scheyer-cta[style*="secondary-light"] p,
.scheyer-cta[style*="accent-light"] p,
.scheyer-cta[style*="--white"] p {
  opacity: 0.7;
}

.scheyer-cta__buttons {
  display: flex;
  gap: var(--space-m);
  justify-content: center;
  flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   10a. TEXT-COLUMNS mit Hero-Bild
   Bild volle Breite, Gradient nach Weiß, Content überlappt
   -------------------------------------------------------------------------- */
.scheyer-text-columns--has-image {
  position: relative;
  overflow: hidden;
  padding-block-start: 0 !important;
  padding-inline: 0 !important;
}

.scheyer-text-columns__hero {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 7;
  max-height: 70vh;
  overflow: hidden;
}

.scheyer-text-columns__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.scheyer-text-columns__fade {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 50%;
  background: linear-gradient(to bottom, transparent, var(--white, #fff));
  pointer-events: none;
}

.scheyer-text-columns--has-image .scheyer-text-columns__content {
  position: relative;
  margin-block-start: calc(var(--section-space-m) * -1);
  padding-inline: var(--gutter);
}

/* --------------------------------------------------------------------------
   ICON-LISTE
   -------------------------------------------------------------------------- */
.scheyer-icon-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.scheyer-icon-list__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-s);
}

.scheyer-icon-list__icon {
  flex-shrink: 0;
  color: var(--primary);
  margin-block-start: 0.1em;
}

.scheyer-icon-list__text {
  font-size: var(--text-m);
}

/* --------------------------------------------------------------------------
   TESTIMONIALS
   -------------------------------------------------------------------------- */
.scheyer-testimonial {
  background: var(--neutral-light);
  border-radius: var(--radius);
  padding: var(--space-l);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}

.scheyer-testimonial__quote {
  font-size: var(--text-m);
  font-style: italic;
  line-height: 1.6;
}

.scheyer-testimonial__quote::before {
  display: none;
}

.scheyer-testimonials__grid {
  align-items: stretch;
}

.scheyer-testimonials__grid .scheyer-testimonial {
  height: 100%;
}

/* Große Anführungszeichen (Browser-blockquote) blau färben */
.scheyer-testimonial::before,
.scheyer-testimonial::after {
  color: var(--primary);
}

.scheyer-testimonial__author {
  display: flex;
  align-items: center;
  gap: var(--space-s);
}

.scheyer-testimonial__avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  object-fit: cover;
}

.scheyer-testimonial__name {
  font-weight: 600;
  font-style: normal;
  display: block;
}

.scheyer-testimonial__position {
  font-size: var(--text-s);
  color: var(--neutral-dark);
}

/* --------------------------------------------------------------------------
   FAQ AKKORDEON
   -------------------------------------------------------------------------- */
.scheyer-faq__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-s);
  width: 100%;
}

@media (max-width: 767px) {
  .scheyer-faq__list {
    grid-template-columns: 1fr;
  }
}

.scheyer-faq__item {
  background: var(--neutral-light);
  border-radius: var(--radius);
  padding: var(--space-m);
  border: none;
  position: relative;
}

.scheyer-faq__question {
  cursor: pointer;
  font-weight: 600;
  font-size: var(--h4);
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
}

.scheyer-faq__question::after {
  content: '+';
  font-size: 1.5em;
  font-weight: 300;
  flex-shrink: 0;
  color: var(--primary);
  transition: transform 0.25s ease;
}

.scheyer-faq__item[open] .scheyer-faq__question::after {
  transform: rotate(45deg);
}

.scheyer-faq__question::-webkit-details-marker {
  display: none;
}

.scheyer-faq__answer {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 10;
  background: var(--white);
  padding: var(--space-m);
  border-radius: var(--radius);
  box-shadow: var(--box-shadow-m);
}

/* --------------------------------------------------------------------------
   BLOG: Galerie Hover + Lightbox
   -------------------------------------------------------------------------- */
.wp-block-gallery .wp-block-image {
  overflow: hidden;
  border-radius: var(--radius);
}

.wp-block-gallery .wp-block-image img {
  transition: transform 0.3s ease;
}

.wp-block-gallery .wp-block-image:hover img {
  transform: scale(1.05);
}

/* --------------------------------------------------------------------------
   LIGHTBOX
   -------------------------------------------------------------------------- */
.wp-lightbox-overlay {
  display: none !important;
}

.scheyer-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: var(--primary-trans-80, rgba(0, 94, 184, 0.8));
  backdrop-filter: blur(0.3em);
  -webkit-backdrop-filter: blur(0.3em);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.scheyer-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.scheyer-lightbox__img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: var(--radius);
}

.scheyer-lightbox__close,
.scheyer-lightbox__prev,
.scheyer-lightbox__next {
  position: absolute;
  background: none;
  border: none;
  color: var(--white);
  cursor: pointer;
  padding: 0.5em;
  line-height: 1;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.scheyer-lightbox__close:hover,
.scheyer-lightbox__prev:hover,
.scheyer-lightbox__next:hover {
  opacity: 1;
}

.scheyer-lightbox__close {
  top: 1rem;
  right: 1rem;
  font-size: 2.5rem;
}

.scheyer-lightbox__prev {
  left: 1rem;
  font-size: 3rem;
}

.scheyer-lightbox__next {
  right: 1rem;
  font-size: 3rem;
}

.scheyer-lightbox__counter {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--white);
  font-size: var(--text-s);
  opacity: 0.7;
}

/* --------------------------------------------------------------------------
   BLOG: Featured Image (volle Breite)
   -------------------------------------------------------------------------- */
.scheyer-post-featured-image figure {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
}

.scheyer-post-featured-image a {
  display: block;
}

.scheyer-post-featured-image img {
  width: 100%;
  height: auto;
  max-height: 60vh;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.scheyer-post-featured-image a:hover img {
  transform: scale(1.03);
}

/* --------------------------------------------------------------------------
   LOGOS
   -------------------------------------------------------------------------- */
.scheyer-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-l);
}

.scheyer-logos__item img {
  max-height: 3rem;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.scheyer-logos__item:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

/* --------------------------------------------------------------------------
   VIDEO
   -------------------------------------------------------------------------- */
.scheyer-video {
  position: relative;
  width: 100%;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--neutral);
  display: block !important;
}

.scheyer-video__overlay {
  position: absolute;
  inset: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scheyer-video__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.scheyer-video__play {
  position: relative;
  z-index: 2;
  background: none;
  border: none;
  cursor: pointer;
  transition: transform 0.25s ease;
}

.scheyer-video__play:hover {
  transform: scale(1.1);
}

.scheyer-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* --------------------------------------------------------------------------
   QUOTE (einzeln)
   -------------------------------------------------------------------------- */
.scheyer-quote {
  max-inline-size: 50rem;
  margin-inline: auto;
  text-align: center;
  padding: 0;
}

.scheyer-quote__text {
  font-size: var(--h3);
  font-style: italic;
  line-height: 1.6;
}

.scheyer-quote__text::before {
  content: '\201e';
  font-size: 2.5em;
  color: var(--primary);
  display: block;
  line-height: 0.5;
  margin-bottom: var(--space-s);
}

.scheyer-quote__footer {
  margin-block-start: var(--space-m);
}

.scheyer-quote__author {
  font-weight: 600;
  font-style: normal;
}

.scheyer-quote__position {
  display: block;
  font-size: var(--text-s);
  color: var(--neutral-dark);
}

/* --------------------------------------------------------------------------
   GALLERY
   -------------------------------------------------------------------------- */
.scheyer-gallery__item {
  overflow: hidden;
  border-radius: var(--radius);
  margin: 0;
}

.scheyer-gallery__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.scheyer-gallery__item:hover img {
  transform: scale(1.05);
}

.scheyer-gallery__item figcaption {
  padding: var(--space-s);
  font-size: var(--text-s);
  color: var(--neutral-dark);
  text-align: center;
}

/* --------------------------------------------------------------------------
   SLIDER
   -------------------------------------------------------------------------- */
.scheyer-slider {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  display: block !important;
}

.scheyer-slider__track {
  display: block !important;
  white-space: nowrap;
  font-size: 0;
  transition: transform 0.5s ease;
}

.scheyer-slider__slide {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  white-space: normal;
  font-size: 1rem;
  position: relative;
}

.scheyer-slider__slide img {
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: cover;
  display: block;
}

.scheyer-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--space-m) var(--space-l);
  background: linear-gradient(transparent, rgba(0,0,0,0.6));
  color: var(--white);
  font-size: var(--text-m);
  margin: 0;
}

.scheyer-slider__prev,
.scheyer-slider__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.8);
  border: none;
  font-size: 2rem;
  padding: 0.3em 0.5em;
  cursor: pointer;
  border-radius: var(--radius);
  z-index: 2;
  transition: background 0.2s;
}

.scheyer-slider__prev:hover,
.scheyer-slider__next:hover {
  background: var(--white);
}

.scheyer-slider__prev { left: var(--space-m); }
.scheyer-slider__next { right: var(--space-m); }

.scheyer-slider__dots {
  position: absolute;
  bottom: var(--space-m);
  left: 50%;
  transform: translateX(-50%);
  display: flex !important;
  flex-direction: row !important;
  gap: 0.5em;
  z-index: 2;
}

.scheyer-slider__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  border: none;
  cursor: pointer;
  padding: 0;
}

.scheyer-slider__dot--active {
  background: var(--white);
}

/* --------------------------------------------------------------------------
   FORMULAR-CARD
   -------------------------------------------------------------------------- */
.scheyer-form-card {
  background: var(--white);
  border-radius: var(--radius);
  padding: var(--space-l);
  box-shadow: var(--box-shadow-m);
}

/* --------------------------------------------------------------------------
   OSM KARTE
   -------------------------------------------------------------------------- */
.scheyer-map {
  padding: 0 !important;
}

.scheyer-map #scheyer-osm-map {
  width: 100%;
  height: 400px;
}

/* --------------------------------------------------------------------------
   BLOG: Post-Datum
   -------------------------------------------------------------------------- */
.scheyer-post-date {
  color: var(--neutral-dark);
  font-size: var(--text-s);
}

/* --------------------------------------------------------------------------
   TEXT-COLUMNS: Spaltenbilder
   -------------------------------------------------------------------------- */
.scheyer-text-col__img {
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
}

.scheyer-text-col__img img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* --------------------------------------------------------------------------
   DOWNLOADS (automatisch vor Footer)
   -------------------------------------------------------------------------- */
.scheyer-downloads {
  background-color: var(--neutral-light);
}

.scheyer-downloads__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-s);
  width: 100%;
}

@media (max-width: 767px) {
  .scheyer-downloads__list {
    grid-template-columns: 1fr;
  }
}

.scheyer-download-item {
  display: flex;
  align-items: center;
  gap: var(--space-m);
  padding: var(--space-m);
  background: var(--white);
  border-radius: var(--radius);
  text-decoration: none;
  color: var(--neutral);
  transition: box-shadow 0.25s ease;
}

.scheyer-download-item:hover {
  box-shadow: var(--box-shadow-m);
}

.scheyer-download-item__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  color: var(--primary);
}

.scheyer-download-item__info {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
}

.scheyer-download-item__title {
  font-weight: 600;
}

.scheyer-download-item__size {
  font-size: var(--text-s);
  color: var(--neutral-dark);
}

/* --------------------------------------------------------------------------
   10. BRANDS
   -------------------------------------------------------------------------- */
.scheyer-brands__inner {
  text-align: center;
  align-items: center;
}

/* --------------------------------------------------------------------------
   12. CONTAINER-SMALL
   -------------------------------------------------------------------------- */
.container-small {
  max-inline-size: var(--width-l, calc(var(--content-width) * 0.6)) !important;
}

/* --------------------------------------------------------------------------
   SHOWCASE
   -------------------------------------------------------------------------- */

.scheyer-showcase__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--space-m);
  align-items: stretch;
  min-height: 550px;
}

/* Spalte 1: Team-Slider */
.scheyer-showcase__team {
  background: var(--primary);
  color: var(--white);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

.scheyer-showcase__team-heading {
  position: absolute;
  top: var(--space-l);
  left: var(--space-l);
  z-index: 2;
  font-weight: 700;
  font-size: var(--text-l);
  color: var(--white);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Gradient oben über dem Slider, damit Heading lesbar bleibt */
.scheyer-showcase__team-link,
.scheyer-showcase__team-link:hover,
.scheyer-showcase__team-link:focus-visible,
.scheyer-showcase__team-link:visited {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
  color: var(--white);
  text-decoration: none;
  min-height: 0;
}

.scheyer-showcase__team-link::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 40%;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), transparent);
  pointer-events: none;
}

.scheyer-showcase__team-link:hover .scheyer-showcase__team-img img,
.scheyer-showcase__team-link:focus-visible .scheyer-showcase__team-img img {
  transform: scale(1.03);
}

.scheyer-showcase__team-img img {
  transition: transform 0.4s ease;
}

.scheyer-showcase__team-slider {
  position: relative;
  flex: 1;
}

.scheyer-showcase__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
  pointer-events: none;
}

.scheyer-showcase__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.scheyer-showcase__team-img {
  position: absolute;
  inset: 0;
  overflow: hidden;
  margin: 0;
}

.scheyer-showcase__team-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.scheyer-showcase__team-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: var(--space-xl) var(--space-l) var(--space-l);
  background: linear-gradient(transparent, rgba(0, 50, 120, 0.85));
}

.scheyer-showcase__team-name {
  font-weight: 600;
  font-size: var(--text-m);
}

.scheyer-showcase__team-role {
  font-size: var(--text-s);
  opacity: 0.8;
}

.scheyer-showcase__team-nav {
  position: absolute;
  top: var(--space-l);
  right: var(--space-l);
  z-index: 3;
  display: flex;
  gap: 0.4rem;
}

.scheyer-showcase__arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  background: rgba(0, 0, 0, 0.2);
  color: var(--white);
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, border-color 0.2s;
  backdrop-filter: blur(4px);
}

.scheyer-showcase__arrow:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: var(--white);
}

.scheyer-showcase__arrow svg {
  width: 18px;
  height: 18px;
}

/* Spalte 2: Text */
.scheyer-showcase__text {
  background: var(--primary);
  color: var(--white);
  border-radius: var(--radius);
  padding: var(--space-l) var(--space-l) var(--space-m);
  display: flex;
  align-items: flex-end;
}

/* Farbumkehr: dunkler Section-Hintergrund → Mitte weiß */
.scheyer-showcase--invert .scheyer-showcase__text {
  background: var(--white);
  color: var(--neutral);
}

.scheyer-showcase--invert .scheyer-showcase__text h2 {
  color: var(--neutral);
}

.scheyer-showcase--invert .scheyer-showcase__label {
  opacity: 0.6;
}

.scheyer-showcase__text-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.scheyer-showcase__label {
  font-size: var(--text-s);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.8;
}

.scheyer-showcase__text h2 {
  color: var(--white);
  font-size: var(--h3);
}

/* Spalte 3: Bild + Features */
.scheyer-showcase__image {
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.scheyer-showcase__image figure {
  margin: 0;
  flex: 1;
  overflow: hidden;
}

.scheyer-showcase__image figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

a.scheyer-showcase__image {
  text-decoration: none;
}

a.scheyer-showcase__image:hover figure img {
  transform: scale(1.04);
}

/* Beschriftete Bild-Kachel (z. B. Kontakt) – Look wie Team-Slider, ohne Slide */
.scheyer-showcase__image--labeled::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 40%;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), transparent);
  pointer-events: none;
}

.scheyer-showcase__image-heading {
  position: absolute;
  top: var(--space-l);
  left: var(--space-l);
  z-index: 2;
  font-weight: 700;
  font-size: var(--text-l);
  color: var(--white);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

@media (max-width: 991px) {
  .scheyer-showcase__grid {
    grid-template-columns: 1fr;
  }

  .scheyer-showcase__team,
  .scheyer-showcase__image {
    min-height: 400px;
  }
}

/* --------------------------------------------------------------------------
   BRANDS
   -------------------------------------------------------------------------- */
.scheyer-brands-list {
  font-size: var(--text-l);
  font-weight: 600;
  line-height: 2.25;
  word-break: break-word;
  overflow-wrap: break-word;
}

.scheyer-brands-list a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (max-width: 767px) {
  .scheyer-brands__inner {
    padding-inline: var(--gutter) !important;
  }

  .scheyer-brands-list {
    line-height: 2;
    font-size: var(--text-m);
  }
}

/* --------------------------------------------------------------------------
   11. ZENTRIERTE ELEMENTE (ACSS section>div ist flex-start, das ueberschreiben)
   -------------------------------------------------------------------------- */
.has-text-align-center {
  align-self: center;
  width: 100%;
}

/* --------------------------------------------------------------------------
   TEXTLINKS: Pfeil-Animation bei Hover
   -------------------------------------------------------------------------- */
.scheyer-link-arrow a {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  text-decoration: none;
}

.scheyer-link-arrow a::after {
  content: '\2192';
  display: inline-block;
  transition: transform 0.25s ease;
}

/* Pfeil aus dem Text entfernen falls inline */
.scheyer-link-arrow a > :last-child {
  margin-right: 0;
}

.scheyer-link-arrow a:hover::after,
.scheyer-link-arrow a:focus-visible::after {
  transform: translateX(0.3em);
}

/* --------------------------------------------------------------------------
   7. ACCESSIBILITY
   -------------------------------------------------------------------------- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* --------------------------------------------------------------------------
   8. IFRAME
   -------------------------------------------------------------------------- */

.scheyer-iframe-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius);
}

.scheyer-iframe-fullwidth {
  padding-block: 0 !important;
}

.scheyer-iframe-fullwidth .scheyer-iframe-wrap {
  border-radius: 0;
}

/* --------------------------------------------------------------------------
   DOWNLOADS (Filter-Buttons fuer den Downloads-Block)
   -------------------------------------------------------------------------- */

.scheyer-downloads__filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-block-end: 0;
  padding-block-end: 0;
}

.scheyer-downloads__filter-btn {
  padding: var(--space-xs) var(--space-s);
  border: 1px solid var(--neutral-medium);
  border-radius: var(--radius);
  background: transparent;
  color: var(--text);
  font-size: var(--text-s);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.scheyer-downloads__filter-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.scheyer-downloads__filter-btn.is-active {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.scheyer-downloads__search {
  margin-block-end: var(--space-m);
}

.scheyer-downloads__search-input {
  width: 100%;
  max-width: 400px;
  padding: var(--space-xs) var(--space-s);
  border: 1px solid var(--neutral-medium);
  border-radius: var(--radius);
  font-size: var(--text-m);
  font-family: inherit;
  background: var(--white);
  transition: border-color 0.2s;
}

.scheyer-downloads__search-input:focus {
  outline: none;
  border-color: var(--primary);
}

.scheyer-download-item[hidden] {
  display: none;
}

/* --------------------------------------------------------------------------
   PERSON DETAIL
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   PARTNER HIGHLIGHT
   -------------------------------------------------------------------------- */

.scheyer-partner__logo {
  width: 250px;
  flex-shrink: 0;
}

.scheyer-partner__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.scheyer-partner__facts {
  display: flex;
  gap: var(--space-l);
  margin-block: var(--space-m);
}

.scheyer-partner__fact {
  display: flex;
  flex-direction: column;
}

.scheyer-partner__fact-number {
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--primary);
  line-height: 1.1;
}

.scheyer-partner__fact-label {
  font-size: var(--text-s);
}

.scheyer-partner__action {
  margin-block-start: var(--space-l);
}

/* Variante 1: Centered Card */
.scheyer-partner--centered {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: var(--space-xxl, 4rem) var(--space-xl);
}

.scheyer-partner--centered .scheyer-partner__logo {
  width: 125px;
  margin-inline: auto;
  margin-block-end: var(--space-l);
}

.scheyer-partner--centered h2 {
  font-size: var(--text-l);
  margin-block-end: var(--space-m);
}

.scheyer-partner--centered .scheyer-partner__text {
  max-width: 560px;
  margin-inline: auto;
  margin-block-end: var(--space-l);
}

.scheyer-partner--centered .scheyer-partner__facts {
  justify-content: center;
}

/* Variante 2: Horizontal Card */
.scheyer-partner--horizontal {
  display: flex;
  align-items: flex-start;
  gap: var(--space-xl);
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: var(--space-xl);
}

.scheyer-partner--horizontal .scheyer-partner__logo {
  align-self: center;
}

.scheyer-partner--horizontal .scheyer-partner__content {
  flex: 1;
  min-width: 0;
}

/* Variante 3: Kompakter Banner */
.scheyer-partner--banner-inner {
  display: flex;
  align-items: center;
  gap: var(--space-xl);
  flex-wrap: wrap;
}

.scheyer-partner--banner-inner .scheyer-partner__logo {
  width: 180px;
}

.scheyer-partner--banner-inner .scheyer-partner__content {
  flex: 1;
  min-width: 200px;
}

.scheyer-partner--banner-inner .scheyer-partner__content h2 {
  margin-block-end: var(--space-xs);
}

.scheyer-partner--banner-inner .scheyer-partner__content p {
  font-size: var(--text-s);
  max-width: 480px;
}

.scheyer-partner--banner-inner .scheyer-partner__facts {
  margin-block: 0;
}

/* Variante 4: Quote-Style */
.scheyer-partner--quote {
  max-width: 720px;
  margin-inline: auto;
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: var(--space-xl);
}

.scheyer-partner--quote blockquote {
  margin: 0 0 var(--space-l);
  padding: 0;
  border: 0;
}

.scheyer-partner--quote .scheyer-partner__quote-text {
  font-size: var(--text-l);
  font-style: italic;
  line-height: 1.5;
}

.scheyer-partner--quote .scheyer-partner__quote-text::before {
  content: '\201e';
  font-size: 2em;
  color: var(--primary);
  line-height: 0;
  vertical-align: -0.3em;
  margin-right: 0.1em;
}

.scheyer-partner--quote .scheyer-partner__quote-footer {
  display: flex;
  align-items: center;
  gap: var(--space-m);
}

.scheyer-partner--quote .scheyer-partner__logo {
  width: 150px;
}

.scheyer-partner--quote .scheyer-partner__facts {
  margin-block: var(--space-xs);
  gap: var(--space-m);
}

@media (max-width: 781px) {
  .scheyer-partner--horizontal {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .scheyer-partner--horizontal .scheyer-partner__facts {
    justify-content: center;
  }

  .scheyer-partner--banner-inner {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .scheyer-partner--banner-inner .scheyer-partner__facts {
    justify-content: center;
  }

  .scheyer-partner--quote .scheyer-partner__quote-footer {
    flex-direction: column;
    text-align: center;
  }

}

/* --------------------------------------------------------------------------
   VCARD
   -------------------------------------------------------------------------- */

.scheyer-vcard {
  display: grid;
  grid-template-columns: 280px 1fr;
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.scheyer-vcard__photo {
  overflow: hidden;
}

.scheyer-vcard__photo .scheyer-person__photo,
.scheyer-vcard__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.scheyer-vcard--no-photo {
  grid-template-columns: 1fr;
}

.scheyer-vcard__body {
  display: flex;
  gap: var(--space-xl);
  padding: var(--space-l) var(--space-xl);
  align-items: flex-start;
}

.scheyer-vcard__info {
  flex: 1;
  min-width: 0;
}

.scheyer-vcard__name {
  margin: 0 0 0.15em;
  font-size: var(--text-xl);
}

.scheyer-vcard__role {
  margin: 0 0 var(--space-m);
  font-size: var(--text-m);
}

.scheyer-vcard__list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-l);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.scheyer-vcard__list li {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.scheyer-vcard__list svg {
  flex-shrink: 0;
  color: var(--primary);
}

.scheyer-vcard__list a {
  color: var(--primary);
  text-decoration: none;
}

.scheyer-vcard__list a:hover {
  text-decoration: underline;
}

.scheyer-vcard__save {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}

.scheyer-vcard__qr {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
}

.scheyer-vcard__qr svg {
  width: 100%;
  height: 100%;
}

.scheyer-link-arrow--back {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  text-decoration: none;
  color: var(--primary);
  font-weight: 500;
}

.scheyer-link-arrow--back:hover {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   9. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 781px) {
  .scheyer-stats .scheyer-grid > div + div::before {
    display: none;
  }

  .scheyer-brands,
  .scheyer-cta,
  .scheyer-text-columns {
    overflow-x: hidden;
  }

  .scheyer-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
  }

  .scheyer-cta__buttons {
    flex-direction: column;
    align-items: center;
  }

  .container-small {
    max-inline-size: 100% !important;
  }

  .scheyer-brands-list a {
    display: inline;
  }

  .scheyer-text-columns__hero {
    aspect-ratio: 1 / 1;
  }

  .scheyer-vcard {
    grid-template-columns: 1fr;
  }

  .scheyer-vcard__photo {
    max-height: 300px;
  }

  .scheyer-vcard__body {
    flex-direction: column;
  }

  .scheyer-vcard__qr {
    margin-block-start: var(--space-m);
  }
}

/* ===========================================================
   Bilder nie abrunden — globale Regel (inkl. Bild-Container)
   =========================================================== */
img,
figure,
figure img,
picture,
picture img,
.scheyer-card__image-link,
.scheyer-card__image-link--cover,
.scheyer-feature__image,
.scheyer-feature__image figure,
.scheyer-showcase__image,
.scheyer-showcase__image figure,
.scheyer-showcase__team-img,
.scheyer-showcase__team,
[class*="__image"],
[class*="__image"] figure,
[class*="__media"],
[class*="__media"] figure,
[class*="__thumb"],
[class*="__photo"] {
  border-radius: 0 !important;
}

/* ===========================================================
   Fluent Forms Submit-Button: ACSS-Look (btn--primary) + Pfeil
   Spezifität via .fluent_form_<ID> Wrapper, damit Inline-Styles
   und Plugin-CSS überschrieben werden.
   =========================================================== */
.scheyer-form-card form .ff-btn-submit,
.scheyer-form-card .ff_submit_btn_wrapper .ff-btn-submit {
  background-color: var(--primary) !important;
  color: var(--white) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0.75em 1.5em !important;
  font-weight: 600;
  font-size: var(--text-m);
  line-height: 1.2;
  display: inline-flex !important;
  align-items: center;
  gap: 0.5em;
  cursor: pointer;
  text-decoration: none;
  box-shadow: none !important;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.scheyer-form-card form .ff-btn-submit::after,
.scheyer-form-card .ff_submit_btn_wrapper .ff-btn-submit::after {
  content: '\2192';
  display: inline-block;
  transition: transform 0.3s ease;
}

.scheyer-form-card form .ff-btn-submit:hover,
.scheyer-form-card form .ff-btn-submit:focus-visible,
.scheyer-form-card .ff_submit_btn_wrapper .ff-btn-submit:hover,
.scheyer-form-card .ff_submit_btn_wrapper .ff-btn-submit:focus-visible {
  background-color: var(--primary-hover, var(--primary-dark)) !important;
  color: var(--white) !important;
  transform: translateY(-1px);
}

.scheyer-form-card form .ff-btn-submit:hover::after,
.scheyer-form-card form .ff-btn-submit:focus-visible::after,
.scheyer-form-card .ff_submit_btn_wrapper .ff-btn-submit:hover::after,
.scheyer-form-card .ff_submit_btn_wrapper .ff-btn-submit:focus-visible::after {
  transform: translateX(0.3em);
}

/* ===========================================================
   Sticky-CTA: Pfeil + sauberer Hover
   =========================================================== */
.scheyer-sticky-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}

.scheyer-sticky-cta::after {
  content: '\2192';
  display: inline-block;
  transition: transform 0.3s ease;
}

.scheyer-sticky-cta:hover::after,
.scheyer-sticky-cta:focus-visible::after {
  transform: translateX(0.3em);
}



/* --------------------------------------------------------------------------
   PAGE HERO mit Titelbild (optional, imageId-Attribut)
   -------------------------------------------------------------------------- */
.scheyer-page-hero--image {
  position: relative;
  overflow: hidden;
}

.scheyer-page-hero--image .scheyer-page-hero__bg {
  position: absolute;
  inset: 0;
}

.scheyer-page-hero--image .scheyer-page-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
}

.scheyer-page-hero--image .scheyer-page-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.35));
}

.scheyer-page-hero--image .brxe-container {
  position: relative;
  z-index: 1;
}

.scheyer-page-hero--image h1,
.scheyer-page-hero--image p,
.scheyer-page-hero--image .scheyer-kicker {
  color: #fff;
}

/* --- Standort-Cards als Boxen (Layout B, Kontaktseite) --- */
/* Grid hat global align-items:start -> fuer Standort-Cards stretchen */
.scheyer-grid:has(> .scheyer-standort-card) { align-items: stretch; }
.scheyer-standort-card {
  background: var(--white);
  border: 1px solid #E5E7EB;
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs, 0.75rem);
  padding: 0 0 var(--space-m);
}
/* Subgrid: Bild/Titel/Text/Adresse/Meta zeilenweise ueber alle Cards aligned */
@supports (grid-template-rows: subgrid) {
  .scheyer-standort-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    row-gap: var(--space-xs, 0.75rem);
  }
}
.scheyer-standort-card > * { padding-inline: var(--space-m); }
.scheyer-standort-card figure.scheyer-text-col__img {
  padding-inline: 0;
  margin: 0 0 var(--space-s);
  aspect-ratio: 4 / 3;
}
.scheyer-standort-card figure.scheyer-text-col__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}
.scheyer-standort-card .scheyer-card__team-meta {
  margin-top: auto;
  padding-top: var(--space-s);
  border-top: 1px solid #E5E7EB;
  margin-inline: var(--space-m);
  padding-inline: 0;
}
/* ============================================================
   FUNNEL + KEN-BURNS + A11Y + SAFARI-FIXES (2026-06-12)
   ============================================================ */

/* --- Links in Fließtext & FAQ erkennbar machen --- */
.scheyer-faq__item a,
.scheyer-card__team-meta a,
section p:not(.scheyer-link-arrow) a:not([class*="btn"]):not(.scheyer-sticky-cta) {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

/* --- A11y: sichtbarer Fokus global --- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--primary, #005EB8);
  outline-offset: 2px;
}

/* --- Safari/iOS Basics --- */
a, button, .ff-el-form-check-label { -webkit-tap-highlight-color: transparent; }
button, .ff-btn { touch-action: manipulation; }

/* --- Hero: lange Wörter sauber umbrechen --- */
.scheyer-hero h1 { overflow-wrap: break-word; hyphens: manual; -webkit-hyphens: manual; text-wrap: balance; }

/* --- Ken-Burns Hero-Hintergrund --- */
.scheyer-hero--kenburns { position: relative; overflow: hidden; }
.scheyer-hero__kenburns,
.scheyer-hero__kb-overlay { position: absolute; inset: 0; }
.scheyer-hero__kenburns { z-index: 0; }
.scheyer-hero__kb-base,
.scheyer-hero__kb-slide {
  position: absolute; inset: -2%;
  background-size: cover; background-position: center;
}
.scheyer-hero__kb-slide {
  opacity: 0;
  transform: scale(1) translate3d(0, 0, 0);
  animation: scheyer-kenburns 28s linear infinite;
  will-change: opacity, transform;
}
@keyframes scheyer-kenburns {
  0%   { opacity: 0; transform: scale(1) translate3d(0, 0, 0); }
  4%   { opacity: 1; }
  26%  { opacity: 1; }
  34%  { opacity: 0; transform: scale(1.12) translate3d(2%, -1%, 0); }
  100% { opacity: 0; transform: scale(1); }
}
.scheyer-hero__kb-overlay {
  z-index: 1;
  background: linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.85) 45%, rgba(255,255,255,0.55) 100%);
}
.scheyer-hero--kenburns .brxe-container { position: relative; z-index: 2; }
@media (max-width: 781px) {
  .scheyer-hero__kb-overlay { background: rgba(255,255,255,0.9); }
}
@media (prefers-reduced-motion: reduce) {
  .scheyer-hero__kb-slide { animation: none; opacity: 0; }
  .scheyer-hero__kb-base { display: block; }
}

/* --- Funnel-Formular: Fluent Forms Styling --- */
#funnel-formular input,
#funnel-formular select,
#funnel-formular textarea { font-size: 1rem; } /* iOS-Fokus-Zoom verhindern */

#funnel-formular .ff-el-progress {
  background: var(--neutral-ultra-light, #E5E7EB);
  border-radius: 999px;
  overflow: hidden;
}
#funnel-formular .ff-el-progress-bar {
  background: var(--primary, #005EB8);
  min-height: 8px;
}
#funnel-formular .ff-el-progress-status { font-weight: 600; margin-bottom: 0.5em; }

/* Optionen als Karten (Radio mit & ohne Bild) */
#funnel-formular .ff-el-form-check {
  width: 100%;
  float: none;
  margin: 0;
}
#funnel-formular .ff-el-input--content:has(> .ff-el-form-check:not(.ff-el-image-holder)) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-s, 1rem);
}
#funnel-formular .ff-el-form-check-label {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  align-items: stretch;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: var(--space-s, 1rem);
  border: 2px solid var(--neutral-ultra-light, #E5E7EB);
  border-radius: var(--radius, 0);
  background: var(--white, #fff);
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
  font-weight: 600;
}
#funnel-formular .ff-el-form-check-label:hover { border-color: var(--primary, #005EB8); }
#funnel-formular .ff-el-form-check:has(input:checked) .ff-el-form-check-label,
#funnel-formular .ff-el-form-check-label:has(input:checked) {
  border-color: var(--primary, #005EB8);
  box-shadow: 0 0 0 1px var(--primary, #005EB8), 0 6px 20px rgba(0, 94, 184, 0.12);
}
#funnel-formular .ff-el-form-check-label:focus-within {
  outline: 2px solid var(--primary, #005EB8);
  outline-offset: 2px;
}
/* Inputs visuell verstecken, aber fokussierbar lassen (A11y) */
#funnel-formular .ff-el-form-check input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  margin: 0;
}
/* Bild-Optionen */
#funnel-formular .ff-el-image-holder .ff-el-image-input-src,
#funnel-formular .ff-el-form-check-label .ff-el-image-input-src {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  border-radius: calc(var(--radius, 0px));
}

/* Range-Slider in Markenfarbe */
#funnel-formular input[type="range"] { accent-color: var(--primary, #005EB8); width: 100%; }

/* Step-/Submit-Buttons im Scheyer-Stil */
#funnel-formular .ff-btn-next,
#funnel-formular .ff_btn_style {
  background: var(--primary, #005EB8);
  color: #fff;
  border: 2px solid var(--primary, #005EB8);
  padding: 0.85em 1.75em;
  font-weight: 600;
  font-size: 1rem;
  border-radius: var(--radius, 0);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
#funnel-formular .ff-btn-next:hover,
#funnel-formular .ff_btn_style:hover {
  background: var(--primary-hover, #004A93);
  border-color: var(--primary-hover, #004A93);
}
#funnel-formular .ff-btn-prev {
  background: transparent;
  color: var(--primary, #005EB8);
  border: 2px solid var(--primary, #005EB8);
  padding: 0.85em 1.75em;
  font-weight: 600;
  font-size: 1rem;
  border-radius: var(--radius, 0);
  cursor: pointer;
}
#funnel-formular .ff-btn-prev:hover { background: var(--primary-ultra-light, #EBF3FB); }

/* Mobil: Optionen + Buttons stapeln, Touch-Targets groß */
@media (max-width: 600px) {
  #funnel-formular .ff-el-input--content:has(> .ff-el-form-check:not(.ff-el-image-holder)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #funnel-formular .ff-btn-next,
  #funnel-formular .ff-btn-prev,
  #funnel-formular .ff_btn_style {
    width: 100%;
    float: none;
    margin: 0 0 0.5em;
  }
  #funnel-formular .step-nav { display: flex; flex-direction: column-reverse; gap: 0.5em; }
}
@media (max-width: 420px) {
  #funnel-formular .ff-el-input--content:has(> .ff-el-form-check:not(.ff-el-image-holder)) {
    grid-template-columns: 1fr;
  }
}
/* --- FUNNEL NACHTRAG v2 --- */
/* Bild-Karten-Grid: robuster Parent-Selektor (FF rendert .ff-el-form-check direkt) */
#funnel-formular .ff_el_checkable_photo_holders {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-s, 1rem);
}
#funnel-formular .ff-el-form-check.ff-el-image-holder {
  border: 2px solid var(--neutral-ultra-light, #E5E7EB);
  border-radius: var(--radius, 0);
  background: var(--white, #fff);
  overflow: hidden;
  transition: border-color .15s, box-shadow .15s;
}
#funnel-formular .ff-el-form-check.ff-el-image-holder:hover { border-color: var(--primary, #005EB8); }
#funnel-formular .ff-el-form-check.ff-el-image-holder:has(input:checked) {
  border-color: var(--primary, #005EB8);
  box-shadow: 0 0 0 1px var(--primary, #005EB8), 0 6px 20px rgba(0,94,184,.12);
}
#funnel-formular .ff-el-form-check.ff-el-image-holder:focus-within {
  outline: 2px solid var(--primary, #005EB8);
  outline-offset: 2px;
}
#funnel-formular .ff-el-image-holder label.ff-el-image-input-src {
  display: block;
  width: 100% !important;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  margin: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
}
#funnel-formular .ff-el-image-holder .ff-el-form-check-label {
  border: 0;
  padding: 0.75rem 1rem;
  min-height: 48px;
  display: flex;
  align-items: center;
  font-weight: 600;
  cursor: pointer;
}
@media (max-width: 600px) {
  #funnel-formular .ff_el_checkable_photo_holders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 359px) {
  #funnel-formular .ff_el_checkable_photo_holders { grid-template-columns: 1fr; }
}
/* Range-Slider in Markenblau (FF default ist gruen) */
#funnel-formular input[type="range"] { accent-color: var(--primary, #005EB8) !important; }
#funnel-formular .rangeslider__fill,
#funnel-formular .ff_slider_fill { background: var(--primary, #005EB8) !important; }
/* Bricks-Accordion: Links unterstreichen + Basis-Optik */
.brxe-accordion a { text-decoration: underline; text-underline-offset: .2em; }
.brxe-accordion .accordion-item { border: 1px solid var(--neutral-ultra-light, #E5E7EB); border-radius: var(--radius, 0); margin-bottom: .75rem; background: var(--white, #fff); }
.brxe-accordion .accordion-title-wrapper { padding: 1rem 1.25rem; font-weight: 700; cursor: pointer; min-height: 48px; }
.brxe-accordion .accordion-content-wrapper { padding: 0 1.25rem 1.25rem; }
/* --- FUNNEL NACHTRAG v3 --- */
.fnl-btn-row{display:flex;justify-content:center;margin-top:var(--space-m,2rem)}
.fnl-btn-gap{margin-top:var(--space-s,1rem)}
.fnl-narrow{max-width:820px;margin-inline:auto;width:100%}
.fnl-center-text{text-align:center}
.fnl-quote{margin:0 0 var(--space-s,1rem)}
.fnl-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;padding:0;margin:0}
@media(max-width:781px){.fnl-list-grid{grid-template-columns:1fr}}
.fnl-list-stack{display:grid;gap:.75rem;list-style:none;padding:0;margin:0}
.brxe-list li{display:flex;align-items:center;gap:.6em;min-height:32px}
.brxe-list li i{color:var(--primary,#005EB8)}
.fnl-bg-primary{background-color:var(--primary,#005EB8)}
.fnl-bg-neutral-light{background-color:var(--neutral-light,#F4F4F4)}
.fnl-bg-white{background-color:var(--white,#fff)}
.fnl-bg-accent-light{background-color:var(--accent-light,#F6D98E)}
/* Ken-Burns Bilder + Delays statisch */
.scheyer-hero__kb-base{background-image:url(https://scheyer.multimediafabrik.com/wp-content/uploads/Scheyer-2024-23.webp)}
.scheyer-hero__kenburns .scheyer-hero__kb-slide:nth-of-type(2){background-image:url(https://scheyer.multimediafabrik.com/wp-content/uploads/Scheyer-2024-23.webp);animation-delay:0s}
.scheyer-hero__kenburns .scheyer-hero__kb-slide:nth-of-type(3){background-image:url(https://scheyer.multimediafabrik.com/wp-content/uploads/flexodruck-anlage-scheyer.webp);animation-delay:7s}
.scheyer-hero__kenburns .scheyer-hero__kb-slide:nth-of-type(4){background-image:url(https://scheyer.multimediafabrik.com/wp-content/uploads/Scheyer_Zipverpackungen_Gruppe_01_grau.webp);animation-delay:14s}
.scheyer-hero__kenburns .scheyer-hero__kb-slide:nth-of-type(5){background-image:url(https://scheyer.multimediafabrik.com/wp-content/uploads/Standbodenbeutel9K1B9920.webp);animation-delay:21s}
/* Formular: Breite, Foto-Grid, Submit */
#funnel-formular{max-width:780px;margin-inline:auto;width:100%}
#funnel-formular .ff_el_checkable_photo_holders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-s,1rem)}
#funnel-formular label.ff-el-image-input-src{height:auto !important;aspect-ratio:4/3;width:100% !important}
#funnel-formular .ff-btn-submit{background:var(--primary,#005EB8) !important;color:#fff !important;border:2px solid var(--primary,#005EB8) !important;padding:.85em 1.75em !important;font-weight:600;font-size:1rem;border-radius:var(--radius,0);cursor:pointer}
#funnel-formular .ff-btn-submit:hover{background:var(--primary-hover,#004A93) !important;border-color:var(--primary-hover,#004A93) !important}
@media(max-width:600px){#funnel-formular .ff_el_checkable_photo_holders{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:359px){#funnel-formular .ff_el_checkable_photo_holders{grid-template-columns:1fr}}
/* Touch-Targets nur auf Funnel-Seiten */
body.single-funnel a[class*="btn--"]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding-block:.7em}

/* --- FUNNEL NACHTRAG v4 --- */
body.single-funnel #brx-content > * { width: 100%; min-width: 0; }
body.single-funnel { overflow-x: clip; }
.fnl-narrow { max-width: min(820px, 100%); }
.brxe-accordion, .fnl-narrow > * { min-width: 0; max-width: 100%; }
.brxe-accordion .accordion-content-wrapper { overflow-wrap: anywhere; }
/* fnl-label-wrap: lange Options-Labels umbrechen */
#funnel-formular .ff-el-form-check-label, #funnel-formular .ff-el-form-check-label span { white-space: normal; overflow-wrap: break-word; min-width: 0; }

/* --- FUNNEL NACHTRAG v5: GDPR-Checkbox + Button-Reihenfolge --- */
/* Checkbox-Gruppen (GDPR) raus aus Grid + Karten-Optik */
#funnel-formular .ff-el-input--content:has(> .ff-el-form-check input[type="checkbox"]) {
  display: block !important;
}
#funnel-formular .ff-el-form-check:has(input[type="checkbox"]) .ff-el-form-check-label {
  border: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 0;
  min-height: 0;
  font-weight: 400;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75em;
  cursor: pointer;
}
#funnel-formular .ff-el-form-check input[type="checkbox"] {
  position: static;
  opacity: 1;
  pointer-events: auto;
  margin: 0.15em 0 0;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: var(--primary, #005EB8);
}
/* Submit-Wrapper: Zurueck (per JS verschoben) + Hauptaktion */
#funnel-formular .ff_submit_btn_wrapper {
  display: flex;
  gap: 0.75em;
  align-items: center;
}
@media (max-width: 600px) {
  #funnel-formular .ff_submit_btn_wrapper { flex-direction: column-reverse; width: 100%; align-items: stretch; float: none; }
  #funnel-formular .ff_submit_btn_wrapper .ff-btn,
  #funnel-formular .ff_submit_btn_wrapper button { width: 100%; margin: 0; }
}

/* --------------------------------------------------------------------------
   CONTENT-LISTEN: einheitliche Haken (Gutenberg-Listen)
   ul.wp-block-list kommt ausschliesslich im Seiteninhalt vor (nie Nav/Footer)
   -------------------------------------------------------------------------- */
ul.wp-block-list:not(.scheyer-icon-list){list-style:none;padding-left:0;margin-block:1em;display:grid;gap:.5em}
ul.wp-block-list:not(.scheyer-icon-list) li{position:relative;padding-left:1.9em;line-height:1.5}
ul.wp-block-list:not(.scheyer-icon-list) li::before{content:'';position:absolute;left:0;top:.15em;width:1.25em;height:1.25em;background-color:var(--primary,#005EB8);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/0.85em no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/0.85em no-repeat;border-radius:999px}

/* CTA-/Hero-Überschriften: ausgewogener Zeilenumbruch (keine Einzelwörter) */
.scheyer-cta h2,.scheyer-cta__inner h2,.scheyer-page-hero h1,.scheyer-page-hero h2{text-wrap:balance}

/* Registered-Zeichen hochgestellt */
.reg-mark{font-size:.62em;vertical-align:super;line-height:0;margin-left:.02em}

.reg-wrap{display:inline}

/* Überschriften: gaengige Ligaturen (ff, fi, fl) abschalten – 'trifft' sah verschmolzen aus */
h1,h2,h3,h4,h5,h6,.scheyer-hero h1,.scheyer-cta h2,.scheyer-page-hero h1,.scheyer-heading-group h2{font-variant-ligatures:no-common-ligatures;-webkit-font-feature-settings:"liga" 0,"clig" 0;font-feature-settings:"liga" 0,"clig" 0}

/* --------------------------------------------------------------------------
   TELEFON: nur auf mobilen Geraeten als Link erkennbar/klickbar
   -------------------------------------------------------------------------- */
a[href^="tel:"],
a[href^="tel:"]:hover,
a[href^="tel:"]:focus,
a[href^="tel:"]:focus-visible{color:inherit;text-decoration:none;pointer-events:none;cursor:default;outline:none}
@media (hover:none) and (pointer:coarse){
  a[href^="tel:"]{color:var(--primary,#005EB8);pointer-events:auto;cursor:pointer}
  a[href^="tel:"]:active{text-decoration:underline}
}

/* --------------------------------------------------------------------------
   TEAM: Tabs (Desktop) / Akkordeon (Mobil) + Rahmen
   -------------------------------------------------------------------------- */
.scheyer-team-tabs{margin-top:var(--space-m,1.5rem)}
.scheyer-team-tabs__nav{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:2px solid var(--neutral-light,#e5e7eb)}
.scheyer-team-tabs__tab{appearance:none;background:none;border:none;font:inherit;font-weight:600;color:var(--neutral-dark,#4B5563);padding:.8em 1.4em;cursor:pointer;border-radius:var(--radius,10px) var(--radius,10px) 0 0;display:inline-flex;align-items:center;gap:.5em;position:relative;margin-bottom:-2px}
.scheyer-team-tabs__tab:hover{color:var(--primary,#005EB8)}
.scheyer-team-tabs__tab.is-active{color:var(--primary,#005EB8);background:var(--white,#fff)}
.scheyer-team-tabs__tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--primary,#005EB8)}
.scheyer-team-tabs__count{font-size:.72em;font-weight:700;line-height:1;background:var(--neutral-light,#eef0f2);color:var(--neutral-dark,#4B5563);border-radius:999px;padding:.28em .6em}
.scheyer-team-tabs__tab.is-active .scheyer-team-tabs__count{background:var(--primary,#005EB8);color:#fff}
.scheyer-team-tabs__panels{border:1px solid var(--neutral-light,#e5e7eb);border-top:none;border-radius:0 0 var(--radius,12px) var(--radius,12px);background:var(--white,#fff);padding:var(--space-l,2rem)}
.scheyer-team-panel{display:none}
.scheyer-team-panel.is-active{display:block}
.scheyer-team-panel__header{display:none}
.scheyer-team-tabs .scheyer-cards-grid--team{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-m,1.5rem)}
.scheyer-team-tabs .scheyer-cards-grid--team>*{flex:0 1 240px;max-width:260px}
@media (max-width:781px){
  .scheyer-team-tabs__nav{display:none}
  .scheyer-team-tabs__panels{border:none;border-radius:0;background:none;padding:0;display:flex;flex-direction:column;gap:.75rem}
  .scheyer-team-panel{display:block;border:1px solid var(--neutral-light,#e5e7eb);border-radius:var(--radius,12px);background:var(--white,#fff);overflow:hidden}
  .scheyer-team-panel__header{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1em;padding:1em 1.2em;background:none;border:none;font:inherit;font-weight:600;font-size:1.05rem;color:var(--heading-color,#111);cursor:pointer;text-align:left}
  .scheyer-team-panel__icon{flex:0 0 auto;width:.55em;height:.55em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
  .scheyer-team-panel__header[aria-expanded="true"] .scheyer-team-panel__icon{transform:rotate(-135deg)}
  .scheyer-team-panel__body{display:none;padding:0 1.2em 1.4em}
  .scheyer-team-panel.is-open .scheyer-team-panel__body{display:block}
  .scheyer-team-tabs .scheyer-cards-grid--team>*{flex:1 1 140px;max-width:none}
}
/* Lehrberufe: zweispaltig, abwechselnd Bild links/rechts */
.scheyer-lehrberuf{align-items:center;margin-block:var(--space-l,2rem)}
.scheyer-lehrberuf--flip .scheyer-grid-img{order:2}
@media(max-width:781px){.scheyer-lehrberuf--flip .scheyer-grid-img{order:0}}

/* Team-Tabs: mehr Kontrast + saubere Ausrichtung (Override) */
.scheyer-team-tabs{background:var(--neutral-light,#f1f4f7);border-radius:var(--radius,16px);padding:clamp(1rem,3vw,2rem)}
.scheyer-team-tabs__nav{border-bottom:none;gap:.5rem;flex-wrap:wrap;margin-bottom:0}
.scheyer-team-tabs__tab{background:var(--white,#fff);border:1px solid #e2e6ea;border-radius:999px;margin-bottom:0;color:var(--neutral-dark,#4B5563)}
.scheyer-team-tabs__tab:hover{background:#fff;color:var(--primary,#005EB8)}
.scheyer-team-tabs__tab.is-active{background:var(--primary,#005EB8);color:#fff;border-color:var(--primary,#005EB8)}
.scheyer-team-tabs__tab.is-active::after{display:none}
.scheyer-team-tabs__tab.is-active .scheyer-team-tabs__count{background:#fff;color:var(--primary,#005EB8)}
.scheyer-team-tabs__panels{border:none;background:none;padding:0;border-radius:0;margin-top:1.5rem}
@media (max-width:781px){
  .scheyer-team-tabs{padding:1rem}
  .scheyer-team-tabs__panels{margin-top:0}
  .scheyer-team-panel{background:var(--white,#fff)}
}
/* Team-Tabs: immer volle Breite, linksbuendiges stabiles Raster (kein Versatz beim Tabwechsel) */
.scheyer-team-tabs,.scheyer-team-tabs__nav,.scheyer-team-tabs__panels,.scheyer-team-panel,.scheyer-team-panel__body{width:100%}
.scheyer-team-tabs .scheyer-cards-grid--team{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-m,1.5rem);justify-content:start;width:100%}
.scheyer-team-tabs .scheyer-cards-grid--team>*{flex:initial;max-width:none}
@media(max-width:991px){.scheyer-team-tabs .scheyer-cards-grid--team{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.scheyer-team-tabs .scheyer-cards-grid--team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.scheyer-team-tabs .scheyer-cards-grid--team{grid-template-columns:repeat(1,minmax(0,1fr))}}
/* Team: Name kleiner + keine Umbrueche */
.scheyer-cards-grid--team .scheyer-card h3{font-size:1.0625rem;line-height:1.25;white-space:nowrap;hyphens:manual;}
.scheyer-cards-grid--team .scheyer-card h3 a{white-space:nowrap;}
.scheyer-team-tabs__nav{justify-content:flex-start}
/* Team-Tabs: keine Abrundungen (Seiten-CI ist eckig) */
.scheyer-team-tabs,
.scheyer-team-tabs__nav,
.scheyer-team-tabs__tab,
.scheyer-team-tabs__count,
.scheyer-team-tabs__panels,
.scheyer-team-panel{border-radius:0 !important}
/* Footer: normale Links bei Hover weiss */
#brx-footer a:not([class*="btn"]):hover,#brx-footer a:not([class*="btn"]):focus-visible{color:#fff}

/* TELEFON v2: Desktop wie Text aber klickbar, Mobil als Link */
a[href^="tel:"],
.scheyer-card__team-meta a[href^="tel:"],
.scheyer-vcard__list a[href^="tel:"]{color:inherit !important;text-decoration:none !important;pointer-events:auto !important;cursor:text}
@media (hover:none) and (pointer:coarse){
a[href^="tel:"],
.scheyer-card__team-meta a[href^="tel:"],
.scheyer-vcard__list a[href^="tel:"]{color:var(--primary,#005EB8) !important;text-decoration:underline !important;cursor:pointer}
}

/* scheyer-cta-tel-fix: Outline-Button auf blauem CTA-Hintergrund weiss */
.scheyer-cta[style*="--primary"] .btn--neutral-light.btn--outline,
.scheyer-cta[style*="--accent"] .btn--neutral-light.btn--outline{
  --btn-background:transparent;
  --btn-text-color:var(--white);
  --btn-border-color:var(--white);
  --btn-background-hover:var(--white);
  --btn-text-color-hover:var(--primary);
  --btn-border-color-hover:var(--white);
}

/* CTA Telefonnummer */
.scheyer-cta__phone{margin-block:0;font-size:var(--text-l);font-weight:700;}
.scheyer-cta__phone a{color:inherit;text-decoration:none;}
.scheyer-cta__phone a:hover{text-decoration:underline;}

/* === Feedback 06/2026: Bilder vollstaendig zeigen + Zitat-Fix === */
/* Branchen-/Produkt-Uebersichtskarten: ganzes Produkt sichtbar (contain statt cover) */
.scheyer-cards-grid--branche .scheyer-card__image-link--cover img{object-fit:contain;padding:var(--space-m);background:var(--white);}
.scheyer-cards-grid--branche .scheyer-card__image-link--cover{background:var(--white);}

/* Text-Spalten Einzelbilder (z.B. Anwendungsbereiche): nichts abschneiden */
.scheyer-text-col__img--contain img{object-fit:contain !important;background:var(--neutral-light);padding:1rem;max-height:var(--scheyer-img-maxh,340px);}
.scheyer-grid-img--contain{align-self:start;}
.scheyer-grid-img--contain img{object-fit:contain !important;background:var(--neutral-light);padding:1rem;width:100%;max-height:var(--scheyer-img-maxh,420px);}

/* Zitat: verirrtes dunkles Anfuehrungszeichen entfernen, nur das blaue zentrierte behalten + Luft oben */
.scheyer-quote::before{content:none !important;}
.scheyer-quote{padding-block-start:var(--space-s);}

/* Kontakt: Abstand Standort-Karten -> Lead-Formular reduzieren */
body.page-id-41 section:has(+ #kontakt-formular){padding-block-end:var(--section-space-s) !important;}
#kontakt-formular{padding-block-start:var(--section-space-s) !important;}

/* Hero: gewollter Umbruch "Wir verpacken mit" / "Leidenschaft." */
.scheyer-hero--video h1 .scheyer-hero__accent{display:block;}
@media(min-width:769px){.scheyer-hero--video h1{white-space:nowrap;}}
@media(max-width:768px){.scheyer-hero--video h1{white-space:normal;}}

/* tel-button-weiss-hart: Telefon-/Outline-Button auf blauem CTA garantiert weiss (Text+Icon) */
.scheyer-cta[style*="--primary"] .btn--neutral-light.btn--outline,
.scheyer-cta[style*="--primary"] .btn--neutral-light.btn--outline *,
.scheyer-cta[style*="--accent"] .btn--neutral-light.btn--outline,
.scheyer-cta[style*="--accent"] .btn--neutral-light.btn--outline *{color:var(--white) !important;}
.scheyer-cta[style*="--primary"] .btn--neutral-light.btn--outline,
.scheyer-cta[style*="--accent"] .btn--neutral-light.btn--outline{border-color:var(--white) !important;}
.scheyer-cta[style*="--primary"] .btn--neutral-light.btn--outline:hover,
.scheyer-cta[style*="--primary"] .btn--neutral-light.btn--outline:hover *,
.scheyer-cta[style*="--accent"] .btn--neutral-light.btn--outline:hover,
.scheyer-cta[style*="--accent"] .btn--neutral-light.btn--outline:hover *{color:var(--primary) !important;}

/* Hero-Hintergrundbild leicht unscharf (Blur 1em) */
.scheyer-page-hero--image .scheyer-page-hero__bg img{filter:blur(1em);transform:scale(1.06);}

/* Text-Spalten: ganze Spalte klickbar (barrierefrei, stretched link) */
.scheyer-text-col--linked{position:relative;}
.scheyer-text-col--linked .scheyer-text-col__cardlink{color:inherit;text-decoration:none;}
.scheyer-text-col--linked .scheyer-text-col__cardlink::after{content:"";position:absolute;inset:0;z-index:1;}
.scheyer-text-col--linked:hover .scheyer-text-col__cardlink,.scheyer-text-col--linked:focus-within .scheyer-text-col__cardlink{color:var(--primary);}
/* andere echte Links in der Spalte (z.B. Telefon/E-Mail im Text) bleiben klickbar */
.scheyer-text-col--linked :where(a,button):not(.scheyer-text-col__cardlink){position:relative;z-index:2;}
/* Pfeil ist nur Deko -> Klicks gehen an den Spalten-Link */
.scheyer-text-col--linked .scheyer-link-arrow{pointer-events:none;}

/* solid-light-cta-fix: solider heller Button (z.B. Telefon) auf blauem CTA sauber + ruhiger Hover */
.scheyer-cta[style*="--primary"] .btn--neutral-light:not(.btn--outline),
.scheyer-cta[style*="--accent"] .btn--neutral-light:not(.btn--outline){
  --btn-background:var(--white);--btn-text-color:var(--primary);
  --btn-background-hover:var(--neutral-light);--btn-text-color-hover:var(--primary);
  --btn-border-color:var(--white);--btn-border-color-hover:var(--neutral-light);
}
.scheyer-cta[style*="--primary"] .btn--neutral-light:not(.btn--outline):hover,
.scheyer-cta[style*="--primary"] .btn--neutral-light:not(.btn--outline):hover *{color:var(--primary) !important;}


/* Gutenberg-Editor: Links in der Block-Vorschau nicht klickbar (verhindert versehentliches Wegnavigieren beim Bearbeiten) */
.block-editor-server-side-render a { pointer-events: none !important; cursor: default; }


/* === Karten-Raster: Versatz-Fix + Bild-Darstellung (Option) ===
   .scheyer-grid--2 setzte align-items:center -> ungleich hohe Karten
   verschoben das 2-spaltige Raster. Karten immer oben ausrichten. */
.scheyer-cards-grid.scheyer-grid--2 { align-items: start; }

/* Gutenberg-Option 'Bild-Darstellung' pro Cards-Block.
   !important schlaegt die branche-contain-Regel (06/2026) + FlyingPress-RUCSS. */
.scheyer-cards-grid--fit-cover .scheyer-card__image-link img,
.scheyer-cards-grid--fit-cover .scheyer-card__image-link--cover img {
  object-fit: cover !important;
  padding: 0 !important;
  background: transparent !important;
}
.scheyer-cards-grid--fit-contain .scheyer-card__image-link img,
.scheyer-cards-grid--fit-contain .scheyer-card__image-link--cover img {
  object-fit: contain !important;
  padding: var(--space-m) !important;
  background: var(--white) !important;
}


/* Telefon-Buttons ohne Pfeil-Icon (Wunsch 06/2026). Schlaegt a[class*=btn--]::after aus style.css via hoehere Spezifitaet. */
a[class*="btn--"][href^="tel:"]::after { content: none !important; margin-inline-start: 0 !important; }
