/* lora-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lora';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/lora-v37-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lora-italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lora';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/lora-v37-latin_latin-ext-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lora-500 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lora';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/lora-v37-latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lora-500italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lora';
    font-style: italic;
    font-weight: 500;
    src: url('../fonts/lora-v37-latin_latin-ext-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lora-600 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lora';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/lora-v37-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lora-600italic - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lora';
    font-style: italic;
    font-weight: 600;
    src: url('../fonts/lora-v37-latin_latin-ext-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/source-sans-3-v19-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-500 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/source-sans-3-v19-latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-600 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/source-sans-3-v19-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
:root{
    --bg:#F7F5F2; --surface:#FFFFFF; --surface-alt:#EDF4F7;
    --ink:#2A3A45; --ink-soft:#5A6B75;
    --brand:#008BC5; --brand-btn:#0077A6; --brand-deep:#0A5E85;
    --border:#E5E2DC;
    --font-serif:'Lora',Georgia,serif;
    --font-sans:'Source Sans 3',system-ui,-apple-system,sans-serif;
    --measure:60ch; --space-section:clamp(3.5rem,8vw,6.5rem);
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-sans); font-size:1.125rem; line-height:1.7; -webkit-font-smoothing:antialiased; }
.wrap{ max-width:1000px; margin:0 auto; padding:0 1.5rem; }
.narrow{ max-width:660px; }
h1,h2,h3{ font-family:var(--font-serif); color:var(--brand-deep); font-weight:600; line-height:1.18; margin:0 0 .5em; }
h1{ font-size:clamp(2.25rem,5.5vw,3.4rem); }
h2{ font-size:clamp(1.7rem,3.6vw,2.4rem); }
h3{ font-size:1.3rem; }
p{ margin:0 0 1.1em; }
a{ color:var(--brand-btn); }
.soft{ color:var(--ink-soft); }
.eyebrow{ font-family:var(--font-serif); font-style:italic; font-size:1.1rem; color:var(--brand); margin:0 0 .4em; }
.eyebrow-caps{ font-family:var(--font-sans); text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:600; color:var(--brand); margin:0 0 .8em; }
.btn{ display:inline-block; background:var(--brand-btn); color:#fff; text-decoration:none; font-weight:600; padding:.9rem 1.8rem; border-radius:999px; transition:background .2s; }
.btn:hover{ background:var(--brand-deep); }
.btn-ghost{ display:inline-block; color:var(--brand-deep); text-decoration:none; font-weight:600; padding:.9rem 1.8rem; border-radius:999px; border:1px solid var(--brand); transition:background .2s; }
.btn-ghost:hover{ background:var(--surface-alt); }
.btn:focus-visible,.btn-ghost:focus-visible{ outline:3px solid var(--brand); outline-offset:3px; }
.cta-row{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem; }

/* ============ NAVIGATION ============ */
.topbar{ background:var(--bg); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:100; }
.topbar__inner{ max-width:1180px; margin:0 auto; padding:.7rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand{ display:inline-flex; align-items:center; gap:.55rem; text-decoration:none; white-space:nowrap; }
.brand__text{ display:flex; flex-direction:column; line-height:1; }
.brand__word{ font-family:var(--font-serif); font-size:1.3rem; color:var(--brand-deep); font-weight:600; }
.brand__word .accent{ color:var(--brand); }
.brand__name{ font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft); margin-top:.24rem; }
.brand__mark{ flex:0 0 auto; }
.mainnav{ display:flex; align-items:center; gap:.3rem; margin:0; padding:0; }
.mainnav > li{ list-style:none; position:relative; }
.mainnav a{ color:var(--ink); text-decoration:none; font-size:1rem; padding:.6rem .9rem; border-radius:8px; display:inline-block; }
.mainnav a:hover,.mainnav a:focus-visible{ color:var(--brand-deep); background:var(--surface-alt); }
.mainnav a.btn{ color:#fff; }
.mainnav a.btn:hover,.mainnav a.btn:focus-visible{ color:#fff; background:var(--brand-deep); }
.mainnav .caret::after{ content:"▾"; font-size:.7em; margin-left:.35em; color:var(--ink-soft); }

.dropdown{ position:absolute; top:100%; left:0; z-index:200; min-width:240px; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:0 12px 30px rgba(10,94,133,.13); padding:.5rem; margin:0; list-style:none; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .16s,transform .16s; }
.has-dd:hover > .dropdown, .has-dd:focus-within > .dropdown, .has-dd.open > .dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.dropdown li{ list-style:none; }
.dropdown a{ display:block; padding:.55rem .8rem; font-size:.95rem; border-radius:8px; }
.mega{ max-width:calc(100vw - 3rem); left:auto; right:0; display:flex; gap:1.5rem; }
.mega-col{ min-width:170px; }
.mega ul{ list-style:none; margin:0 0 .4rem; padding:0; }

.nav-cta{ margin-left:.4rem; }
.nav-toggle{ display:none; background:none; border:1px solid var(--border); border-radius:8px; padding:.5rem .7rem; font-size:1.1rem; color:var(--brand-deep); cursor:pointer; }

@media(max-width:980px){
    .nav-toggle{ display:inline-block; }
    .navwrap{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--bg); border-bottom:1px solid var(--border); padding:1rem 1.5rem 2rem; max-height:80vh; overflow-y:auto; }
    .navwrap.open{ display:block; }
    .mainnav{ flex-direction:column; align-items:stretch; gap:0; }
    .mainnav > li{ border-bottom:1px solid var(--border); }
    .mainnav a{ padding:.8rem .2rem; }
    .dropdown,.mega{ position:static; opacity:1; visibility:visible; transform:none; background:none; box-shadow:none; border:none; min-width:0; padding:0 0 .6rem 1rem; display:block; }
    .has-dd > a.caret{ display:flex; justify-content:space-between; align-items:center; }
    .has-dd:not(.open) > .dropdown{ display:none; }
    .nav-cta{ margin:1rem 0 0; }
    .brand{ font-size:1.2rem; }
}

/* ============ HERO mit Hintergrundbild ============ */
.hero{
    position:relative; color:#fff;
    /* Fallback ohne Bild; das Hintergrundbild setzt der Hero-Content-Block per Inline-CSS (#hero-<uid>) */
    background:var(--brand-deep);
    background-size:cover; background-position:center;
}
/* nur vertikal – sonst wird der seitliche Abstand von .wrap überschrieben (Text klebt am Rand) */
.hero__inner{ padding-block:clamp(3rem,10vw,7.5rem); }
.hero .trust{ text-transform:uppercase; letter-spacing:.13em; font-size:.76rem; color:rgba(255,255,255,.82); margin-bottom:1.4rem; }
.hero h1{ color:#fff; max-width:18ch; }
.hero p.lead{ font-size:1.2rem; max-width:52ch; color:rgba(255,255,255,.92); }
.hero .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.7); }
.hero .btn-ghost:hover{ background:rgba(255,255,255,.12); }
.hero .signature{ margin-top:2.2rem; font-size:.95rem; color:rgba(255,255,255,.8); }
.hero .signature p{ margin:0; }
.hero .signature b,.hero .signature strong{ color:#fff; font-weight:600; }

section{ padding:var(--space-section) 0; }
.alt{ background:var(--surface-alt); }
.checks{ list-style:none; padding:0; margin:2rem 0; max-width:var(--measure); }
.checks li{ position:relative; padding:.55rem 0 .55rem 2rem; border-bottom:1px solid var(--border); }
.checks li::before{ content:"✓"; position:absolute; left:0; color:var(--brand); font-weight:700; }
.resonanz-close{ font-family:var(--font-serif); font-size:1.3rem; color:var(--brand-deep); max-width:34ch; margin:2rem 0 0; line-height:1.4; }
.pillars{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.5rem; margin-top:2.5rem; }
.pillar{ background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:1.75rem; }
.pillar h3{ margin-top:.3rem; }
.about{ display:grid; grid-template-columns:340px 1fr; gap:3rem; align-items:center; }
@media(max-width:800px){ .about{ grid-template-columns:1fr; gap:2rem; } }
.about__photo{ background:linear-gradient(160deg,#D7E6EE,#B9D4E0); border:1px solid var(--border); border-radius:18px; aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; color:#5A7A88; font-size:.9rem; text-align:center; padding:1rem; }
.about__photo--img{ background-size:cover; background-position:center; background-repeat:no-repeat; padding:0; color:transparent; }
.about__sig{ font-family:var(--font-serif); font-size:1.15rem; color:var(--brand-deep); margin-top:.5rem; }
.paths{ display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1.5rem; margin-top:2.5rem; }
.card{ position:relative; background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:2rem 1.75rem; display:flex; flex-direction:column; overflow:hidden; transition:transform .25s,box-shadow .25s; }
.card::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--brand); }
.card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(10,94,133,.12); }
.card p{ flex:1 1 auto; }
.card .btn,.card .btn-ghost{ align-self:flex-start; }
.closing{ text-align:center; }
.closing .wrap{ max-width:860px; }
.closing h2{ max-width:22ch; margin-left:auto; margin-right:auto; }
.closing__lead{ max-width:58ch; margin-left:auto; margin-right:auto; }
.closing__cta{ justify-content:center; }
footer{ background:var(--surface-alt); padding:2.5rem 0; font-size:.9rem; color:var(--ink-soft); border-top:1px solid var(--border); }
@media(prefers-reduced-motion:reduce){ .card,.btn,.btn-ghost,.dropdown{ transition:none; } .card:hover{ transform:none; } }
.mega .mega-col{ list-style:none; }
.mega .mega-col > ul{ list-style:none; margin:0; padding:0; }
.mainnav .mega .col-title{ display:block; font-family:var(--font-serif); font-size:.95rem; color:var(--brand-deep); font-weight:600; padding:.4rem .8rem .2rem; }
.mainnav .mega a.col-title:hover,.mainnav .mega a.col-title:focus-visible{ color:var(--brand-btn); background:transparent; }

