/* =====================================================================
   FA-CED Designsystem 2026 – Weiterentwicklung des Bestands
   Gilt nur für neue Seiten (body.fc-body). Markenfarben unverändert,
   Textfarben barrierearm abgeleitet (Kontrastwerte im Kommentar).
   ===================================================================== */
.fc-body {
	--fc-brand-green:#1E6D46; --fc-brand-blue:#0062A7; --fc-petrol:#1E6B7B; --fc-petrol-strong:#14505C;
	--fc-sage:#5C9785; --fc-sage-text:#3F7A6A; --fc-mint:#73CCB1; --fc-sun:#FFD882; --fc-ink:#252525;
	--fc-ink-muted:#5F6B68; --fc-line:#D9E2DF; --fc-tint:#F4F7F6; --fc-mist:#F8F8F8;
	--fc-danger:#B3261E; --fc-danger-bg:#FCEDEC; --fc-warn:#8A5A00; --fc-warn-bg:#FFF4D6; --fc-ok-bg:#E8F3EC; --fc-info-bg:#E6F0F7;
	--fc-font:"FC Montserrat","Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--fc-container:72rem; --fc-wide:80rem; --fc-gutter:clamp(1rem,.4rem + 2.6vw,2.5rem);
	--fc-section:clamp(3.5rem,2rem + 5vw,7rem);
	--fc-radius-card:1rem; --fc-shadow:0 1px 2px rgba(20,80,92,.06),0 10px 30px rgba(20,80,92,.08);
	--fc-focus:0 0 0 3px #fff,0 0 0 6px #14505C;
	font-family:var(--fc-font); color:var(--fc-ink); background:#fff;
	-webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.fc-body *, .fc-body *::before, .fc-body *::after { box-sizing:border-box; }
.fc-body h1,.fc-body h2,.fc-body h3,.fc-body h4,.fc-body p,.fc-body li,.fc-body a,.fc-body button,.fc-body input,.fc-body select,.fc-body textarea,
.fc-body .elementor-heading-title,.fc-body .elementor-button { font-family:var(--fc-font); }

/* ---------- Grundtypografie ---------- */
.fc-body .fc-page p, .fc-body .fc-page li, .fc-body .elementor-widget-text-editor { font-size:1.0625rem; line-height:1.65; color:var(--fc-ink); }
.fc-body .elementor-widget-text-editor p { margin:0 0 1em; max-width:68ch; }
.fc-body .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.fc-body .fc-page a:not(.elementor-button):not(.fc-btn):not(.fc-chip-link) { color:var(--fc-petrol); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em; }
.fc-body .fc-page a:not(.elementor-button):not(.fc-btn):hover { color:var(--fc-petrol-strong); text-decoration-thickness:2px; }
.fc-body .fc-page .elementor-widget-heading .elementor-heading-title { font-weight:700; letter-spacing:-.015em; color:var(--fc-petrol-strong); }
.fc-body .fc-page .fc-h-display .elementor-heading-title { font-size:clamp(2.25rem,1.1rem + 4.4vw,4.25rem); line-height:1.04; color:#fff; letter-spacing:-.025em; }
.fc-body .fc-page .fc-h1 .elementor-heading-title { font-size:clamp(2rem,1.25rem + 3vw,3.5rem); line-height:1.06; }
.fc-body .fc-page .fc-h2 .elementor-heading-title { font-size:clamp(1.75rem,1.2rem + 2.2vw,3.25rem); line-height:1.06; color:var(--fc-sage-text); }
.fc-body .fc-page .fc-h3 .elementor-heading-title { font-size:clamp(1.25rem,1.05rem + .8vw,1.5rem); line-height:1.25; }
.fc-body .fc-page .fc-kicker .elementor-heading-title, .fc-kicker { font-size:.8125rem !important; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-sage-text); }
.fc-body .fc-lead, .fc-body .fc-lead p { font-size:clamp(1.125rem,1rem + .4vw,1.3rem) !important; line-height:1.55 !important; }
.fc-body .fc-on-dark, .fc-body .fc-on-dark p, .fc-body .fc-page .fc-on-dark .elementor-heading-title { color:#fff !important; }
.fc-body .fc-mint .elementor-heading-title, .fc-body .fc-mint p { color:var(--fc-mint) !important; font-weight:600; }

/* ---------- Layout: Elementor-Container neutralisieren ---------- */
.fc-body .e-con.fc-page { --padding-top:0px; --padding-bottom:0px; --padding-left:0px; --padding-right:0px; --gap:0px; --row-gap:0px; --column-gap:0px; --margin-top:0px; --margin-bottom:0px; }
.fc-body .e-con.fc-section { padding:var(--fc-section) var(--fc-gutter); position:relative; }
.fc-body .e-con.fc-section--tint { background:var(--fc-tint); }
.fc-body .e-con.fc-section--petrol { background:var(--fc-petrol); }
.fc-body .e-con.fc-section--tight { padding-top:clamp(2.5rem,1.5rem + 3vw,4.5rem); padding-bottom:clamp(2.5rem,1.5rem + 3vw,4.5rem); }
.fc-body .e-con.fc-wrap, .fc-body .fc-wrap { width:100%; max-width:var(--fc-container); margin-inline:auto; --gap:1.25rem; --row-gap:1.25rem; gap:1.25rem; }
.fc-body .e-con.fc-wrap--wide { max-width:var(--fc-wide); }
.fc-body .e-con.fc-stack { --gap:1rem; --row-gap:1rem; gap:1rem; }
.fc-body .e-con.fc-row { --flex-direction:row; flex-direction:row; flex-wrap:wrap; --gap:.75rem; gap:.75rem; align-items:center; }

/* Muster „Titel links (rechtsbündig) – Text rechts“ (Bestand) */
.fc-body .e-con.fc-split { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem 4rem; align-items:start; }
@media (min-width:1024px) {
	.fc-body .e-con.fc-split { grid-template-columns:minmax(14rem,20rem) minmax(0,1fr); }
	.fc-body .e-con.fc-split > .fc-split__title { text-align:right; }
	.fc-body .e-con.fc-split > .fc-split__title .elementor-heading-title { text-align:right; }
}
.fc-body .e-con.fc-split > * { min-width:0; }

.fc-body .e-con.fc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr)); gap:1.5rem; }
.fc-body .e-con.fc-grid--2 { grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); }

