/* STATELY Zusatz-CSS, vom Plugin geladen. Versionsnummer folgt dem Dateidatum, daher kein Cache-Problem. */
/* Kopfzeile: Anmelden als zweiter Rang, nur gerahmt */
.fusion-tb-header .fusion-button.st-btn-ghost,
.st-dark .fusion-button.st-btn-ghost {
  background: transparent !important; border: 1.5px solid rgba(201, 180, 137, .75) !important; }
.fusion-tb-header .fusion-button.st-btn-ghost, .fusion-tb-header .fusion-button.st-btn-ghost .fusion-button-text,
.st-dark .fusion-button.st-btn-ghost .fusion-button-text { color: #fff !important; }
.fusion-tb-header .fusion-button.st-btn-ghost:hover, .st-dark .fusion-button.st-btn-ghost:hover {
  background: rgba(201, 180, 137, .14) !important; border-color: var(--st-gold) !important; }
.fusion-tb-header .fusion-button.st-btn-ghost:focus-visible { outline: 2px solid var(--st-gold); outline-offset: 3px; }
@media (max-width: 420px) {
  .fusion-tb-header .fusion-button { padding: 9px 12px !important; }
  .fusion-tb-header .fusion-column-wrapper { gap: 8px; }
}

/* Kopfzeile auf allen Breiten einzeilig: Logo links, Menue und beide Buttons rechts */
.fusion-tb-header .fusion-builder-row { display: flex !important; flex-direction: row !important;
  align-items: center !important; flex-wrap: nowrap !important; }
.fusion-tb-header .fusion-builder-row > .fusion-layout-column { width: auto !important; max-width: none !important;
  flex: 0 0 auto !important; --awb-width-large: auto; --awb-width-medium: auto; --awb-width-small: auto; }
.fusion-tb-header .fusion-builder-row > .fusion-layout-column:last-child { margin-left: auto !important; }
.fusion-tb-header .fusion-layout-column:last-child .fusion-column-wrapper { display: flex !important;
  flex-direction: row !important; align-items: center !important; justify-content: flex-end !important; gap: 12px; }
.fusion-tb-header .awb-menu__main-ul { flex-wrap: nowrap !important; }
.fusion-tb-header .awb-menu__main-li { white-space: nowrap; }
.fusion-tb-header .fusion-button { white-space: nowrap; }

/* Handy: Logo etwas kleiner, Buttons kompakter, Burger ganz rechts */
@media (max-width: 480px) {
  .fusion-tb-header .fusion-imageframe, .fusion-tb-header .fusion-imageframe img { max-width: 100px !important; }
  .fusion-tb-header .fusion-layout-column:last-child .fusion-column-wrapper { gap: 8px !important; }
  .fusion-tb-header .fusion-button { padding: 8px 9px !important; font-size: .7rem !important; }
  .fusion-tb-header nav.awb-menu { order: 3; }
}

/* Sprachumschalter DE | EN in der Kopfzeile */
.fusion-tb-header .st-lang-wrap { margin: 0 14px 0 6px !important; display: flex; align-items: center; }
.fusion-tb-header .st-lang-wrap p { margin: 0; }
.st-lang { font-size: 13px; font-weight: 600; letter-spacing: .06em; white-space: nowrap; color: rgba(255,255,255,.55); }
.st-lang a { color: #fff; text-decoration: none; }
.st-lang a:hover, .st-lang a:focus-visible { color: #C9B489; }
.st-lang-active { color: #C9B489; }
.st-lang-sep { margin: 0 6px; opacity: .5; }
@media (max-width: 480px) { .fusion-tb-header .st-lang-wrap { margin: 0 8px 0 2px !important; } .st-lang { font-size: 12px; } }

/* ===== Startseite nach dem Launch (st-v5) ===== */
.st-v5-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin: 32px 0 0; }
.st-v4-hero .st-v5-ctas { margin-top: 8px; }
.st-v5-ctas + .st-risiko { margin-top: 28px; }
/* Gleicher Abstand unten in jeder Sektion: der letzte Text einer Spalte bringt keinen eigenen Rand mit */
.st-v5 .fusion-layout-column .fusion-text:last-child > :last-child { margin-bottom: 0 !important; }
.st-v5-ctas--center { justify-content: center; }
a.st-v5-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 28px; border-radius: 999px;
  background: var(--st-gold); color: var(--st-navy) !important; font-weight: 700; text-decoration: none; }
a.st-v5-btn:hover { background: #d8c79f; }
a.st-v5-btn:focus-visible, a.st-v5-link:focus-visible { outline: 2px solid var(--st-gold); outline-offset: 3px; }
a.st-v5-link { text-decoration: underline; text-underline-offset: 4px; font-weight: 500; }
.st-dark a.st-v5-link { color: #fff !important; }
.st-v5-stempel { font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--st-navy); }
.st-v5-voll { display: block; height: 8px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; margin: 6px 0 2px; }
.st-v5-voll i { display: block; height: 100%; width: 100%; background: var(--st-gold); }

/* Objekte: Fortschritt und Karten */
.st-v5-pipe { margin: 28px 0 32px; }
.st-v5-pipe-h { margin: 0 0 10px; font-size: .95rem; color: var(--st-soft); }
.st-v5-pipe-h strong { color: var(--st-navy); }
.st-v5-bar { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 6px; }
.st-v5-bar i { display: block; height: 12px; border-radius: 999px; background: #e3e7ef; }
.st-v5-bar i.is-weg, .st-v5-legende i.is-weg { background: var(--st-navy); }
.st-v5-bar i.is-next, .st-v5-legende i.is-next { background: var(--st-gold); }
.st-v5-legende { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 12px 0 0; font-size: .84rem; color: var(--st-soft); }
.st-v5-legende span { display: inline-flex; align-items: center; gap: 8px; }
.st-v5-legende i { width: 12px; height: 12px; border-radius: 3px; background: #e3e7ef; border: 1px solid #c4cbd8; }
.st-v5-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.st-v5-card { border: 1px solid var(--st-line); border-radius: 18px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.st-v5-card > img, .st-v5-card-ph { display: block; width: 100%; height: 190px; object-fit: cover; }
.st-v5-card-ph { display: flex; align-items: center; justify-content: center; text-align: center; padding: 18px;
  background: var(--st-navy); color: var(--st-gold); font-weight: 600; font-size: .92rem; }
.st-v5-card > div:last-child { padding: 20px; }
.st-v5-card h3 { margin: 10px 0 6px; font-size: 1.15rem; }
.st-v5-card p { margin: 0; font-size: .95rem; color: var(--st-soft); }
.st-v5-card--next { border: 2px solid var(--st-gold); }
.st-v5-card--rest { border-style: dashed; background: var(--st-paper-alt); }
.st-v5-kacheln { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 20px 20px 0; }
.st-v5-kacheln span { aspect-ratio: 1; border-radius: 10px; background: #e3e7ef; display: grid; place-items: center;
  font-weight: 700; color: var(--st-soft); }
.st-v5-status { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; padding: 4px 10px;
  border-radius: 999px; border: 1px solid #a9b3c6; color: var(--st-soft); }
.st-v5-status.is-weg { background: var(--st-navy); border-color: var(--st-navy); color: #fff; }
.st-v5-status.is-next { background: var(--st-gold); border-color: var(--st-gold); color: var(--st-navy); }

/* Früher dran */
.st-v5-form-h { font-weight: 600; margin: 8px 0 12px; }
.st-v5-vorrang-col > .fusion-column-wrapper { justify-content: center !important; }
.st-v5-vorrang { background: #fff; border: 1px solid var(--st-line); border-radius: 20px; padding: 28px; display: grid; gap: 14px; }
.st-v5-vorrang-h { margin: 0 0 4px; font-weight: 700; color: var(--st-navy); }
.st-v5-zeile { display: grid; grid-template-columns: minmax(120px, 190px) minmax(0, 1fr); gap: 14px; align-items: center; font-size: .92rem; font-weight: 600; }
.st-v5-zeile b { display: flex; align-items: center; height: 36px; padding-left: 12px; border-radius: 8px; font-size: .84rem; }
.st-v5-zeile b.is-zuerst { background: var(--st-navy); color: #fff; }
.st-v5-zeile b.is-danach { background: var(--st-gold); color: var(--st-navy); margin-left: 32%; }

/* Video */
.st-v5-video { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; margin: 0; }
.st-v5-video p { margin: 0; }
.st-v5-video img { display: block; width: 100%; height: auto; border-radius: 16px; }
.st-v5-video a { color: var(--st-gold) !important; }

/* Stimmen */
.st-v5-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.st-v5-quote { margin: 0; padding: 24px; border: 1px solid var(--st-line); border-radius: 18px; display: flex; flex-direction: column; gap: 16px; }
.st-v5-quote figcaption { margin-top: auto; }
.st-v5-quote-l { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--st-bronze); }
.st-v5-quote blockquote { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
  font-size: 1.1rem; line-height: 1.5; font-style: normal; color: var(--st-ink); }
.st-v5-quote blockquote p { margin: 0; }
.st-v5-quote figcaption { font-size: .9rem; color: var(--st-soft); }

/* Hinter den Kulissen */
.st-v5-bts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.st-v5-bts article { border: 1px solid var(--st-line); border-radius: 18px; overflow: hidden; padding: 0 0 22px; }
.st-v5-bts article > :not(.st-v5-bts-fotos) { padding-inline: 22px; }
.st-v5-bts article > .st-v5-bts-l:first-child { padding-top: 22px; }
.st-v5-bts-fotos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; margin-bottom: 18px; }
.st-v5-bts-fotos img { display: block; width: 100%; height: 130px; object-fit: cover; }
.st-v5-bts-l { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--st-bronze); }
.st-v5-bts h3 { margin: 8px 0; font-size: 1.15rem; }
.st-v5-bts p { margin: 0; color: var(--st-soft); font-size: .95rem; }
.st-v5-drei { margin: 6px 0 12px; padding-left: 20px; color: var(--st-soft); }

/* Empfehlung */
.st-v5-empf { background: var(--st-navy); color: #fff; border-radius: 26px; padding: clamp(28px, 5vw, 52px);
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 36px; align-items: center; }
.st-v5-empf h2 { color: #fff !important; margin: 0 0 12px; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; }
.st-v5-empf p { color: rgba(255,255,255,.78); margin: 0; }
.st-v5-empf .st-eyebrow { color: var(--st-gold); }
.st-v5-empf-text { background: #fff; color: var(--st-ink) !important; border-radius: 14px; padding: 18px; line-height: 1.55; }
.st-v5-empf a.st-v5-link { color: #fff !important; }

@media (max-width: 900px) {
  .st-v5-cards, .st-v5-bts, .st-v5-quotes, .st-v5-empf, .st-v5-video { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .st-v5-zeile { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .st-v5-zeile b.is-danach { margin-left: 0; }
}
/* Kopfblock (Eyebrow, Titel, Lead) zum Inhalt darunter: 48px wie in allen anderen Sektionen */
.st-v5 .fusion-layout-column.st-v5-kopf { margin-bottom: 48px !important; }
.st-v5 .fusion-layout-column.st-v5-nachher { margin-top: 28px !important; }
/* WordPress setzt zwischen Inline- und Blockelementen leere Absaetze ein. Die duerfen keinen Abstand erzeugen. */
.st-v5 p:empty { display: none !important; }