/* ============ LEGACY-/CONTAINER-SEITEN (zentriert, ins 2026-Design harmonisiert) ============ */
.legacy-content{ padding-block:clamp(2rem,5vw,3.5rem); line-height:1.5; }
.legacy-content p{ line-height:1.5; margin:0 0 1em; }
.legacy-content p:last-child{ margin-bottom:0; }
.legacy-content img{ max-width:100%; height:auto; border-radius:14px; }
.legacy-content .text-center{ text-align:center; }
.legacy-content .clearfix{ display:none; }

/* Abstände: globales section-Padding + Alt-Spacer neutralisieren, eigener Rhythmus */
.legacy-content section{ padding-block:0; }
.legacy-content [class*="frame-space"]{ margin-block:0; }
.legacy-content .pl-5{ padding-left:0; }
.legacy-content .pr-5{ padding-right:0; }
.legacy-content > [class*="frame-layout"]{ margin-block:clamp(1.1rem,2.6vw,1.9rem); }
.legacy-content > [class*="frame-layout"]:first-child{ margin-top:0; }

/* Landingpage-Duktus: durchgehend zentriert (Überschriften + Fließtext) */
.legacy-content h1,.legacy-content h2,.legacy-content h3{ text-align:center; }
.legacy-content h2{ font-size:clamp(1.6rem,3.2vw,2.15rem); line-height:1.2; margin:0 0 .6em; }
.legacy-content h3{ font-size:1.22rem; line-height:1.3; margin:1.1em 0 .45em; }
/* H3 direkt unter H2 (Unterzeile) rückt näher heran */
.legacy-content h2 + h3,
.legacy-content h3:first-child{ margin-top:0; }
.legacy-content .col-1 .ce-std,
.legacy-content .col-1 .ce-bodytext,
.legacy-content .col-1 .ce-std p,
.legacy-content .col-1 .ce-bodytext p{ text-align:center; }
/* Aufzählungen bleiben lesbar linksbündig, Block aber mittig.
   Nur schlichte RTE-Listen – Listen mit eigener Klasse (Galerie, Preistabelle) bleiben unberührt. */
