/* Gemeinsame Maße und Bedienmuster ergänzen die übernommenen Inhaltslayouts. */
:root {
    --content-width: 980px;
    --page-title-size: 48px;
    --page-description-size: 14px;
    --page-title-gap: 28px;
    --page-heading-top: 58px;
    --page-heading-bottom: 64px;
    --control-radius: 12px;
    --control-height: 44px;
    --hover-opacity: .5;
    --page-end-space: 160px;
    --provider-section-gap: 128px;
    --reading-size: 14px;
    --reading-line-height: 1.7;
    --reading-heading-size: 15px;
    --reading-heading-line-height: 1.5;
    --reading-heading-gap: 36px;
    --reading-paragraph-gap: 16px;
}
/* Dieselbe Pressereihe ergänzt die bestehenden Desktop-Karten und mobilen Einstiege. */
.press-strip__content {
    position: relative;
    display: flex;
    align-items: center;
    gap: 38px;
    height: 74px;
    padding-inline: 39px;
    box-sizing: border-box;
}
.press-strip__label { flex: none; width: 123px; transform: translateY(-3px); }
.press-strip__label p { margin: 0; font: 400 14px/19px var(--brand-font); white-space: nowrap; }
.press-marquee {
    flex: 1;
    min-width: 0;
    height: 44px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    overflow-anchor: none;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent);
    mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent);
}
.press-marquee::-webkit-scrollbar { display: none; }
.press-marquee__track, .press-marquee__group {
    display: flex;
    align-items: center;
    width: max-content;
    height: 100%;
}
.press-marquee__group { flex: none; gap: 56px; padding-right: 56px; box-sizing: border-box; }
.press-marquee__track { will-change: transform; }
.press-marquee__group[hidden] { display: none; }
.press-marquee__item { display: flex; align-items: center; flex: none; height: 44px; }
.press-marquee__logo { display: block; flex: none; max-width: none; width: calc(var(--press-logo-width) * .8); height: calc(var(--press-logo-height) * .8); }
.press-marquee__item:focus-visible { outline: 1px solid currentColor; outline-offset: -1px; border-radius: 4px; }
@media (max-width: 767px) {
    .press-strip.card-properties { display: block !important; width: 280px !important; box-shadow: none !important; }
    #home-press-logos { margin-bottom: 24px; }
    .press-strip > .card-background { display: none; }
    .press-strip__content { height: 44px; padding: 0; gap: 12px; }
    .press-strip__label { width: auto; transform: none; }
    .press-strip__label p { font-size: 11px; }
    .press-marquee {
        -webkit-mask-image: linear-gradient(to right, transparent, #000 20px, #000 calc(100% - 20px), transparent);
        mask-image: linear-gradient(to right, transparent, #000 20px, #000 calc(100% - 20px), transparent);
    }
    .press-marquee__group { gap: 24px; padding-right: 24px; }
    .press-marquee__logo { width: calc(var(--press-logo-width) * .6); height: calc(var(--press-logo-height) * .6); }
}
.content-container {
    width: min(var(--content-width), calc(100% - 64px));
    margin-inline: auto;
    box-sizing: border-box;
    font-family: var(--brand-font);
}
.vc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--control-height);
    padding: 10px 22px;
    box-sizing: border-box;
    border: 1px solid transparent;
    border-radius: 15px;
    background: var(--brand-ink);
    color: var(--brand-white);
    font: 400 12px/1.5 var(--brand-font);
    letter-spacing: .1em;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .2s ease;
}
.vc-button:hover { opacity: var(--hover-opacity); }
.vc-button--light { background: var(--brand-paper); color: var(--brand-ink); }
.vc-button--outline { border-color: currentColor; background: transparent; color: var(--brand-ink); }
.vc-button--details:hover { opacity: 1; }
.vc-button--details > svg { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.vc-button--details:hover > svg { transform: translateX(4px); }
.text-block a:not([href*="risikohinweise"]), .text-block a:not([href*="risikohinweise"]) * {
    font-weight: 700 !important;
    text-decoration: none !important;
}
.text-block a:not([href*="risikohinweise"]) { transition: opacity .2s ease; }
.text-block a:not([href*="risikohinweise"]):hover { opacity: var(--hover-opacity); }
/* Derselbe Seitenkopf für Katalog, Anbieter und redaktionelle Seiten. */
.page-heading {
    padding: var(--page-heading-top) 0 var(--page-heading-bottom);
    text-align: center;
    color: var(--brand-ink);
    font-family: var(--brand-font);
    transition: padding-bottom .38s cubic-bezier(.22, 1, .36, 1);
}
.page-heading h1, .page-heading h1 * {
    margin: 0;
    font: 400 var(--page-title-size)/1.2 var(--brand-font) !important;
    letter-spacing: normal;
    overflow-wrap: anywhere;
}
.page-heading__description { margin: var(--page-title-gap) auto 0; max-width: 850px; }
.page-heading__description, .page-heading__description * { font-size: var(--page-description-size); line-height: 1.55; }
.page-heading__description p { margin: 0; }
/* Der äußere Rahmen bleibt bestehen; neue Inhaltsraster benötigen keine festen Wix-Zeilen. */
:is(.catalog-page, .provider-page) [data-layout$="-container-grid"] {
    display: block !important;
    min-height: 0 !important;
}
:is(.catalog-page, .provider-page) .page-body { height: auto; }
:is(.catalog-content, .provider-content) { position: relative; padding-bottom: 0; }
#site-header {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 80px !important;
    overflow: visible;
    background: var(--brand-background);
    z-index: 100;
}
.header-inner { display: flex; align-items: center; gap: 36px; min-height: 80px; }
#site-header #site-logo { display: block; position: static !important; margin: 0 !important; width: 40px !important; height: 38px !important; flex: none; }
#site-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
#site-header #site-navigation { position: relative; margin: 0 0 0 auto !important; width: auto; height: auto; left: auto; }
#header-layoutContainer { position: static; display: flex; align-items: center; gap: 32px; margin: 0; padding: 0; list-style: none; }
#header-layoutContainer > li { position: relative; display: flex; align-items: center; min-height: 44px; }
#header-layoutContainer > li > a { display: flex; align-items: center; min-height: 44px; color: var(--brand-ink); font: 600 13px/1.5 var(--brand-font); text-decoration: none; white-space: nowrap; }
#header-layoutContainer a { transition: opacity .2s ease; }
#header-layoutContainer a:hover { opacity: var(--hover-opacity); }
@media (min-width: 768px) {
    #site-header #site-navigation { display: none; }
}
.header-action { min-width: 184px; margin-left: auto; padding-inline: 28px; font-size: 11px; font-weight: 600; letter-spacing: .12em; }
/* Alle Startseiten teilen dieselben normal gewichteten Buttontexte. */
#home-page .public-button .button-label { font-weight: 400; }
/* Lange Landingpage-Titel nutzen denselben Textbereich ohne einzelne Restbuchstaben. */
#home-title-desktop { width: 522px; }
@media (max-width: 767px) {
    #home-title-mobile { width: 244px; }
}
#home-start-button .button-variant-182 .button-icon { transition: transform .25s ease; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    #home-start-button .button-variant-182:hover .button-icon { transform: translateX(4px); }
}
/* Eine Social-Leiste für Footer, Übersicht und Anbieterseiten. */
.social-links { display: flex; align-items: center; gap: 18px; width: auto; height: auto; margin: 0; padding: 0; list-style: none; }
.social-links .social-item { position: static !important; width: auto !important; height: auto !important; margin: 0 !important; flex: none; }
.social-links .social-link { display: flex; align-items: center; justify-content: center; width: 22px; min-height: 32px; transition: opacity .2s ease; }
.social-links .social-link:hover { opacity: var(--hover-opacity); }
.social-links .social-icon { position: static !important; width: 18px !important; height: 18px !important; object-fit: contain; }
#site-footer { position: relative; width: 100%; height: auto; min-height: 0; background: var(--brand-white); font: 13px/1.6 var(--brand-font); }
.footer-main { padding: 80px 0 64px; }
.footer-columns { display: grid; grid-template-columns: 1fr 1fr 1fr .8fr 1.2fr; gap: 28px; }
.footer-logo { display: block; align-self: start; }
.footer-logo img { display: block; width: 64px; height: 62px; object-fit: contain; }
.footer-columns h2 { margin: 0 0 26px; font: 400 14px/1.4 var(--brand-font); }
.footer-columns > div > a { display: block; margin-top: 12px; }
.footer-columns a { color: var(--brand-ink); text-decoration: none; font-weight: 400; transition: opacity .2s; }
.footer-columns a:hover { opacity: var(--hover-opacity); }
.footer-notice { margin: 64px 0 0; text-align: center; font-size: 10px; line-height: 1.6; }
.footer-legal { padding: 42px 0; color: var(--brand-paper); background: var(--brand-ink); }
.footer-legal__inner { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; }
.footer-legal p { margin: 0 auto 0 0; font-size: 11px; }
.footer-legal a { color: inherit; font-size: 11px; font-weight: 400; text-decoration: none; transition: opacity .2s; }
.footer-legal a:hover { opacity: var(--hover-opacity); }
.footer-legal .language-switch { margin-left: auto; justify-content: flex-end; gap: 7px; padding: 0; background: transparent; }
/* Filter: Auswahloptionen öffnen im Fluss, ohne andere Felder zu verdecken. */
.filter-panel { position: relative; padding: 42px; margin: 0 0 56px; border-radius: 28px; color: var(--brand-paper); background: var(--brand-ink); font: 13px/1.5 var(--brand-font); }
.filter-panel h2 { margin: 0 0 32px; color: inherit; font: 400 18px/1.4 var(--brand-font); }
.filter-panel__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 28px; }
.filter-field { min-width: 0; }
.filter-field label { display: block; margin-bottom: 9px; font-size: 12px; }
.filter-field select, .select-trigger { display: block; width: 100%; min-height: var(--control-height); box-sizing: border-box; padding: 10px 38px 10px 14px; border: 1px solid #ffffff55; border-radius: var(--control-radius); background: transparent; color: inherit; font: 400 13px/1.5 var(--brand-font); text-align: left; cursor: pointer; }
.filter-field select option { background: var(--brand-ink); color: var(--brand-white); }
.select-trigger { position: relative; transition: border-color .2s, background .2s; }
.select-trigger::after { content: ''; position: absolute; right: 17px; top: 17px; width: 7px; height: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .2s; }
.select-trigger:hover { border-color: #ffffffaa; background: #ffffff06; }
.is-open .select-trigger::after { transform: translateY(3px) rotate(225deg); }
.select-options { display: grid; gap: 3px; margin-top: 8px; padding: 6px; border: 1px solid #ffffff26; border-radius: var(--control-radius); background: #1b1d23; animation: select-reveal .16s ease; }
.select-options button { width: 100%; padding: 10px 9px; border: 0; border-radius: 7px; background: transparent; color: var(--brand-paper); font: 400 12px/1.45 var(--brand-font); text-align: left; cursor: pointer; }
.select-options button:hover, .select-options button:focus-visible { background: #ffffff10; }
.select-options [aria-selected="true"] { background: #ffffff18; }
@keyframes select-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.filter-range { position: relative; min-width: 0; margin: 32px 0; padding: 0; border: 0; }
.filter-range legend { padding: 0; font-size: 12px; }
.filter-range__value { display: block; margin-top: 8px; color: #ffffffb3; font-size: 11px; font-variant-numeric: tabular-nums; }
.filter-range__slider { position: relative; height: 36px; margin-inline: 10px; }
.filter-range__rail, .filter-range__track { position: absolute; top: 17px; height: 3px; border-radius: 3px; background: #ffffff26; width: 100%; }
.filter-range__track { background: var(--brand-paper); }
.filter-range input { position: absolute; inset: 0; width: 100%; height: 36px; margin: 0; appearance: none; background: transparent; pointer-events: none; }
.filter-range input::-webkit-slider-thumb { appearance: none; width: 18px; height: 18px; border: 2px solid var(--brand-ink); border-radius: 50%; background: var(--brand-white); box-shadow: 0 0 0 1px #ffffff55; pointer-events: auto; cursor: grab; }
.filter-range input::-moz-range-thumb { width: 15px; height: 15px; border: 2px solid var(--brand-ink); border-radius: 50%; background: var(--brand-white); box-shadow: 0 0 0 1px #ffffff55; pointer-events: auto; cursor: grab; }
.filter-range input:active::-webkit-slider-thumb { cursor: grabbing; }
.filter-panel__actions { display: flex; align-items: center; gap: 32px; }
.filter-panel__actions .vc-button { min-width: 208px; }
.filter-panel__count { margin: 0; font-size: 12px; }
.filter-panel__count strong { margin-left: 18px; }
.catalog-shortcuts {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-bottom: 40px;
    /* Nur die Buttons zwischen Text und Card zentrieren; der Dokumentfluss bleibt unverändert. */
    position: relative;
    top: calc((40px - var(--page-heading-bottom)) / 2);
}
.page-heading:has(.vc-expanded) + .catalog-shortcuts { top: calc((40px - var(--page-heading-bottom) - 32px) / 2); }
.catalog-featured { display: grid; gap: 48px; }
.catalog-subheading { margin: 80px 0 36px; font: 400 32px/1.3 var(--brand-font); }
.catalog-featured + .catalog-subheading { margin-top: clamp(88px, 10vw, 128px); }
.catalog-ending { margin: 96px 0 0; }
.catalog-ending h2 { margin: 0 0 32px; font: 400 36px/1.3 var(--brand-font); }
.catalog-ending p { margin: 0 0 36px; font: 16px/1.6 var(--brand-font); }
.catalog-ending .vc-button { min-width: 280px; }
.back-to-top { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin: 72px auto 0; border-radius: 50%; background: var(--brand-ink); color: var(--brand-white); transition: background .2s; }
.back-to-top:hover { background: var(--brand-gray); }
.back-to-top svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.catalog-risk { margin: 96px 0 0; font: 10px/1.6 var(--brand-font); }
.provider-media { margin-bottom: var(--provider-section-gap); }
.provider-content:has(+ .broker-catalog) { padding-bottom: var(--provider-section-gap); }
.provider-video { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 24px; background: var(--brand-ink); }
.provider-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 40px; align-items: start; }
.provider-gallery figure { margin: 0; }
.provider-gallery img { display: block; width: 100%; height: auto; object-fit: contain; }
.provider-actions { display: flex; justify-content: center; gap: 20px; margin-top: 36px; }
.provider-actions .vc-button { min-width: 220px; }
.provider-anchor { scroll-margin-top: 24px; }
.provider-article { margin-top: var(--provider-section-gap); }
.provider-article h2 { margin: 64px 0 32px; font: 400 36px/1.3 var(--brand-font); text-align: center; }

.provider-article p:empty { display: none; }
.provider-article a { color: inherit; font-weight: 700; text-decoration: none; transition: opacity .2s; }
.provider-article a:hover { opacity: var(--hover-opacity); }
.provider-article-action { display: flex; width: min(340px, 100%); margin: 48px auto 0; }
/* Bestehende JPGs erhalten eine geometrische Maske, ohne Displaytexte neu zu erzeugen. */
#img_home-image-6 { clip-path: inset(2.2% 22.8% 14.4% 5% round 13% / 8%); }
#home-image-7, #home-image-8 {
    mask-image: url('/static/images/home/preview-phone-mask.svg');
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
}
#home-image-7 > div, #home-image-8 > div { background: transparent; }
/* Querformat auf Desktop; der Fokus startet im Inhalt statt auf dem Schließen-Button. */
@media (max-width: 767px) {
    :root { --content-width: 280px; --page-title-size: 28px; --page-description-size: 12px; --page-title-gap: 20px; --page-heading-top: 40px; --page-heading-bottom: 44px; }
    .content-container { width: calc(100% - 40px); }
    #site-header { min-height: 59px !important; }
    .header-inner { min-height: 59px; }
    #site-header #site-logo { width: 28px !important; height: 28px !important; }
    .header-action { display: none; }
    #site-header .navigation-toggle { right: 20px; }
    body.navigation-open #site-navigation { left: 0; }
    .catalog-shortcuts { flex-direction: column; gap: 10px; }
    .catalog-featured { gap: 32px; }
    .catalog-subheading { margin: 56px 0 28px; font-size: 23px; }
    .filter-panel { padding: 24px; margin-bottom: 36px; border-radius: 24px; }
    .filter-panel__fields { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .filter-panel__actions { flex-direction: column; gap: 20px; align-items: stretch; }
    .filter-panel__actions .vc-button { min-width: 0; }
    .filter-panel__count strong { margin-left: 8px; }
    .catalog-ending { margin-top: 64px; }
    .catalog-ending h2 { margin-bottom: 24px; font-size: 25px; }
    .catalog-ending p { font-size: 13px; }
    .catalog-ending .vc-button { min-width: 0; width: 100%; }
    .catalog-risk { margin-top: 64px; font-size: 9px; }
    .provider-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; margin-top: var(--mobile-section-gap); }
    .provider-gallery > figure:first-child { grid-column: 1 / -1; aspect-ratio: 1 / 1.2; overflow: hidden; }
    .provider-gallery > figure:first-child img { width: 125%; max-width: none; height: auto; margin-left: -12.5%; }
    .provider-actions { flex-direction: column; gap: 12px; }

    .provider-article h2 { margin-top: 44px; font-size: 26px; }
    .footer-main { padding: 44px 0; }
    .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 28px; align-items: start; }
    .footer-columns h2 { margin-bottom: 8px; font-size: 12px; font-weight: 600; }
    .footer-columns a { font-size: 11px; }
    .footer-logo { grid-column: 1; grid-row: 1; align-self: start; justify-self: center; }
    /* Positionen und Einzüge entsprechen dem TRADIC-Footer. */
    .footer-columns > div:nth-child(2) { grid-column: 2; grid-row: 1; padding-left: 18px; }
    .footer-columns > div:nth-child(3) { grid-column: 1; grid-row: 2; padding-left: 26px; }
    .footer-columns > div:nth-child(4) { grid-column: 2; grid-row: 2; padding-left: 18px; }
    .footer-social { grid-column: 1 / -1; grid-row: 3; }
    .footer-notice { margin-top: 36px; font-size: 8px; }
    .footer-legal { padding: 28px 0; }
    .footer-legal__inner { gap: 16px; justify-content: flex-start; }
    .footer-legal :is(a, p) { font-size: 8px; }
    .footer-legal p { flex-basis: 100%; }
    .footer-legal .language-switch { flex-basis: 100%; justify-content: flex-end; }
    .footer-insider { margin-bottom: 44px; }
    .footer-insider h2 { margin: 0 0 20px; font-size: 18px; font-weight: 400; }
    .footer-insider p { margin-top: 16px; font-size: 9px; }
}
.standard-page-heading {
    position: relative !important;
    left: auto !important;
    width: min(var(--content-width), calc(100% - 64px)) !important;
    margin: 0 auto !important;
    min-height: 0 !important;
    grid-area: 1 / 1 / 2 / 2 !important;
    justify-self: center !important;
    align-self: start !important;
    box-sizing: border-box;
}
.shared-page-title, .shared-page-title * {
    font-size: var(--page-title-size) !important;
    line-height: 1.2 !important;
}
@media (max-width: 767px) {
    .standard-page-heading { width: calc(100% - 40px) !important; }
}
.provider-content .provider-video { width: 100% !important; height: auto !important; min-height: 0 !important; }
.standard-page-heading { width: var(--content-width) !important; max-width: calc(100vw - 64px); }
.standard-page-heading .page-heading__description, .standard-page-heading .page-heading__description * { font-size: var(--page-description-size) !important; line-height: 1.55 !important; }
.broker-catalog { padding-bottom: 0; }
@media (max-width: 767px) {
    .standard-page-heading { width: 280px !important; max-width: 280px; }
}
.start-page [data-layout$="-container-grid"] { display: block !important; min-height: 0 !important; }
.footer-insider { display: grid; grid-template-columns: 1fr minmax(240px, 340px); gap: 14px 48px; max-width: 660px; margin: 0 auto 80px; align-items: center; }
.footer-insider h2 { margin: 0 0 8px; font: 400 16px/1.5 var(--brand-font); letter-spacing: .05em; }
.footer-insider p { margin: 0; font-size: 12px; }
.footer-insider .footer-insider__notice { grid-column: 2; font-size: 8px; line-height: 1.5; }
@media (max-width: 767px) {
    .footer-insider { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 44px; }
    .footer-insider .footer-insider__notice { grid-column: auto; font-size: 9px; }
}
/* Vererbte feste Textbreiten dürfen die gemeinsame Überschrift nicht begrenzen. */
.standard-page-heading h1 { width: 100%; max-width: 100%; }
.text-block [style*="text-decoration:underline"]:has(a:not([href*="risikohinweise"])) { text-decoration: none !important; }
.page-heading__description .expandable-content { margin: 0; }
.expandable-extra { margin: 0; }
.expandable-extra__content { padding-top: 20px; }
.expandable-extra p + p { margin-top: 20px; }
.page-heading__description .vc-expand-text { color: var(--brand-ink); font-size: 12px; }
@media (max-width: 767px) {
    .catalog-content .offer-grid, .broker-catalog .offer-grid { width: 100% !important; grid-template-columns: minmax(0, 1fr); }
}
.filter-range__slider { touch-action: pan-y; cursor: pointer; }
@media (min-width: 768px) { #header-layoutContainer > .navigation-secondary { display: none; } }
[data-hook="post-title"] { font: 400 var(--page-title-size)/1.2 var(--brand-font) !important; }
/* Auch Artikel verwenden die gemeinsamen Titelmaße und den gleichen Startpunkt. */
.site-body #page-content .shared-page-title, .site-body #page-content .shared-page-title * { font-size: var(--page-title-size) !important; }
body[data-page^="/post/"] [data-layout="article-section-grid"] > #TPAMultiSection_mcf4iy1h { margin-top: 0 !important; height: auto !important; }
body[data-page^="/post/"] [data-hook="post-page"] { padding-top: 0; }
body[data-page^="/post/"] [data-hook="post"] { border-width: 0; }
body[data-page^="/post/"] .public-layout-style-1099 { padding-top: var(--page-heading-top); }
body[data-page^="/post/"] .public-layout-style-1089 { flex-direction: column; }
body[data-page^="/post/"] h1[data-hook="post-title"] { text-align: center; }
body[data-page^="/post/"] [data-hook="post-description"] { margin-top: var(--page-title-gap); }
body[data-page^="/post/"] [data-hook="post-description"] p { font-size: var(--page-description-size); line-height: 1.55; }
@media (max-width: 767px) {
    body[data-page^="/post/"] .public-layout-style-1099 { padding-top: 40px; }
}
.alex-card-title { color: var(--brand-white); font: 400 24px/1.3 var(--brand-font); }
#TPASection_mcf4ixzp { margin-top: 0 !important; }
#blog-layout_r_comp-lz2cqjpj { padding-top: var(--page-heading-top) !important; }
/* Gemeinsame Oberflächen, Hilfe und die verfeinerte mobile Bedienung. */
:root { --card-shadow: 0 10px 30px rgb(16 18 24 / 7%); --card-radius: 28px; }
.surface-card, .offer-card, .offer-row, .filter-panel, .wizard, .provider-video,
.public-image-style .public-layout-style-1216, [data-hook="image-viewer"] > .public-layout-style-1517,
#bgLayers_partner-werden-column-strip-4, .gallery-item-container, [data-hook="post"], .cookie-banner, .insider-dialog, .cookie-dialog {
    box-shadow: var(--card-shadow);
}
.surface-card { border-radius: var(--card-radius); background: var(--brand-paper); }
/* Hintergrund und Schatten bleiben an dieselbe Karte und deren Rundung gebunden. */
.card-properties { position: relative; border-radius: var(--rd, var(--card-radius)); box-shadow: var(--card-shadow) !important; }
.card-properties > .card-background { box-shadow: none !important; }
/* Das Bild selbst beschneidet seine Rundung; der äußere Rahmen lässt den Schatten frei. */
[data-hook="image-viewer"] { overflow: visible; }
.gallery-item-container, [data-hook="post"] { border-radius: var(--card-radius) !important; overflow: hidden !important; }
[data-hook="post"] { height: auto !important; }
.related-posts { padding: 64px 0 80px; }
.related-posts > h2 { margin: 0 0 30px; font: 400 28px/1.3 var(--brand-font); }
.related-posts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.related-post-card { overflow: hidden; }
.related-post-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.related-post-card h3 { margin: 24px; font: 600 16px/1.5 var(--brand-font); }
.related-post-card h3 a { color: var(--brand-ink); text-decoration: none; transition: opacity .2s; }
.related-post-card h3 a:hover { opacity: var(--hover-opacity); }
.inline-link { color: inherit; font-weight: 700; text-decoration: none; transition: opacity .2s; }
.inline-link:hover { opacity: var(--hover-opacity); }
.brand-attribution { margin: var(--page-title-gap) 0 0; font: 400 var(--page-description-size)/1.5 var(--brand-font); }
.page-heading:has(.vc-expanded) { padding-bottom: calc(var(--page-heading-bottom) + 32px); }
.page-heading__description .expandable-content strong { font-weight: 700; }
.help-page [data-layout$="-container-grid"], .downloads-page [data-layout$="-container-grid"] { display: block !important; min-height: 0 !important; }
.help-content, .downloads-content { padding-bottom: 0; }
.help-center, .contact-card { padding: 44px; }
.help-heading { margin-bottom: 28px; }
.help-heading h2, .contact-heading h2 { margin: 0 0 12px; font: 400 28px/1.3 var(--brand-font); }
.help-heading p, .contact-heading p { margin: 0; font: 13px/1.6 var(--brand-font); color: var(--brand-gray); }
.help-search { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; padding: 14px 18px; border: 1px solid #10121826; border-radius: var(--control-radius); }
.help-search:focus-within { border-color: var(--brand-gray); box-shadow: 0 0 0 3px #10121808; }
.help-search svg { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--brand-gray); stroke-width: 1.5; }
.help-search input { width: 100%; border: 0; outline: none; background: transparent; color: var(--brand-ink); font: 13px/1.5 var(--brand-font); }
.help-faq { border-top: 1px solid #10121812; }
.help-faq summary, .help-more > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; list-style: none; cursor: pointer; font: 600 14px/1.5 var(--brand-font); }
.help-faq summary::-webkit-details-marker, .help-more > summary::-webkit-details-marker { display: none; }
.help-faq summary > span, .help-more > summary > span { flex: none; font-size: 20px; font-weight: 400; transition: transform .2s; }
.help-faq[open] > summary > span, .help-more[open] > summary > span { transform: rotate(45deg); }
.help-faq [data-faq-answer] { padding-bottom: 22px; max-width: 780px; font: 13px/1.7 var(--brand-font); }
.help-faq p { margin: 0; }
.help-more > summary { color: var(--brand-gray); font-size: 12px; }
.help-center > .inline-link { display: inline-block; margin-top: 20px; font-size: 12px; }
.help-empty { padding: 20px 0; font: 13px/1.6 var(--brand-font); }
.help-contact-link { margin: 36px 0 0; font: 13px/1.6 var(--brand-font); }
.contact-card { margin-top: 48px; }
.contact-heading { margin-bottom: 36px; }
.contact-form { display: grid; gap: 24px; }
.contact-form label { display: block; margin: 0 0 9px; font: 400 12px/1.5 var(--brand-font); }
.contact-form input, .contact-form textarea, .contact-form .select-trigger {
    display: block; width: 100%; min-height: 46px; box-sizing: border-box; padding: 12px 14px; border: 1px solid #10121826; border-radius: var(--control-radius); background: transparent; color: var(--brand-ink); font: 13px/1.6 var(--brand-font); transition: border-color .2s, box-shadow .2s;
}
.contact-form textarea { resize: vertical; min-height: 150px; }
.contact-form :is(input, textarea, .select-trigger):focus-visible { outline: none; border-color: var(--brand-gray); box-shadow: 0 0 0 3px #10121808; }
.contact-form .select-options { background: #f0f0ef; border-color: #1012181a; }
.contact-form .select-options button { color: var(--brand-ink); }
.contact-form .select-options button:hover, .contact-form .select-options [aria-selected="true"] { background: #1012180a; }
.contact-form .select-trigger:hover { border-color: var(--brand-gray); }
.contact-form__names { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form .contact-privacy { margin: 0; font: 10px/1.6 var(--brand-font); color: var(--brand-gray); }
.contact-form > .vc-button { width: min(340px, 100%); justify-self: start; }
.contact-form .select-error { margin: 8px 0 0; font-size: 11px; color: #8b3030; }
.contact-card > .social-links { margin-top: 30px; }
.contact-form .contact-trap { width: 1px; min-height: 0; height: 1px; padding: 0; border: 0; }
.downloads-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.download-card { padding: 36px; display: flex; flex-direction: column; align-items: start; }
.download-type { font: 600 11px/1.4 var(--brand-font); letter-spacing: .1em; color: var(--brand-gray); }
.download-card h2 { margin: 22px 0 16px; font: 500 24px/1.3 var(--brand-font); }
.download-card p { flex: 1; margin: 0 0 30px; font: 13px/1.6 var(--brand-font); }
.provider-video { position: relative; isolation: isolate; }
.provider-video .video-play, .provider-video .video-frame { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: 100%; transform: none !important; }
.provider-video .video-play img { object-fit: contain; }
.video-play__icon { position: relative; width: 68px; height: 48px; z-index: 1; }
/* Ein durchgängiger Originalhintergrund; nur das Handy erhält eine separate Maske. */
.cookie-banner { position: fixed; inset: auto 24px 24px auto; width: min(520px, calc(100vw - 48px)); box-sizing: border-box; padding: 24px; border-radius: 20px; background: var(--brand-ink); color: var(--brand-paper); display: grid; gap: 18px; }
.cookie-banner p { display: block; max-width: none; margin: 0 22px 0 0; font: 12px/1.6 var(--brand-font); }
.cookie-banner a { display: inline; color: inherit; font-weight: 700; text-decoration: none; white-space: nowrap; transition: opacity .2s; }
.cookie-banner a:hover { opacity: var(--hover-opacity); }
.cookie-actions { gap: 12px; }
.cookie-actions button { min-height: 40px; border: 1px solid #ffffff55; border-radius: var(--control-radius); background: transparent; color: var(--brand-paper); font: 400 12px/1.4 var(--brand-font); padding: 10px 16px; transition: opacity .2s; }
.cookie-actions button:hover { opacity: var(--hover-opacity); }
.cookie-actions [data-cookie-accept] { color: var(--brand-ink); background: var(--brand-paper); font-weight: 400; border-color: transparent; }
.cookie-actions .cookie-close { position: absolute; top: 4px; right: 6px; display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; }
.cookie-dialog { position: fixed; inset: 0; margin: auto; padding: 36px; width: min(560px, calc(100vw - 40px)); max-width: none; box-sizing: border-box; max-height: 90dvh; overflow: auto; border-radius: 24px; background: var(--brand-paper); color: var(--brand-ink); font: 13px/1.65 var(--brand-font); }
.cookie-dialog::backdrop { background: #10121899; backdrop-filter: blur(4px); }
.cookie-dialog h2 { margin: 0 32px 18px 0; font: 400 27px/1.3 var(--brand-font); }
.cookie-dialog > p { margin: 0 0 28px; }
.dialog-close, .insider-dialog__close { position: absolute; top: 20px; right: 24px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; z-index: 1; transition: opacity .2s; }
.cookie-dialog .dialog-close { color: var(--brand-ink); }
.dialog-close svg, .insider-dialog__close svg, .cookie-close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.dialog-close:hover, .insider-dialog__close:hover { opacity: var(--hover-opacity); }
#cookie-title:focus { outline: none; }
.consent-option { display: flex; align-items: center; gap: 24px; padding: 22px 0; border-top: 1px solid #10121812; }
.consent-option > div { flex: 1; }
.consent-option h3 { margin: 0 0 6px; font-size: 14px; font-weight: 600; }
.consent-option p { margin: 0; font-size: 11px; line-height: 1.6; color: var(--brand-gray); }
.consent-toggle { position: relative; width: 40px; height: 24px; flex: none; }
.consent-toggle input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; }
.consent-toggle span { display: block; width: 100%; height: 100%; border-radius: 20px; background: #10121826; pointer-events: none; transition: background .2s; }
.consent-toggle span::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: white; transition: transform .2s; box-shadow: 0 1px 4px #0002; }
.consent-toggle input:checked + span { background: var(--brand-ink); }
.consent-toggle input:checked + span::after { transform: translateX(16px); }
.consent-toggle input:disabled + span { opacity: .4; }
.consent-toggle input:focus-visible + span { outline: 2px solid var(--brand-gray); outline-offset: 4px; }
.cookie-dialog .consent-video-note { font-size: 10px; margin: 12px 0 24px; }
.consent-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.cookie-dialog .vc-button { font: 400 11px/1.5 var(--brand-font); color: white; padding: 12px 18px; border: 1px solid transparent; }
.cookie-dialog .vc-button--outline { color: var(--brand-ink); border-color: #10121826; }
@media (max-width: 767px) {
    #site-header { height: 64px !important; min-height: 64px !important; }
    .header-inner { min-height: 64px; }
    #site-header #site-logo { width: 44px !important; height: 42px !important; }
    #site-header #site-logo img { width: 44px; height: 42px; }
    #site-header .navigation-toggle { top: 20px; width: 24px; height: 24px; }
    .navigation-toggle::before, .navigation-toggle::after { display: none !important; }
    .navigation-toggle span { display: block; position: absolute; width: 18px; height: 1.5px; left: 3px; top: 11px; background: currentColor; border-radius: 1px; transition: transform .38s cubic-bezier(.22, 1, .36, 1); }
    .navigation-toggle span:first-child { transform: translateY(-3px); }
    .navigation-toggle span:last-child { transform: translateY(3px); }
    body.navigation-open .navigation-toggle span:first-child { transform: rotate(45deg); }
    body.navigation-open .navigation-toggle span:last-child { transform: rotate(-45deg); }
    body.navigation-open #site-header { position: sticky !important; top: 0; }
    body.navigation-open .navigation-backdrop {
        display: block; position: fixed; inset: 0; z-index: 99;
        width: 320px; height: calc(100dvh / var(--mobile-scale, 1));
        background: #10121866; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
        touch-action: none;
    }
    /* Das Panel bleibt für die Schließanimation gerendert; inert sperrt verdeckte Links. */
    #site-header #site-navigation {
        display: block !important; position: fixed !important; inset: 64px 0 auto !important;
        width: 320px !important; height: auto !important; max-height: calc(100dvh / var(--mobile-scale, 1) - 64px);
        box-shadow: var(--card-shadow); border-bottom: 1px solid #10121812;
        margin: 0 !important; overflow-y: auto; overscroll-behavior: contain; z-index: 100006; background: var(--brand-background);
        visibility: hidden; pointer-events: none; opacity: 0; transform: translateY(-16px);
        clip-path: inset(0 0 100% 0);
        transition: clip-path .38s cubic-bezier(.22, 1, .36, 1), transform .38s cubic-bezier(.22, 1, .36, 1), opacity .25s ease, visibility 0s .38s;
    }
    body.navigation-open #site-header #site-navigation {
        visibility: visible; pointer-events: auto; opacity: 1; transform: translateY(0); clip-path: inset(0);
        transition-delay: 0s;
    }
    #site-header #header-layoutContainer { display: flex; flex-direction: column; align-items: flex-start; height: auto; padding: 36px 28px 32px; gap: 10px; }
    #site-header #header-layoutContainer > li { display: flex !important; min-height: 34px; }
    #site-header #header-layoutContainer .navigation-start a { font-weight: 700 !important; }
    #site-header #header-layoutContainer a { justify-content: flex-start; text-align: left; color: var(--brand-ink) !important; font: 400 14px/1.5 var(--brand-font) !important; }
    .footer-columns h2 a { font-weight: 600 !important; }
    .footer-columns > div > a { margin-top: 7px; font-size: 11px; line-height: 1.35; }
    .footer-legal .language-switch { order: 2; justify-content: flex-start; }
    .footer-legal .footer-copyright { order: 3; }
    .related-posts__grid, .downloads-grid { grid-template-columns: minmax(0, 1fr); }
    .related-posts > h2 { font-size: 22px; }
    .related-post-card h3 { margin: 20px; font-size: 14px; }
    .help-center, .contact-card { padding: 24px; }
    .help-heading h2, .contact-heading h2 { font-size: 23px; }
    .help-search { padding: 12px; gap: 10px; }
    .help-search input { font-size: 11px; }
    .help-faq summary { font-size: 12px; padding-block: 18px; }
    .help-faq [data-faq-answer] { font-size: 11px; }
    .contact-card { margin-top: 32px; }
    .contact-card > .social-links .social-icon { width: 12px !important; height: 12px !important; }
    .provider-content .offer-row .social-icon,
    .founder-card .social-icon { width: 12px !important; height: 12px !important; }
    /* Der externe Player erhält echte Viewportpixel statt der vergrößerten 320-Pixel-Vorlage. */
    .provider-video .video-frame { zoom: calc(1 / var(--mobile-scale, 1)); }
    .contact-form__names { grid-template-columns: minmax(0, 1fr); }
    .contact-form .select-trigger { padding-right: 36px; }
    .contact-form > .vc-button { width: 100%; }
    .download-card { padding: 28px; }

    .video-play__icon { width: 52px; height: 37px; }
    .cookie-banner { inset: auto 12px 12px; width: auto; padding: 18px; }
    .cookie-banner p { font-size: 10px; margin-right: 18px; }
    .cookie-dialog { padding: 28px 22px; }
    .cookie-dialog h2 { font-size: 23px; }
    .consent-actions { flex-direction: column; }
}
.broker-explanation { margin: -16px 0 30px; font: 11px/1.65 var(--brand-font); }
.offer-description .broker-source, .offer-description .broker-source * { font-size: 9px !important; }
.broker-source { padding-top: 14px; opacity: .75; }
.cookie-dialog .vc-button { background: var(--brand-ink); }
.cookie-dialog .vc-button--outline { background: transparent; }
.help-more.is-searching > summary { display: none; }
.blog-index-page [data-layout$="-container-grid"] { display: block !important; min-height: 0 !important; }
.blog-content { padding-bottom: 0; }
.blog-card-list { display: grid; gap: 32px; }
.blog-index-card { display: grid; grid-template-columns: 42% minmax(0, 1fr); overflow: hidden; }
.blog-index-card__image { display: block; min-height: 280px; }
.blog-index-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.blog-index-card__content { align-self: center; padding: 32px; }
.blog-index-card time { font: 10px/1.5 var(--brand-font); color: var(--brand-gray); }
.blog-index-card h2 { margin: 14px 0 18px; font: 400 27px/1.35 var(--brand-font); }
.blog-index-card h2 a { color: inherit; text-decoration: none; transition: opacity .2s; }
.blog-index-card h2 a:hover { opacity: var(--hover-opacity); }
.blog-index-card p { margin: 0; font: 13px/1.65 var(--brand-font); }
@media (max-width: 767px) {
    .blog-card-list { gap: 28px; }
    .blog-index-card { grid-template-columns: minmax(0, 1fr); }
    .blog-index-card__image { min-height: 0; aspect-ratio: 4 / 3; }
    .blog-index-card__content { padding: 24px; }
    .blog-index-card h2 { font-size: 22px; }
    .blog-index-card p { font-size: 12px; }
}

/* Artikel und Empfehlungen teilen dieselben weichen Kartenkanten. */
body[data-page^="/post/"] [data-layout="article-section-grid"] { min-height: 0 !important; }
body[data-page^="/post/"] #TPAMultiSection_mcf4iy1h { height: auto !important; }
.related-post-card { border-radius: var(--card-radius); overflow: hidden; }
body[data-page^="/post/"] #site-layout.mesh-layout #site-pages { height: auto; }
body[data-page^="/post/"] .public-page { background: transparent; }
.provider-video-card { position: relative; margin: 0; min-width: 0; }
.provider-video-card figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; font-size: 11px; line-height: 1.5; color: var(--brand-gray); }
.provider-video-credit { display: inline-flex; align-items: center; gap: 4px; }
.provider-video-note { margin: 7px 0 0; font-size: 10px; line-height: 1.6; color: var(--brand-gray); }
.provider-video > video { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: var(--brand-ink); }


@media (max-width: 767px) {
    #home-benefits [data-layout="home-benefits-grid"] > .public-vector-image { left: 20px !important; margin-inline: 0 !important; justify-self: start !important; }
}

/* Footer: dieselben Blöcke, kleinere Icons und die ursprüngliche Trennlinie. */
.footer-divider { border: 0; border-top: 1px solid #10121820; margin: -20px 0 64px; }
.footer-social .social-links { gap: 24px; }
.footer-social .social-icon { width: 14px !important; height: 14px !important; }
.footer-social .social-link { width: 24px; }
/* Ein kompakter Zugang für Einwilligung und Widerruf in der Datenschutzerklärung. */
.privacy-preferences { margin-top: 0; padding: 28px 32px; border: 1px solid #10121820; border-radius: 20px; background: var(--brand-paper); }
.privacy-preferences h2 { margin: 0 0 12px; font: 400 22px/1.3 var(--brand-font); }
.privacy-preferences p { margin: 0; font-size: 12px; line-height: 1.6; }
.privacy-preferences__actions { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 20px; }
.privacy-preferences button { padding: 0; border: 0; background: transparent; font: 600 12px/1.5 var(--brand-font); color: var(--brand-ink); cursor: pointer; }
.privacy-preferences .privacy-preferences__status { margin-top: 12px; }
/* Gemeinsame Medienfläche für Partnerbild und Imagefilm. */
:is(.editorial-page, .privacy-page) [data-layout$="-container-grid"] { display: block !important; min-height: 0 !important; }
.editorial-page .page-body { height: auto; }
.feature-media { display: block !important; position: relative !important; width: min(var(--content-width), calc(100% - 64px)) !important; max-width: none !important; height: auto !important; min-height: 0 !important; margin: 0 auto 88px !important; left: 0 !important; aspect-ratio: 3.18; border-radius: var(--card-radius); overflow: hidden; background: var(--brand-ink); }
.feature-media > :is(img, video) { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(var(--media-scale, 1)); }
.partner-werden-page .public-page, .partner-werden-page [data-part="page-bg"] { background: transparent !important; }
.about-intro-label { margin-bottom: 12px !important; }
.founders-section { padding-bottom: 88px; }
.founders-section > h2, .about-story > h2 { margin: 0 0 44px; text-align: center; font: 400 36px/1.3 var(--brand-font); }
.founders-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.founder-card { overflow: hidden; }
.founder-photo { display: block; width: 100%; height: auto; aspect-ratio: 443 / 431; object-fit: cover; }
.founder-card__content { padding: 28px; }
.founder-card h3 { margin: 0 0 8px; font: 500 20px/1.3 var(--brand-font); }
.founder-card p { margin: 0 0 18px; font: 400 13px/1.6 var(--brand-font); }
/* Geschichte und Praxistests teilen denselben ruhigen Lesefluss. */
:is(.about-story, .provider-article) { font: 400 var(--reading-size)/var(--reading-line-height) var(--brand-font); }
:is(.about-story, .provider-article) section { margin: 0 0 36px; }
:is(.about-story, .provider-article) h3 { margin: var(--reading-heading-gap) 0 12px; font: 600 var(--reading-heading-size)/var(--reading-heading-line-height) var(--brand-font); }
:is(.about-story, .provider-article) section > h3:first-child { margin-top: 0; }
:is(.about-story, .provider-article) p { margin: 0 0 var(--reading-paragraph-gap); }
:is(.about-story, .provider-article) h3 strong { font-weight: inherit; }
.about-story { padding-bottom: 0; }
/* Der Artikel beginnt mit demselben äußeren Abstand wie die übrigen Seiten. */
body[data-page^="/post/"] #article-page { padding-top: var(--page-heading-top); }
.article-sharing { width: calc(100% - 200px); max-width: 740px; text-align: left; box-sizing: border-box; margin-top: 28px; padding-top: 20px; border-top: 1px solid #10121826; }
.article-sharing__links { display: flex; gap: 22px; align-items: center; }
.article-sharing__links :is(a, button) { display: flex; justify-content: center; align-items: center; width: 28px; min-height: 32px; padding: 0; border: 0; background: transparent; color: var(--brand-ink); cursor: pointer; transition: opacity .2s; }
.article-sharing__links :is(a, button):hover { opacity: var(--hover-opacity); }
.article-sharing__links :is(img, svg) { width: 17px; height: 17px; }
.article-sharing svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.article-sharing > p { margin: 8px 0 0; font-size: 11px; }
.article-sharing > input { width: 100%; margin-top: 12px; font-size: 12px; }
/* Die vom Betreiber gewählte Popup-Komposition, mit weichem Bildübergang. */
.insider-dialog { position: fixed; inset: 0; width: min(960px, calc(100vw - 64px)); max-height: 90dvh; height: fit-content; margin: auto; padding: 0; border: 0; border-radius: 28px; overflow: auto; background: #000; color: var(--brand-white); }
.insider-dialog::backdrop { background: #10121866; backdrop-filter: blur(3px); }
.insider-dialog__image { display: block; position: absolute; inset: 0 0 0 auto; width: 54%; max-width: none; height: 100%; object-fit: cover; object-position: center 65%; mask-image: linear-gradient(to right, transparent, #000 12%); }
.insider-dialog__content { position: relative; display: flex; flex-direction: column; justify-content: flex-start; gap: 26px; min-height: 460px; width: 50%; padding: 44px 48px; box-sizing: border-box; font-family: var(--brand-font); text-align: left; outline: none; }
.insider-dialog__content h2 { margin: 0; color: inherit; font: 700 29px/1.08 var(--brand-font); letter-spacing: -.035em; }
.insider-dialog__description { margin: 0; font-size: 16px; line-height: 1.45; font-style: italic; }
.insider-dialog__description strong { font-weight: 700; }
.insider-dialog__action { display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; min-height: 44px; padding: 12px 20px; border-radius: 16px; background: var(--brand-white); color: #000; text-decoration: none; font: 700 13px/1.4 var(--brand-font); transition: opacity .2s; }
.insider-dialog__action:hover { opacity: var(--hover-opacity); }
.insider-dialog__notice { margin: 0; font-size: 9px; line-height: 1.45; opacity: .8; }
@media (max-width: 767px) {
    .footer-divider { display: block; border-top-color: #10121818; margin: 0 0 40px; }
    .footer-logo img { width: 80px; height: 80px; }
    .footer-social { margin-top: 12px; }
    .footer-social .social-links { justify-content: center; gap: 24px; }
    .footer-social .social-icon { width: 12px !important; height: 12px !important; }
    .privacy-preferences { padding: 24px; }
    .article-sharing { width: calc(100% - 40px); }
    .privacy-preferences h2 { font-size: 20px; }
    .feature-media { width: calc(100% - 40px) !important; max-width: var(--content-width) !important; aspect-ratio: 16 / 9; border-radius: var(--card-radius); margin-bottom: 56px !important; }
    .founders-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .founders-section { padding-bottom: 56px; }
    .founders-section > h2, .about-story > h2 { margin-bottom: 28px; font-size: 26px; }
    body[data-page^="/post/"] #article-page { padding-top: 40px; }
    .insider-dialog { width: min(440px, calc(100vw - 32px)); border-radius: 24px; }
    .insider-dialog__image { position: relative; inset: auto; width: 100%; height: 132px; object-position: center 62%; mask: none; }
    .insider-dialog__content { display: block; min-height: 0; width: 100%; padding: 30px 24px; }
    .insider-dialog__content h2 { font-size: 24px; margin-bottom: 24px; }
    .insider-dialog__description { font-size: 14px; margin-bottom: 26px; }
    .insider-dialog__notice { font-size: 9px; margin-top: 24px; }
}


.provider-gallery img[src$="nielsenmobilepanel-bild-01.png"] { mask: url("/static/images/pages/nielsen-phones-mask.svg") center / 100% 100% no-repeat; }
/* Partnerbeschreibung beginnt im gleichen Abstand unter dem Seitentitel. */
#partner-werden-section { padding-bottom: 0; }
#partner-werden-rich-text-2 { margin-top: var(--page-title-gap) !important; }
#partner-werden-rich-text-2, #partner-werden-rich-text-2 :is(p, span) { font-size: var(--page-description-size) !important; }

/* Rechtstexte teilen eine ruhige, lesbare Typografie ohne importierte Leerzeilen. */
:is(body[data-page="/impressum"] #legal-rich-text-2, body[data-page="/datenschutz"] #privacy-rich-text-3) {
    width: min(100%, 780px);
    margin-inline: auto;
    left: 0 !important;
    justify-self: center !important;
    color: var(--brand-ink);
    font-family: var(--brand-font);
}
:is(body[data-page="/impressum"] #legal-rich-text-2, body[data-page="/datenschutz"] #privacy-rich-text-3) > :is(h2, h3, p) {
    width: 100%;
    min-height: 0;
    margin: 0 !important;
    text-align: left;
}
:is(body[data-page="/impressum"] #legal-rich-text-2, body[data-page="/datenschutz"] #privacy-rich-text-3) > :is(h2, h3) {
    padding: 0;
    margin: var(--reading-heading-gap) 0 12px !important;
    font: 600 var(--reading-heading-size)/var(--reading-heading-line-height) var(--brand-font) !important;
    color: var(--brand-ink) !important;
}
:is(body[data-page="/impressum"] #legal-rich-text-2, body[data-page="/datenschutz"] #privacy-rich-text-3) > :is(h2, h3):first-child { margin-top: 0 !important; }
:is(body[data-page="/impressum"] #legal-rich-text-2, body[data-page="/datenschutz"] #privacy-rich-text-3) > p {
    margin: 0 0 var(--reading-paragraph-gap) !important;
    font: 400 var(--reading-size)/var(--reading-line-height) var(--brand-font) !important;
}
:is(body[data-page="/impressum"] #legal-rich-text-2, body[data-page="/datenschutz"] #privacy-rich-text-3) :is(p, h2, h3) span {
    font-size: inherit !important;
    line-height: inherit !important;
}
@media (min-width: 768px) {
    body[data-page="/datenschutz"] #privacy-rich-text-3 { margin-top: 48px !important; }
}
@media (max-width: 767px) {
    :is(body[data-page="/impressum"] #legal-rich-text-2, body[data-page="/datenschutz"] #privacy-rich-text-3) { width: calc(100% - 40px); }
}

.broker-logo { display: grid; place-items: center; aspect-ratio: 285 / 235; background: var(--brand-paper); }
.broker-logo .offer-image { width: 60%; height: 60%; max-width: 160px; max-height: 160px; aspect-ratio: auto; object-fit: contain; background: transparent; }
.footer-columns h2 a { font: inherit; }

@media (prefers-reduced-motion: reduce) {
    .page-heading, #site-header #site-navigation, .navigation-toggle span { transition: none; }
}

/* Ein einziger Abstand vom letzten Inhalt zum Footer, unabhängig vom Seitentyp. */
.page-content { padding-bottom: var(--page-end-space); }
.related-posts { padding-bottom: 0; }
/* Nur die Schlusszweige alter Raster verlieren ihre leeren Mindesthöhen. */
.page-content [data-part="layout-grid"]:has([data-page-end]) { min-height: 0 !important; }
[data-page-end], .page-content .column-strip:has([data-page-end]) { margin-bottom: 0 !important; }
.text-block[data-page-end] { min-height: 0 !important; --min-height: 0px; }
@media (max-width: 767px) {
    :root { --page-end-space: calc(220px / var(--mobile-scale, 1)); --provider-section-gap: 88px; }
    .privacy-page [data-part="layout-grid"] { min-height: 0 !important; }
}

/* Weniger Dichte auf Mobilgeräten, mit einer gemeinsamen Abschnittsgröße. */
.video-play--native { padding: 0; background: transparent; color: var(--brand-ink); }
.video-play--native .video-play__icon { width: 44px; height: 44px; transition: opacity .2s; }
.video-play--native:hover .video-play__icon { opacity: var(--hover-opacity); }
@media (max-width: 767px) {
    :root { --mobile-section-gap: 64px; --page-heading-top: 48px; --page-heading-bottom: 64px; --control-height: 36px; --reading-size: 12px; --reading-heading-size: 13px; --page-description-size: var(--reading-size); }
    .vc-button { padding: 8px 18px; font-size: 10px; letter-spacing: .08em; }
    .site-body .button-label, .wizard-answer { font-size: 10px !important; }
    .site-body :is(#home-layout, #home-layout-2) .button-label { font-size: 8px !important; }
    .footer-insider .vc-button { width: 100%; max-width: 240px; justify-self: center; font-size: 10px; }
    .footer-main { padding-block: 56px; }
    .footer-columns { row-gap: 48px; }
    .provider-video .video-play { display: grid; place-items: center; padding: 0; }
    .provider-video .video-play__icon { width: 32px; height: 32px; }
    [data-layout="home-section-grid"] > :is(.card-properties, .column-strip):not([data-page-end]) { margin-bottom: var(--mobile-section-gap) !important; }
    .catalog-featured, .blog-card-list { gap: var(--mobile-section-gap); }
    .catalog-content .offer-grid, .broker-catalog .offer-grid, .related-posts__grid { row-gap: 48px !important; }
    .contact-card { margin-top: var(--mobile-section-gap); }
    .feature-media { margin-bottom: var(--mobile-section-gap) !important; }
    .founders-section { padding-bottom: var(--mobile-section-gap); }
    .founders-grid { gap: 40px; }
    .provider-actions { margin-top: 48px; }
    .privacy-preferences { margin-top: var(--mobile-section-gap); }
    .about-story section { margin-bottom: 48px; }
    .related-posts { padding-top: var(--mobile-section-gap); }
    /* REALTALK ist die gemeinsame Referenz für mobile Inhalts- und Kartentexte. */
    :is(.offer-description, .offer-row__description), :is(.offer-description, .offer-row__description) * { font-size: var(--reading-size) !important; line-height: var(--reading-line-height) !important; }
    .filter-panel, .filter-field label, .filter-range legend, .filter-panel__count, .select-trigger, .select-options button { font-size: var(--reading-size); line-height: var(--reading-line-height); }
    .filter-panel h2 { font-size: var(--reading-heading-size); line-height: var(--reading-heading-line-height); }
    .blog-index-card p { font-size: var(--reading-size); line-height: var(--reading-line-height); }
    .blog-index-card h2 { font-size: var(--reading-heading-size); line-height: var(--reading-heading-line-height); margin-bottom: 12px; }
    body[data-page="/partner-werden"] #page-content .text-block :is(p, li), body[data-page="/partner-werden"] #page-content .text-block :is(p, li) *,
    body[data-page^="/post/"] [data-ricos-paragraph], body[data-page^="/post/"] [data-ricos-paragraph] * { font-size: var(--reading-size) !important; line-height: var(--reading-line-height) !important; }
    .partner-werden-page .text-block p, body[data-page^="/post/"] p[data-ricos-paragraph] { margin-bottom: var(--reading-paragraph-gap) !important; }
    body[data-page^="/post/"] [data-hook="post"] :is(h2, h3), body[data-page^="/post/"] [data-hook="post"] :is(h2, h3) * { font-size: var(--reading-heading-size) !important; line-height: var(--reading-heading-line-height) !important; }
    body[data-page^="/post/"] [data-hook="post"] :is(h2, h3) { margin: var(--reading-heading-gap) 0 12px !important; }
    .privacy-preferences h2 { font-size: var(--reading-heading-size); line-height: var(--reading-heading-line-height); }
    .privacy-preferences p { font-size: var(--reading-size); line-height: var(--reading-line-height); }
    body:is([data-page="/datenschutz"], [data-page="/impressum"]) { --page-title-size: 26px; }
}

/* Schlussnoten teilen Typografie und den tatsächlichen Abstand zum Footer. */
.page-content [data-layout="partner-werden-section-2-grid"] { min-height: 0 !important; }
#partner-werden-column-strip-5 { margin-bottom: 0 !important; }
.page-content:has(.page-end-notice) { padding-bottom: 56px; }
.page-end-notice { margin: 160px 0 0; font: 400 10px/1.6 var(--brand-font); }
@media (max-width: 767px) {
    .page-content:has(.page-end-notice) { padding-bottom: calc(30px / var(--mobile-scale, 1)); }
    .page-end-notice { margin-top: calc(220px / var(--mobile-scale, 1)); font-size: 9px; }
    .catalog-content .offer-row .social-icon { width: 12px !important; height: 12px !important; }
    .catalog-content .filter-panel,
    .catalog-content .filter-panel :is(label, legend, output, .filter-panel__count, .select-trigger, .select-options button) { font-size: 10px; line-height: 1.5; }
    .catalog-content .filter-panel h2 { font-size: 12px; line-height: 1.5; margin-bottom: 24px; }
}