/* ---------- Karten ---------- */
.fc-body .e-con.fc-card, .fc-card { background:#fff; border-radius:var(--fc-radius-card); box-shadow:var(--fc-shadow); padding:1.5rem; --gap:.6rem; gap:.6rem; }
.fc-body .e-con.fc-card--line { box-shadow:none; border:1px solid var(--fc-line); }

/* ---------- Hero & Bogenkante ---------- */
.fc-body .e-con.fc-hero { position:relative; color:#fff; padding:clamp(8rem,6rem + 8vw,12rem) var(--fc-gutter) clamp(6rem,4rem + 8vw,10rem); overflow:hidden; isolation:isolate; min-height:min(88vh,52rem); justify-content:center; }
.fc-body .e-con.fc-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,rgba(20,80,92,.92) 0%,rgba(20,80,92,.72) 45%,rgba(20,80,92,.25) 100%); }
.fc-body .e-con.fc-hero--sub { min-height:0; padding-top:clamp(8.5rem,7rem + 4vw,11rem); padding-bottom:clamp(4.5rem,3rem + 4vw,7rem); }
.fc-body .e-con.fc-hero--sub::before { background:linear-gradient(100deg,rgba(20,80,92,.94) 0%,rgba(20,80,92,.82) 60%,rgba(20,80,92,.55) 100%); }
.fc-body .fc-wave { position:relative; }
.fc-body .fc-wave::after { content:""; position:absolute; left:-5%; right:-5%; bottom:-1px; height:clamp(36px,6vw,110px); background:var(--fc-wave-to,#fff); border-radius:50% 50% 0 0 / 100% 100% 0 0; z-index:1; pointer-events:none; }
.fc-body .fc-wave--tint { --fc-wave-to:var(--fc-tint); }
.fc-body .fc-wave-top { position:relative; }
.fc-body .fc-wave-top::before { content:""; position:absolute; left:-5%; right:-5%; top:-1px; height:clamp(36px,6vw,90px); background:var(--fc-wave-from,#fff); border-radius:0 0 50% 50% / 0 0 100% 100%; z-index:1; pointer-events:none; }
.fc-body .e-con.fc-hero > * { position:relative; z-index:2; }
.fc-body .fc-comic { position:absolute !important; right:clamp(1rem,6vw,7rem); bottom:clamp(1.5rem,4vw,4rem); width:clamp(13rem,26vw,22rem) !important; z-index:3 !important; }
.fc-body .fc-comic img { border-radius:50%; border:8px solid #fff; box-shadow:0 18px 50px rgba(0,0,0,.18); width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
@media (max-width:1023px) { .fc-body .fc-comic { display:none !important; } }
.fc-body .fc-roundimg img { border-radius:50%; aspect-ratio:1/1; object-fit:cover; width:100%; height:auto; }

/* ---------- Buttons ---------- */
.fc-body .fc-page .elementor-widget-button .elementor-button, .fc-body .elementor-form .elementor-button, a.fc-btn, button.fc-btn {
	display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:48px; padding:.8rem 1.5rem; border-radius:999px;
	font:600 1rem/1.2 var(--fc-font); text-decoration:none !important; border:2px solid transparent; cursor:pointer;
	background:var(--fc-petrol); color:#fff !important; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.fc-body .fc-page .elementor-widget-button .elementor-button:hover, a.fc-btn:hover, button.fc-btn:hover { background:var(--fc-petrol-strong); }
.fc-body .fc-page .fc-btn--sun .elementor-button, a.fc-btn--sun { background:var(--fc-sun); color:var(--fc-petrol-strong) !important; }
.fc-body .fc-page .fc-btn--sun .elementor-button:hover, a.fc-btn--sun:hover { background:#FFCB55; }
.fc-body .fc-page .fc-btn--white .elementor-button, a.fc-btn--white { background:#fff; color:var(--fc-petrol-strong) !important; }
.fc-body .fc-page .fc-btn--outline .elementor-button, a.fc-btn--outline { background:transparent; border-color:var(--fc-petrol); color:var(--fc-petrol) !important; }
.fc-body .fc-page .fc-btn--outline .elementor-button:hover, a.fc-btn--outline:hover { background:var(--fc-petrol); color:#fff !important; }
.fc-body .fc-page .fc-btn--ghost .elementor-button, a.fc-btn--ghost { background:transparent; border-color:rgba(255,255,255,.7); color:#fff !important; }
.fc-body a.fc-btn--sm, .fc-body button.fc-btn--sm { min-height:40px; padding:.5rem 1rem; font-size:.9375rem; }
.fc-body .elementor-button .elementor-button-icon svg { width:1em; height:1em; fill:currentColor; }

/* Hinweisleiste (gelb, Bestand) */
.fc-body .e-con .fc-notice { background:var(--fc-sun); color:var(--fc-petrol-strong); border-radius:1rem; padding:1rem 1.25rem; max-width:44rem; }
.fc-body .fc-notice p, .fc-body .fc-notice a { color:var(--fc-petrol-strong) !important; font-weight:600; margin:0; }

/* ---------- Fokus & Barrierefreiheit ---------- */
.fc-body a:focus-visible, .fc-body button:focus-visible, .fc-body input:focus-visible, .fc-body select:focus-visible, .fc-body textarea:focus-visible, .fc-body summary:focus-visible, .fc-body [tabindex]:focus-visible {
	outline:none !important; box-shadow:var(--fc-focus) !important; border-radius:.5rem;
}
.fc-body .elementor-button:focus-visible, a.fc-btn:focus-visible { border-radius:999px; }
.fc-skip { position:absolute; left:1rem; top:-4rem; z-index:100000; background:#fff; color:var(--fc-petrol-strong); padding:.75rem 1rem; border-radius:.5rem; font-weight:700; text-decoration:none; }
.fc-skip:focus { top:1rem; }
.fc-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (prefers-reduced-motion:reduce) { .fc-body *, .fc-body *::before, .fc-body *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
.fc-body .elementor-invisible { visibility:visible !important; }
.fc-body .animated { animation:none !important; }

/* ---------- Header / Navigation (Shortcode [fc_header]) ---------- */
.fc-header { position:absolute; inset:0 0 auto 0; z-index:50; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:0 var(--fc-gutter) 0 0; height:auto; }
.fc-header__logo { --fc-logo-d:clamp(96px,2.5rem + 8.5vw,168px); position:relative; flex:none; display:flex; align-items:center; justify-content:center; width:var(--fc-logo-d); height:var(--fc-logo-d); margin:clamp(.75rem,.5rem + 1vw,1.25rem) 0 0 var(--fc-gutter); padding:0; border-radius:50%; background:#fff; align-self:flex-start; box-shadow:0 12px 32px rgba(10,40,48,.20),0 2px 6px rgba(10,40,48,.08); transition:transform .2s ease,box-shadow .2s ease; }
.fc-header__logo:hover { transform:scale(1.03); box-shadow:0 16px 40px rgba(10,40,48,.24),0 2px 6px rgba(10,40,48,.08); }
.fc-header__logo img { width:74%; max-width:none; height:auto; display:block; transform:translateY(2%); }
.fc-nav { display:none; }
.fc-nav ul { list-style:none; margin:0; padding:0; display:flex; gap:clamp(.75rem,1.6vw,1.75rem); }
.fc-nav a { color:#fff !important; text-decoration:none !important; font-weight:600; font-size:.98rem; padding:.6rem 0; border-bottom:2px solid transparent; }
.fc-nav a:hover, .fc-nav .current-menu-item > a, .fc-nav a[aria-current="page"] { border-color:var(--fc-sun); }
.fc-header__actions { display:flex; align-items:center; gap:.75rem; }
.fc-header__cta { display:none !important; }
.fc-menu-btn { display:inline-flex; align-items:center; gap:.5rem; min-height:48px; padding:.6rem 1.1rem; border-radius:999px; background:rgba(255,255,255,.14); color:#fff; border:1.5px solid rgba(255,255,255,.6); font:600 1rem/1 var(--fc-font); cursor:pointer; backdrop-filter:blur(4px); }
.fc-menu-btn svg { width:20px; height:20px; }
@media (min-width:1180px) {
	.fc-nav { display:block; }
	.fc-header__cta { display:inline-flex !important; }
	.fc-menu-btn { display:none; }
}
.fc-offcanvas { position:fixed; inset:0; z-index:100001; display:flex; justify-content:flex-end; background:rgba(10,30,30,.45); }
.fc-offcanvas[hidden] { display:none; }
.fc-offcanvas__panel { width:min(100%,30rem); height:100%; overflow:auto; background:linear-gradient(180deg,#1E6D46 0%,#5C9785 100%); color:#fff; padding:1.25rem 2rem 2.5rem; display:flex; flex-direction:column; gap:1.5rem; }
.fc-offcanvas__top { display:flex; justify-content:space-between; align-items:center; }
.fc-offcanvas__top img { width:150px; height:auto; }
.fc-offcanvas__close { width:48px; height:48px; border-radius:50%; border:1.5px solid rgba(255,255,255,.6); background:transparent; color:#fff; font-size:1.6rem; cursor:pointer; line-height:1; }
.fc-offcanvas ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.fc-offcanvas a { display:block; color:#fff !important; text-decoration:none !important; font-size:1.3rem; font-weight:700; padding:.65rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.fc-offcanvas .current-menu-item > a, .fc-offcanvas a[aria-current="page"] { color:var(--fc-sun) !important; }
.fc-offcanvas .sub-menu a { font-size:1.05rem; font-weight:600; padding-left:1rem; }
.fc-offcanvas__meta { margin-top:auto; font-size:.95rem; line-height:1.6; color:#fff; }
.fc-offcanvas__meta a { color:#fff !important; }
body.fc-noscroll { overflow:hidden; }

/* ---------- Brotkrumen ---------- */
.fc-crumbs { font-size:.875rem; color:rgba(255,255,255,.85); margin:0 0 .75rem; }
.fc-crumbs a { color:#fff !important; }
.fc-crumbs ol { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.4rem; }
.fc-crumbs li + li::before { content:"›"; margin-right:.4rem; opacity:.7; }

/* ---------- Chips ---------- */
.fc-chip { display:inline-flex; align-items:center; gap:.35rem; font-size:.8125rem; font-weight:700; line-height:1; border-radius:999px; padding:.45rem .75rem; background:var(--fc-ok-bg); color:var(--fc-brand-green); white-space:nowrap; }
.fc-chip--ok { background:var(--fc-ok-bg); color:var(--fc-brand-green); }
.fc-chip--on { background:var(--fc-info-bg); color:#0B4F86; }
.fc-chip--warn { background:var(--fc-warn-bg); color:var(--fc-warn); }
.fc-chip--off { background:#ECEFEE; color:#4A5552; }
.fc-chip--err { background:var(--fc-danger-bg); color:var(--fc-danger); }
.fc-chip--draft { background:#FFF0C2; color:#6A4B00; border:1px dashed #C9A23F; }

/* ---------- Filter ---------- */
.fc-filter { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.5rem; padding:0; list-style:none; }
.fc-filter a, .fc-filter button { display:inline-flex; align-items:center; min-height:44px; padding:.5rem 1rem; border-radius:999px; border:1.5px solid var(--fc-line); background:#fff; color:var(--fc-ink) !important; text-decoration:none !important; font:600 .9375rem/1 var(--fc-font); }
.fc-filter a[aria-current="true"] { background:var(--fc-petrol); border-color:var(--fc-petrol); color:#fff !important; }
@media (max-width:767px) { .fc-filter { flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(var(--fc-gutter) * -1); padding-inline:var(--fc-gutter); scrollbar-width:none; } .fc-filter a { white-space:nowrap; } }
.fc-search { display:flex; gap:.6rem; margin:0 0 1.25rem; }
.fc-search input { flex:1; min-height:48px; border:1.5px solid #C8D3CF; border-radius:.6rem; padding:.7rem 1rem; font:400 1rem var(--fc-font); background:#fff; color:var(--fc-ink); }
.fc-search input::placeholder { color:#6B6B6B; }

/* ---------- Terminliste ---------- */
.fc-events__month { font-size:1.25rem; font-weight:700; color:var(--fc-sage-text); margin:2rem 0 .25rem; letter-spacing:-.01em; }
.fc-events__month:first-child { margin-top:0; }
.fc-event { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem 1.25rem; align-items:center; padding:1.15rem 0; border-bottom:1px solid var(--fc-line); }
.fc-date { display:flex; flex-direction:column; align-items:center; justify-content:center; width:4.75rem; min-height:5rem; padding:.4rem; border-radius:.9rem; background:var(--fc-petrol); color:#fff; text-align:center; line-height:1; }
.fc-date b { font-size:1.75rem; font-weight:700; }
.fc-date span { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-top:.3rem; }
.fc-date small { font-size:.7rem; margin-top:.2rem; opacity:.9; }
.fc-event--past .fc-date, .fc-event--cancelled .fc-date { background:#7C8B88; }
.fc-event__title { margin:0 0 .3rem; font-size:1.15rem; line-height:1.3; font-weight:700; }
.fc-event__title a { color:var(--fc-ink) !important; text-decoration:none !important; }
.fc-event__title a:hover { color:var(--fc-petrol) !important; text-decoration:underline !important; }
.fc-event--cancelled .fc-event__title a { text-decoration:line-through !important; }
.fc-meta { font-size:.9375rem; color:var(--fc-ink-muted); line-height:1.5; margin:0; }
.fc-meta + .fc-meta { margin-top:.15rem; }
.fc-event__side { display:flex; flex-direction:column; align-items:flex-end; gap:.5rem; }
@media (max-width:767px) {
	.fc-event { grid-template-columns:auto minmax(0,1fr); align-items:start; }
	.fc-event__side { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; }
	.fc-date { width:4rem; min-height:4.4rem; }
	.fc-date b { font-size:1.45rem; }
}
.fc-empty { padding:1.5rem; border-radius:1rem; background:var(--fc-tint); color:var(--fc-ink); }
.fc-ical { margin-top:1.25rem; font-size:.9375rem; }

/* ---------- Downloads ---------- */
.fc-docs { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }
@media (min-width:1024px) { .fc-docs--nav { grid-template-columns:15rem minmax(0,1fr); } }
.fc-docnav { position:sticky; top:1.5rem; align-self:start; }
.fc-docnav ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.2rem; }
.fc-docnav a { display:flex; justify-content:space-between; gap:.5rem; padding:.7rem .9rem; border-radius:.6rem; color:var(--fc-ink) !important; text-decoration:none !important; font-weight:600; font-size:.95rem; }
.fc-docnav a:hover { background:var(--fc-tint); }
.fc-docnav a[aria-current="true"] { background:var(--fc-tint); color:var(--fc-petrol-strong) !important; box-shadow:inset 3px 0 0 var(--fc-petrol); }
.fc-docnav small { color:var(--fc-ink-muted); font-weight:600; }
@media (max-width:1023px) { .fc-docnav { position:static; } .fc-docnav ul { flex-direction:row; flex-wrap:nowrap; overflow-x:auto; gap:.5rem; } .fc-docnav a { white-space:nowrap; border:1.5px solid var(--fc-line); border-radius:999px; min-height:44px; align-items:center; } }
.fc-docgroup { margin:0 0 2.5rem; }
.fc-docgroup:last-child { margin-bottom:0; }
.fc-docgroup h2 { font-size:clamp(1.35rem,1.1rem + .9vw,1.75rem); color:var(--fc-sage-text); margin:0 0 .5rem; font-weight:700; letter-spacing:-.01em; scroll-margin-top:1.5rem; }
.fc-doc { display:grid; grid-template-columns:2.75rem minmax(0,1fr) auto; gap:.9rem 1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--fc-line); }
.fc-doc__icon { width:2.75rem; height:3.25rem; border-radius:.4rem; background:var(--fc-danger-bg); color:var(--fc-danger); font-size:.68rem; font-weight:800; display:flex; align-items:flex-end; justify-content:center; padding-bottom:.45rem; letter-spacing:.04em; position:relative; }
.fc-doc__icon::before { content:""; position:absolute; top:0; right:0; border-style:solid; border-width:0 .75rem .75rem 0; border-color:transparent #fff #E8C9C7 transparent; }
.fc-doc__icon--ext { background:#ECEFEE; color:#4A5552; }
.fc-doc__title { margin:0 0 .2rem; font-size:1.05rem; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.fc-doc__desc { margin:0 0 .2rem; font-size:.95rem; color:var(--fc-ink); }
.fc-doc__acts { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:flex-end; }
.fc-doc details { margin-top:.35rem; font-size:.875rem; }
.fc-doc summary { cursor:pointer; color:var(--fc-petrol); font-weight:600; }
.fc-doc details ul { margin:.4rem 0 0; padding-left:1.1rem; }
@media (max-width:767px) { .fc-doc { grid-template-columns:2.4rem minmax(0,1fr); } .fc-doc__acts { grid-column:1 / -1; justify-content:stretch; } .fc-doc__acts .fc-btn { flex:1; } }
.fc-hinweis { border-radius:1rem; padding:1rem 1.25rem; background:var(--fc-info-bg); color:#123C5C; font-size:.95rem; line-height:1.55; }
.fc-hinweis--warn { background:var(--fc-warn-bg); color:var(--fc-warn); }
.fc-hinweis--err { background:var(--fc-danger-bg); color:var(--fc-danger); }

/* ---------- Stellen ---------- */
.fc-jobs { display:grid; gap:1.25rem; }
.fc-job { background:#fff; border-radius:var(--fc-radius-card); box-shadow:var(--fc-shadow); padding:1.5rem; display:flex; flex-direction:column; gap:.55rem; }
.fc-job h3 { margin:0; font-size:1.25rem; line-height:1.3; }
.fc-job h3 a { color:var(--fc-petrol-strong) !important; text-decoration:none !important; }
.fc-job__acts { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.4rem; }

/* ---------- Personen / Partner ---------- */
.fc-person { text-align:center; }
.fc-person img { width:9.5rem !important; height:9.5rem !important; border-radius:50%; object-fit:cover; border:6px solid #fff; box-shadow:var(--fc-shadow); }
.fc-body .fc-logo-tile img { max-height:4.5rem; width:auto !important; object-fit:contain; filter:grayscale(.1); }

/* ---------- Formulare (Elementor Pro Form) ---------- */
.fc-body .elementor-form .elementor-field-group { margin-bottom:1.1rem; }
.fc-body .elementor-form .elementor-field-group > label, .fc-body .elementor-form .elementor-field-label { font:600 .9375rem/1.4 var(--fc-font) !important; color:var(--fc-ink) !important; text-transform:none !important; letter-spacing:0 !important; padding-bottom:.35rem !important; }
.fc-body .elementor-form .elementor-field-textual, .fc-body .elementor-form select, .fc-body .elementor-form textarea {
	min-height:48px; border:1.5px solid #C8D3CF !important; border-radius:.6rem !important; background:#fff !important; color:var(--fc-ink) !important; padding:.7rem 1rem !important; font:400 1rem/1.4 var(--fc-font) !important;
}
.fc-body .elementor-form .elementor-field-textual::placeholder { color:#6B6B6B !important; }
.fc-body .elementor-form .elementor-field-textual:focus { border-color:var(--fc-petrol) !important; }
.fc-body .elementor-form .elementor-field-subgroup .elementor-field-option label { font-size:1rem; }
.fc-body .elementor-form input[type=checkbox], .fc-body .elementor-form input[type=radio] { width:1.25rem; height:1.25rem; accent-color:var(--fc-petrol); vertical-align:middle; margin-right:.4rem; }
.fc-body .elementor-form .elementor-field-type-submit .elementor-button { width:auto; min-width:12rem; }
.fc-body .elementor-message { border-radius:.75rem; padding:.9rem 1.1rem; font-weight:600; }
.fc-body .elementor-message.elementor-message-danger { background:var(--fc-danger-bg); color:var(--fc-danger); }
.fc-body .elementor-message.elementor-message-success { background:var(--fc-ok-bg); color:var(--fc-brand-green); }
.fc-body .elementor-error .elementor-field-textual { border-color:var(--fc-danger) !important; }
.fc-body .e-con.fc-formcard { background:#fff; border-radius:1.25rem; box-shadow:0 18px 60px rgba(20,80,92,.14); padding:clamp(1.25rem,1rem + 2vw,2.75rem); }

/* ---------- Faktenbox Veranstaltung ---------- */
.fc-facts { display:grid; gap:.9rem; margin:0; padding:1.5rem; border-radius:1rem; background:#fff; box-shadow:var(--fc-shadow); }
.fc-facts div { display:grid; grid-template-columns:7.5rem minmax(0,1fr); gap:.75rem; }
.fc-facts dt { font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--fc-sage-text); margin:0; padding-top:.2rem; }
.fc-facts dd { margin:0; font-size:1.0625rem; line-height:1.5; }
@media (max-width:479px) { .fc-facts div { grid-template-columns:1fr; gap:.15rem; } }

/* ---------- Footer ---------- */
.fc-body .e-con.fc-footer { background:var(--fc-petrol); color:#fff; padding:clamp(5rem,4rem + 4vw,8rem) var(--fc-gutter) 2rem; position:relative; }
.fc-body .e-con.fc-footer::before { content:""; position:absolute; left:-5%; right:-5%; top:-1px; height:clamp(36px,5vw,80px); background:var(--fc-wave-from,#fff); border-radius:0 0 50% 50% / 0 0 100% 100%; }
.fc-body .fc-footer p, .fc-body .fc-footer li, .fc-body .fc-footer a, .fc-body .fc-footer .elementor-heading-title { color:#fff !important; font-size:.98rem; line-height:1.7; }
.fc-body .fc-footer .elementor-heading-title { font-size:.8125rem !important; text-transform:uppercase; letter-spacing:.12em; font-weight:700; opacity:.85; }
.fc-body .fc-footer ul { list-style:none; padding:0; margin:0; }
.fc-body .fc-footer a { text-decoration:none !important; }
.fc-body .fc-footer a:hover { text-decoration:underline !important; }
.fc-body .e-con.fc-footer__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:2rem; }
.fc-body .fc-footer__legal { border-top:1px solid rgba(255,255,255,.25); padding-top:1.25rem; margin-top:1.5rem; }
.fc-body .fc-footer__legal p { font-size:.875rem !important; }
.fc-body .fc-footer img { max-width:180px; height:auto; }

/* ---------- Detailseiten (Termin/Download/Stelle) ---------- */
.fc-single { padding:var(--fc-section) var(--fc-gutter); }
.fc-single__grid { max-width:var(--fc-container); margin:0 auto; display:grid; gap:2.5rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:1024px) { .fc-single__grid { grid-template-columns:minmax(0,1fr) 22rem; align-items:start; } .fc-single__aside { position:sticky; top:1.5rem; } }
.fc-single__body { font-size:1.0625rem; line-height:1.65; }
.fc-single__body p { max-width:68ch; }
.fc-sticky-cta { display:none; }
@media (max-width:767px) { .fc-sticky-cta { display:flex; position:sticky; bottom:0; z-index:40; background:#fff; border-top:1px solid var(--fc-line); padding:.75rem var(--fc-gutter); } .fc-sticky-cta .fc-btn { flex:1; } }
.fc-hero-plain { background:var(--fc-petrol); color:#fff; padding:clamp(8.5rem,7rem + 4vw,11rem) var(--fc-gutter) clamp(3.5rem,2.5rem + 3vw,5.5rem); position:relative; }
.fc-hero-plain h1 { font-size:clamp(2rem,1.3rem + 2.8vw,3.4rem); line-height:1.08; margin:.5rem 0 0; color:#fff; font-weight:700; letter-spacing:-.02em; max-width:22ch; }
.fc-hero-plain__inner { max-width:var(--fc-container); margin:0 auto; }

/* ---------- Entwurfsmarkierung (nur für eingeloggte Redakteure sichtbar) ---------- */
.fc-draft-flag { position:fixed; left:1rem; bottom:1rem; z-index:99999; background:#FFF0C2; color:#6A4B00; border:1px dashed #C9A23F; padding:.5rem .8rem; border-radius:.5rem; font:600 .8rem/1.2 var(--fc-font); }

/* ---------- Ergänzungen ---------- */
.fc-body .e-con.fc-headerwrap { --min-height:0px; min-height:0; height:0; padding:0; overflow:visible; z-index:60; }
.fc-body .fc-prose { max-width:52rem; }
.fc-body .fc-prose-text, .fc-body .fc-prose-text p { font-size:1rem; line-height:1.7; white-space:normal; }
.fc-body .fc-prose-text strong { color:var(--fc-petrol-strong); }
.fc-body .fc-flyerimg img { width:100%; height:auto; max-width:30rem; filter:drop-shadow(0 18px 30px rgba(0,0,0,.12)); }
.fc-body .fc-groupimg img { width:100%; height:auto; border-radius:1rem; }
.fc-body .fc-footer-logo img { width:170px; height:auto; }
.fc-body .e-con.fc-card.fc-person { align-items:center; text-align:center; }
.fc-body .fc-person img { width:9.5rem; height:9.5rem; border-radius:50%; object-fit:cover; border:6px solid #fff; box-shadow:var(--fc-shadow); }
.fc-body .e-con.fc-stack > .elementor-widget, .fc-body .e-con.fc-stack > .e-con { width:100%; }
.fc-body .e-con.fc-row > .elementor-widget { width:auto; }
.fc-body .elementor-widget-text-editor ul { padding-left:1.2rem; margin:0 0 1em; }
.fc-body .elementor-widget-text-editor li { margin:.25rem 0; }
.fc-body .fc-hero .fc-crumbs, .fc-body .fc-hero .fc-crumbs a { color:#fff !important; }
.fc-body .elementor-widget-shortcode, .fc-body .elementor-shortcode { width:100%; }

.fc-docs > *, .fc-docnav { min-width:0; }
.fc-body .fc-page .fc-split__title .elementor-heading-title { hyphens:auto; -webkit-hyphens:auto; overflow-wrap:break-word; }
.fc-body .fc-page .elementor-widget-button { width:auto; }
.fc-body .fc-page .fc-footer .elementor-widget-heading .elementor-heading-title { color:#fff; font-size:.8125rem; text-transform:uppercase; letter-spacing:.12em; }
.fc-body .fc-page .fc-card .elementor-widget-button .elementor-button { min-height:44px; padding:.6rem 1.1rem; font-size:.95rem; }
.fc-search input { min-width:0; } .fc-search .fc-btn { flex:none; }
.fc-body .fc-footer .elementor-widget-text-editor ul { padding:0; list-style:none; margin:0; }


/* =====================================================================
   v1.3 – Feinschliff: 8-pt-Raster, ruhigere Heros, SVG-Bögen, Rechtstexte, Partner
   ===================================================================== */
.fc-body { --fc-wave-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120V66C236 24 520 2 800 4c262 2 474 24 640 58v58z'/%3E%3C/svg%3E"); }
/* Navigation & Aktionen auf Höhe der Logomitte oben */
.fc-nav, .fc-header__actions { margin-top:clamp(1.25rem,.75rem + 1.6vw,2rem); }

/* Hero: mehr Luft oben (Platz für Logo-Kreis) und unten (über dem Bogen) */
.fc-body .e-con.fc-hero { padding-top:clamp(10rem,7rem + 9vw,15rem); padding-bottom:clamp(8rem,5rem + 9vw,14rem); min-height:min(100svh,58rem); }
.fc-body .e-con.fc-hero--sub { min-height:0; padding-top:clamp(9.5rem,7rem + 8vw,15rem); padding-bottom:clamp(7rem,4.5rem + 8vw,12rem); }
.fc-body .e-con.fc-hero .e-con.fc-stack { --gap:1.5rem; --row-gap:1.5rem; gap:1.5rem; }
.fc-body .e-con.fc-hero .e-con.fc-row { margin-top:.5rem; --gap:1rem; gap:1rem; }
.fc-body .fc-hero .fc-notice { margin-top:.5rem; }
.fc-body .fc-hero .fc-crumbs { margin:0; }
.fc-hero-plain { padding-top:clamp(9.5rem,7rem + 8vw,15rem); padding-bottom:clamp(6rem,4rem + 6vw,9rem); }

/* Bögen: durchgehende SVG-Kurve statt Ellipse (keine Kanten am Rand) */
.fc-body .fc-wave::after { left:0; right:0; bottom:-1px; height:clamp(40px,2rem + 4vw,112px); border-radius:0; -webkit-mask:var(--fc-wave-svg) center bottom/100% 100% no-repeat; mask:var(--fc-wave-svg) center bottom/100% 100% no-repeat; }
.fc-body .fc-wave-top::before { left:0; right:0; top:-1px; height:clamp(40px,2rem + 3.5vw,96px); border-radius:0; transform:scaleY(-1); -webkit-mask:var(--fc-wave-svg) center bottom/100% 100% no-repeat; mask:var(--fc-wave-svg) center bottom/100% 100% no-repeat; }
.fc-body .e-con.fc-footer { padding-top:clamp(6.5rem,4.5rem + 6vw,10rem); overflow:hidden; }
.fc-body .e-con.fc-footer::before { left:0; right:0; top:-1px; height:clamp(40px,2rem + 3.5vw,96px); border-radius:0; transform:scaleY(-1); -webkit-mask:var(--fc-wave-svg) center bottom/100% 100% no-repeat; mask:var(--fc-wave-svg) center bottom/100% 100% no-repeat; pointer-events:none; }
.fc-body:has(#fc-main > .fc-section--tint:last-child) .fc-footer { --fc-wave-from:var(--fc-tint); }

/* Brotkrumen im Hero: aktuelle Seite weiß statt grau (Kontrast) */
.fc-body .fc-page .fc-crumbs li, .fc-body .fc-crumbs li { font-size:.9375rem; line-height:1.4; margin:0; color:rgba(255,255,255,.92) !important; }
.fc-body .fc-crumbs li[aria-current] { font-weight:600; }

/* ---------- Rechtstexte (Impressum, Datenschutz) ---------- */
.fc-body .e-con.fc-legal { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; align-items:start; }
@media (min-width:1024px) { .fc-body .e-con.fc-legal { grid-template-columns:16rem minmax(0,1fr); gap:3.5rem; } .fc-body .fc-legal__toc { position:sticky; top:2rem; } }
.fc-body .fc-legal > * { min-width:0; }
.fc-legal-toc { background:#fff; border:1px solid var(--fc-line); border-radius:1rem; padding:1.25rem 1.5rem; }
.fc-legal-toc__title { font-size:.8125rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-sage-text); margin:0 0 .75rem; }
.fc-body .fc-page .fc-legal-toc ol { list-style:none; margin:0; padding:0; counter-reset:fctoc; display:grid; gap:.125rem; }
.fc-body .fc-page .fc-legal-toc li { hyphens:auto; -webkit-hyphens:auto; overflow-wrap:break-word; counter-increment:fctoc; font-size:.9375rem; line-height:1.35; margin:0; }
.fc-body .fc-page .fc-legal-toc a { display:flex; gap:.625rem; padding:.375rem 0; color:var(--fc-ink) !important; text-decoration:none !important; }
.fc-body .fc-page .fc-legal-toc a::before { content:counter(fctoc); flex:none; min-width:1.25rem; font-weight:700; color:var(--fc-sage-text); }
.fc-body .fc-page .fc-legal-toc a:hover { color:var(--fc-petrol) !important; text-decoration:underline !important; }
.fc-body .e-con.fc-legal__main { display:flex; flex-direction:column; --gap:1.25rem; --row-gap:1.25rem; gap:1.25rem; counter-reset:fclegal; max-width:50rem; }
.fc-body .e-con.fc-legal-card { background:#fff; border:1px solid var(--fc-line); border-radius:1rem; padding:clamp(1.5rem,1rem + 1.6vw,2.5rem); --gap:1rem; --row-gap:1rem; gap:1rem; scroll-margin-top:2rem; }
.fc-body .fc-page .fc-legal-card .fc-legal-h .elementor-heading-title { font-family:var(--fc-font); font-weight:700; display:flex; align-items:center; gap:.875rem; font-size:clamp(1.1875rem,1.05rem + .5vw,1.4375rem); line-height:1.25; color:var(--fc-petrol-strong); }
.fc-body .fc-page .fc-legal__main .fc-legal-h .elementor-heading-title::before { counter-increment:fclegal; content:counter(fclegal); flex:none; display:inline-grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--fc-sun); color:var(--fc-petrol-strong); font-size:.9375rem; font-weight:700; }
.fc-body .fc-legal-card .elementor-widget-text-editor, .fc-body .fc-legal-card .elementor-widget-text-editor p, .fc-body .fc-legal-card .elementor-widget-text-editor li { font-size:1rem; line-height:1.7; }
.fc-body .fc-legal-card .elementor-widget-text-editor p { max-width:70ch; margin:0 0 .875em; }
.fc-body .fc-legal-card .elementor-widget-text-editor h3 { font-size:1rem; font-weight:700; color:var(--fc-petrol-strong); margin:1.5rem 0 .5rem; line-height:1.4; }
.fc-body .fc-legal-card .elementor-widget-text-editor h3:first-child { margin-top:0; }
.fc-body .fc-legal-card .elementor-widget-text-editor ul { margin:0 0 .875em; padding-left:1.25rem; }
.fc-body .fc-legal-card .elementor-widget-text-editor li::marker { color:var(--fc-sage); }
.fc-body .fc-legal-card .elementor-widget-text-editor > *:last-child, .fc-body .fc-legal-card .elementor-widget-text-editor > div > *:last-child { margin-bottom:0; }
.fc-legal-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1rem; }
.fc-legal-fact { background:var(--fc-tint); border-radius:.75rem; padding:1.25rem 1.25rem 1.125rem; }
.fc-body .fc-page .fc-legal-fact p { margin:0; font-size:1rem; line-height:1.6; max-width:none; }
.fc-legal-fact__label { display:block; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-sage-text); margin-bottom:.375rem; }
.fc-legal-meta { font-size:.875rem; color:var(--fc-ink-muted); }
.fc-body .fc-page .fc-legal-meta p { font-size:.875rem; color:var(--fc-ink-muted); margin:0; }

/* ---------- Partner (Shortcode [fc_partner]) ---------- */
.fc-body .fc-page ul.fc-partners, .fc-partners { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr)); gap:1.5rem; }
.fc-partner { display:flex; flex-direction:column; background:#fff; border:1px solid var(--fc-line); border-radius:1rem; overflow:hidden; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.fc-partner:hover { border-color:#B9CCC7; box-shadow:var(--fc-shadow); transform:translateY(-2px); }
.fc-partner__logo { display:flex; align-items:center; justify-content:center; height:9.5rem; padding:1rem 1.5rem; background:#fff; border-bottom:1px solid var(--fc-line); text-decoration:none !important; }
.fc-partner__logo img { display:block; width:100%; height:100%; max-width:13rem; object-fit:contain; }
@media (max-width:599px) { .fc-partner__logo { height:8rem; } }
.fc-body .fc-page .fc-partners > li { margin:0; }
.fc-partner__body { display:flex; flex-direction:column; gap:.5rem; padding:1.25rem 1.5rem 1.5rem; flex:1; }
.fc-body .fc-page .fc-partner__name, .fc-partner__name { margin:0; font-size:1.125rem; line-height:1.3; font-weight:700; color:var(--fc-petrol-strong); }
.fc-body .fc-page .fc-partner__firma, .fc-partner__firma { margin:0; font-size:.9375rem; line-height:1.5; color:var(--fc-ink-muted); }
.fc-body .fc-page .fc-partner__text, .fc-partner__text { margin:0; font-size:.9375rem; line-height:1.6; }
.fc-partner__link { margin-top:auto; padding-top:.5rem; font-size:.9375rem; font-weight:600; display:inline-flex; align-items:center; gap:.375rem; }
.fc-partner__link svg { width:.875em; height:.875em; flex:none; }
@media (prefers-reduced-motion:reduce) { .fc-partner:hover, .fc-header__logo:hover { transform:none; } }