.legacy-content .col-1 ul:not([class]),
.legacy-content .col-1 ol:not([class]){ text-align:left; display:inline-block; }

/* Spalten-Grid (b13 2-/3-Spalter) reaktivieren */
.legacy-content .row:has(> [class*="col-"]){ display:flex; flex-wrap:wrap; gap:1.75rem; align-items:stretch; margin:0; }
.legacy-content [class*="col-"]{ flex:1 1 100%; min-width:0; }
@media(min-width:768px){
    .legacy-content .col-2{ flex:1 1 calc(50% - .9rem); }
    .legacy-content .col-3{ flex:1 1 calc(33.333% - 1.17rem); }
}
/* Spalten als ruhige Karten */
.legacy-content .col-2 > section,
.legacy-content .col-3 > section{ height:100%; background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:1.6rem 1.5rem; }
.legacy-content .col-2 .container,
.legacy-content .col-3 .container{ padding:0; }
.legacy-content .col-2 h3,.legacy-content .col-3 h3,
.legacy-content .col-2 h2,.legacy-content .col-3 h2{ text-align:left; }

/* Einspaltiger Fließtext: angenehme Lesebreite, zentriert */
.legacy-content .col-1 .ce-bodytext,
.legacy-content .col-1 .ce-std{ max-width:720px; margin-inline:auto; }
.legacy-content .col-1 .text-center.ce-bodytext,
.legacy-content .col-1 .text-center{ max-width:640px; }

/* Check-/Kreuz-Listen & Feature-Tabelle */
.legacy-content .icon-check{ color:var(--brand); font-weight:700; }
.legacy-content .icon-cross{ color:#C0574E; }
.legacy-content .icon-neut{ color:var(--ink-soft); }
.legacy-content table{ width:100%; border-collapse:collapse; margin:0 auto; }
.legacy-content th,.legacy-content td{ padding:.6rem .55rem; border-bottom:1px solid var(--border); text-align:center; }
.legacy-content th:first-child,.legacy-content td:first-child{ text-align:left; }
.legacy-content thead th{ color:var(--brand-deep); font-family:var(--font-serif); font-weight:600; }

/* Buttons/Links in Legacy-Texten an das System angleichen */
.legacy-content a.btn-cta,
.legacy-content a.button{ display:inline-block; background:var(--brand-btn); color:#fff; text-decoration:none;
    font-weight:600; padding:.9rem 1.8rem; border-radius:999px; transition:background .2s; }
.legacy-content a.btn-cta:hover,
.legacy-content a.button:hover{ background:var(--brand-deep); color:#fff; }
.legacy-content a.btn-cta:focus-visible,
.legacy-content a.button:focus-visible{ outline:3px solid var(--brand); outline-offset:3px; }
@media(prefers-reduced-motion:reduce){ .legacy-content a.button{ transition:none; } }

/* ---- Legacy-Elemente (Plugins) auf Content-Seiten mittig setzen ----
   Content-Blocks zentrieren sich selbst; alte Elemente bringen einen frame-Wrapper mit. */
/* nur direkte Kinder – sonst trifft die Regel auch verschachtelte Sektionen
   (z. B. in Karten auf Legacy-Seiten) und erzeugt dort riesige Abstände */
.content-page > section[class*="frame-type-"]{ max-width:760px; margin:clamp(2rem,5vw,3.25rem) auto;
    padding-left:1.5rem; padding-right:1.5rem; }
.content-page > section[class*="frame-type-"] .row{ margin-left:0; margin-right:0; }
.content-page > section[class*="frame-type-"] .col-1{ width:auto; float:none; padding-left:0; padding-right:0; }

/* ---- Kundenstimmen ---- */
.tx-kundenstimmen h3{ text-align:center; margin:0 0 1.4rem; }
.tx-kundenstimmen .statement-bloc-text{ background:var(--surface); border:1px solid var(--border);
    border-left:4px solid var(--brand); border-radius:14px; padding:1.35rem 1.55rem; margin:0 0 1.1rem;
    font-family:var(--font-sans); font-size:1rem; font-weight:400; line-height:1.65; color:var(--ink); }
.tx-kundenstimmen .statement-bloc-text:last-child{ margin-bottom:0; }

/* ---- Event-Detailseite: Kopf (lib.eventDetaildata liefert h1 + h2>p direkt) ---- */
.event-head h1{ margin:0 0 .3em; max-width:24ch; }
.event-head h2{ font-family:var(--font-sans); font-size:1.15rem; font-weight:600;
    color:var(--brand); margin:0; line-height:1.4; }
.event-head h2 p{ margin:0; }
.event-head #banner-content,.event-head .row,.event-head .col-1{ display:block; margin:0; padding:0; }

/* ---- Event-Detailseite: Inhalt ---- */
.legacy-content .col-61{ flex:1 1 100%; }
.legacy-content .col-38{ flex:1 1 100%; }
@media(min-width:768px){
    .legacy-content .col-61{ flex:1 1 calc(61% - .9rem); }
    .legacy-content .col-38{ flex:1 1 calc(39% - .9rem); }
}
.legacy-content .col-38 img{ border-radius:14px; }
.legacy-content .further-details{ background:var(--surface-alt); border-radius:12px; padding:1rem 1.2rem;
    margin:0 0 .9rem; text-align:left; }
.legacy-content .further-details strong{ color:var(--brand-deep); }
.legacy-content .further-details br:last-child{ display:none; }
.legacy-content .ticketbutton{ background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--brand);
    border-radius:12px; padding:1.2rem 1.4rem; margin:0 0 1.4rem; }
.legacy-content .ticketbutton strong{ display:block; margin-bottom:.9rem; color:var(--ink); }
.legacy-content hr{ border:0; border-top:1px solid var(--border); margin:2rem 0; }

/* ---- Veranstaltungs-Listing (events-Plugin) ---- */
.legacy-content .tx-events .row{ margin-bottom:0; }
/* Veranstaltungs-Teaser: auf Desktop bewusst 2 statt 3 nebeneinander */
@media(min-width:768px){
    .legacy-content .pricing-block.col-3{ flex:1 1 calc(50% - .875rem); }
}
.legacy-content .pricing-block{ background:var(--surface); border:1px solid var(--border); border-radius:16px;
    padding:1.4rem 1.3rem; transition:transform .2s ease, box-shadow .2s ease; }
.legacy-content .pricing-block:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(10,94,133,.12); }
.legacy-content .pricing-block-content{ display:flex; flex-direction:column; height:100%; }
.legacy-content .pricing-sub{ margin:0 0 .35rem; }
.legacy-content .pricing-sub small{ font-family:var(--font-sans); font-size:.82rem; font-weight:600;
    letter-spacing:.04em; color:var(--brand); }
.legacy-content .pricing-block h3{ font-size:1.12rem; line-height:1.3; margin:0 0 .9rem; }
.legacy-content .eventImage{ margin:0 0 .9rem; }
.legacy-content .eventImage img,
.legacy-content img.card-img-top{ width:100%; height:auto; aspect-ratio:16/10; object-fit:cover;
    border-radius:12px; box-shadow:none; }
.legacy-content .event-subtitle{ margin:0 0 .9rem; color:var(--ink-soft); font-size:.9rem; }
.legacy-content .event-subtitle:empty{ display:none; }
.legacy-content a.detail-link{ display:block; align-self:stretch; margin-top:auto; text-align:center;
    color:var(--brand-deep); text-decoration:none; font-weight:600; font-size:.95rem; line-height:1.35;
    padding:.75rem 1.1rem; border:1px solid var(--brand); border-radius:10px; transition:background .2s ease; }
.legacy-content a.detail-link:hover,
.legacy-content a.detail-link:focus-visible{ background:var(--surface-alt); }
.legacy-content a.detail-link:focus-visible{ outline:3px solid var(--brand); outline-offset:3px; }
/* „Zu allen Veranstaltungen“ / „Zu den online Terminen“ */
.legacy-content a.btn.btn-info{ display:inline-block; background:var(--brand-btn); color:#fff; text-decoration:none;
    font-weight:600; padding:.9rem 1.8rem; border-radius:999px; border:0; transition:background .2s ease;
    margin:.5rem 0 clamp(2rem,5vw,3rem); }
.legacy-content a.btn.btn-info:hover{ background:var(--brand-deep); color:#fff; }
.legacy-content a.btn.btn-info:focus-visible{ outline:3px solid var(--brand); outline-offset:3px; }
@media(prefers-reduced-motion:reduce){
    .legacy-content .pricing-block,.legacy-content a.detail-link,.legacy-content a.btn.btn-info{ transition:none; }
    .legacy-content .pricing-block:hover{ transform:none; }
}

/* Akkordeon wird vollständig im Content-Block gestylt (accordion/Assets/Frontend.css) */

/* Bilder im Fließtext ruhig einbetten */
.legacy-content .ce-textpic img,.legacy-content figure img{ box-shadow:0 8px 24px rgba(10,94,133,.10); }
.legacy-content figure{ margin:1.2rem auto; }


/* ============ CONTENT-SEITEN (pagehead / prose / callout / bausteine) ============ */
.pagehead{ background:var(--surface-alt); padding:clamp(2.5rem,6vw,4.5rem) 0; border-bottom:1px solid var(--border); }
.pagehead h1{ font-size:clamp(2rem,4.5vw,3rem); line-height:1.15; margin:0 0 .3em; max-width:20ch; }
.pagehead .eyebrow{ margin-bottom:.3em; }
.pagehead .lead{ font-size:1.2rem; color:var(--ink); max-width:52ch; margin:0; }
.crumbs{ font-size:.85rem; color:var(--ink-soft); margin:0 0 1.2rem; }
.crumbs a{ color:var(--ink-soft); text-decoration:none; }
.crumbs a:hover{ color:var(--brand-btn); }

/* Seitenkopf mit Bild: dunkler Verlauf, weiße Schrift (wie Hero) */
.pagehead--image{ background-size:cover; background-position:center; border-bottom:0;
    padding:clamp(3.5rem,8vw,6rem) 0; }
.pagehead--image h1{ color:#fff; }
.pagehead--image .lead{ color:rgba(255,255,255,.94); }
.pagehead--image .eyebrow{ color:#8FC7E0; }
.pagehead--image .crumbs,
.pagehead--image .crumbs a{ color:rgba(255,255,255,.8); }
.pagehead--image .crumbs a:hover{ color:#fff; }

.prose{ max-width:680px; margin:clamp(2rem,5vw,3rem) auto; padding:0 1.5rem; }
.prose > h2:first-child{ margin-top:0; }
.prose h2{ font-size:1.55rem; line-height:1.25; margin:2.4em 0 .5em; }
.prose p{ margin:0 0 1.2em; }
.prose strong{ color:var(--ink); font-weight:600; }
.prose ul,.prose ol{ margin:0 0 1.2em; padding-left:1.4em; }
.prose li{ margin:0 0 .5em; }
.prose blockquote{ margin:0 0 1.2em; padding:.2em 0 .2em 1.2em; border-left:3px solid var(--border); color:var(--ink-soft); }

/* Bild im Textabschnitt (optionales Bildfeld im text-Block) */
.prose img{ max-width:100%; height:auto; }
.prose--media{ max-width:920px; }
.prose__figure{ margin:0; }
.prose__figure img{ width:100%; border-radius:14px; box-shadow:0 10px 26px rgba(10,94,133,.12); }
.prose__figure figcaption{ margin-top:.5rem; font-size:.88rem; color:var(--ink-soft); line-height:1.45; }
.prose__media{ display:flex; flex-direction:column; gap:1.4rem; }
.prose--img-below .prose__figure{ order:2; }
.prose--img-above .prose__figure{ order:0; }
@media(min-width:768px){
    .prose--img-right .prose__media,
    .prose--img-left .prose__media{ flex-direction:row; align-items:flex-start; gap:2.2rem; }
    .prose--img-right .prose__figure,
    .prose--img-left .prose__figure{ flex:0 0 330px; }
    .prose--img-right .prose__figure{ order:2; }
    .prose--img-left .prose__figure{ order:0; }
    .prose--img-right .prose__text,
    .prose--img-left .prose__text{ flex:1 1 auto; order:1; }
}
.prose__text > :first-child{ margin-top:0; }
.prose__text > :last-child{ margin-bottom:0; }

.callout{ max-width:680px; margin:clamp(2rem,5vw,3rem) auto; background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--brand); border-radius:12px; padding:1.3rem 1.5rem; font-size:1rem; line-height:1.65; }
.callout p{ margin:0 0 .8em; }
.callout p:last-child{ margin-bottom:0; }
.callout b,.callout strong{ color:var(--brand-deep); }

.bausteine{ max-width:680px; margin:clamp(2rem,5vw,3rem) auto; padding:0 1.5rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1rem; }
.baustein{ background:var(--surface-alt); border-radius:14px; padding:1.3rem; }
.baustein h3{ font-size:1.1rem; margin:0 0 .3em; }
.baustein p{ font-size:.95rem; color:var(--ink-soft); margin:0; line-height:1.55; }
