.elementor-kit-6{--e-global-color-primary:#323B3E;--e-global-color-secondary:#000000;--e-global-color-text:#00000099;--e-global-color-accent:#6AAF3D;--e-global-color-421c599:#6AAF3D;--e-global-color-6982605:#FFFFFF99;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:3rem;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-font-style:italic;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#EEEFEA;color:var( --e-global-color-v4-black-60 );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-6 h1{font-family:var( --e-global-typography-v4-ds-type-h2-font-family ), Sans-serif;font-size:var( --e-global-typography-v4-ds-type-h2-font-size );font-weight:var( --e-global-typography-v4-ds-type-h2-font-weight );text-transform:var( --e-global-typography-v4-ds-type-h2-text-transform );font-style:var( --e-global-typography-v4-ds-type-h2-font-style );line-height:var( --e-global-typography-v4-ds-type-h2-line-height );}.elementor-kit-6 h2{font-family:var( --e-global-typography-v4-ds-type-h3-font-family ), Sans-serif;font-size:var( --e-global-typography-v4-ds-type-h3-font-size );font-weight:var( --e-global-typography-v4-ds-type-h3-font-weight );text-transform:var( --e-global-typography-v4-ds-type-h3-text-transform );font-style:var( --e-global-typography-v4-ds-type-h3-font-style );line-height:var( --e-global-typography-v4-ds-type-h3-line-height );}.elementor-kit-6 h3{font-family:var( --e-global-typography-v4-ds-type-h4-font-family ), Sans-serif;font-size:var( --e-global-typography-v4-ds-type-h4-font-size );font-weight:var( --e-global-typography-v4-ds-type-h4-font-weight );text-transform:var( --e-global-typography-v4-ds-type-h4-text-transform );font-style:var( --e-global-typography-v4-ds-type-h4-font-style );line-height:var( --e-global-typography-v4-ds-type-h4-line-height );}.elementor-kit-6 h4{font-family:var( --e-global-typography-v4-ds-type-h5-font-family ), Sans-serif;font-size:var( --e-global-typography-v4-ds-type-h5-font-size );font-weight:var( --e-global-typography-v4-ds-type-h5-font-weight );text-transform:var( --e-global-typography-v4-ds-type-h5-text-transform );font-style:var( --e-global-typography-v4-ds-type-h5-font-style );}.elementor-kit-6 h5{font-family:var( --e-global-typography-v4-ds-type-h6-font-family ), Sans-serif;font-size:var( --e-global-typography-v4-ds-type-h6-font-size );font-weight:var( --e-global-typography-v4-ds-type-h6-font-weight );text-transform:var( --e-global-typography-v4-ds-type-h6-text-transform );font-style:var( --e-global-typography-v4-ds-type-h6-font-style );letter-spacing:var( --e-global-typography-v4-ds-type-h6-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 h1{font-size:var( --e-global-typography-v4-ds-type-h2-font-size );line-height:var( --e-global-typography-v4-ds-type-h2-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-v4-ds-type-h3-font-size );line-height:var( --e-global-typography-v4-ds-type-h3-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-v4-ds-type-h4-font-size );line-height:var( --e-global-typography-v4-ds-type-h4-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-v4-ds-type-h5-font-size );}.elementor-kit-6 h5{font-size:var( --e-global-typography-v4-ds-type-h6-font-size );letter-spacing:var( --e-global-typography-v4-ds-type-h6-letter-spacing );}}@media(max-width:1024px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 h1{font-size:var( --e-global-typography-v4-ds-type-h2-font-size );line-height:var( --e-global-typography-v4-ds-type-h2-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-v4-ds-type-h3-font-size );line-height:var( --e-global-typography-v4-ds-type-h3-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-v4-ds-type-h4-font-size );line-height:var( --e-global-typography-v4-ds-type-h4-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-v4-ds-type-h5-font-size );}.elementor-kit-6 h5{font-size:var( --e-global-typography-v4-ds-type-h6-font-size );letter-spacing:var( --e-global-typography-v4-ds-type-h6-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-6 h1{font-size:var( --e-global-typography-v4-ds-type-h2-font-size );line-height:var( --e-global-typography-v4-ds-type-h2-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-v4-ds-type-h3-font-size );line-height:var( --e-global-typography-v4-ds-type-h3-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-v4-ds-type-h4-font-size );line-height:var( --e-global-typography-v4-ds-type-h4-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-v4-ds-type-h5-font-size );}.elementor-kit-6 h5{font-size:var( --e-global-typography-v4-ds-type-h6-font-size );letter-spacing:var( --e-global-typography-v4-ds-type-h6-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --TVF-Green:#6cc24a; --spacing-20px:20px; --black-80:#000000cc; --black-60:#00000099; --grey:#313B3C; --TVF-White:#ffffff; --grey-light:#D9D9D9; --TVF-Dark_Text:#263238; --TVF-Muted_Text:#5F6B71; --TVF-Surface_Light:#D9D9D9; --TVF-Dark_Surface:#2F3A3B; --white-60:#ffffff99; --TVF-Sand-Grey:#E4E5E0; --TVF-light-green:#6cc24a1a; }
/* Start custom CSS *//* ===== TVF Jahresarchiv (Sidebar) ===== */
.tvf-jahresarchiv {
	background: var(--TVF-White);
	padding: 1.25rem 1.25rem 1.5rem;
}

.tvf-jahresarchiv__titel {
	color: var(--TVF-Green) !important;
	margin: 0 0 0.75rem !important;
}

.tvf-jahresarchiv__liste {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid var(--TVF-Sand-Grey);
}

.tvf-jahresarchiv__liste li {
	margin: 0 !important;
	border-bottom: 1px solid var(--TVF-Sand-Grey);
}

.tvf-jahresarchiv__link {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	padding: 0.75rem 0.875rem;
	border-left: 3px solid transparent;
	color: var(--TVF-Dark_Text) !important;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.tvf-jahresarchiv__anzahl {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--TVF-Muted_Text);
}

.tvf-jahresarchiv__link:hover,
.tvf-jahresarchiv__link:focus-visible {
	background: var(--TVF-light-green);
}

/* Aktives Jahr */
.tvf-jahresarchiv__link.is-active {
	background: var(--TVF-Sand-Grey);
	border-left-color: var(--TVF-Green);
	color: var(--TVF-Green) !important;
}


/* ==== TVF – Pagination  ==== */

/* Wrapper: zentriert, gleichmäßiger Abstand statt Elementor-Margins */
.tvf-pagination .elementor-pagination {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .375rem;
  margin-top: 3rem;               /* Abstand zum Grid – bei Bedarf anpassen */
}

/* Einzelne Buttons */
.tvf-pagination .elementor-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0 .75rem;
  margin: 0 !important;           /* überschreibt Elementors 5px-Margins */
  background-color: var(--TVF-White, #fff);
  color: var(--TVF-Dark_Text, #263238);
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  border-radius: 0;
  transition: background-color .2s ease, color .2s ease;
}

/* Hover & Tastatur-Fokus */
.tvf-pagination .elementor-pagination a.page-numbers:hover,
.tvf-pagination .elementor-pagination a.page-numbers:focus-visible {
  background-color: var(--TVF-Sand-Grey, #E4E5E0);
  color: var(--TVF-Dark_Text, #263238);
}
.tvf-pagination .elementor-pagination a.page-numbers:focus-visible {
  outline: 2px solid var(--TVF-Green, #6cc24a);
  outline-offset: 2px;
}

/* Aktive Seite */
.tvf-pagination .elementor-pagination .page-numbers.current {
  background-color: var(--TVF-Dark_Text, #263238) !important;
  color: var(--TVF-White, #fff) !important;
}

/* Pfeile etwas größer */
.tvf-pagination .elementor-pagination .page-numbers.prev,
.tvf-pagination .elementor-pagination .page-numbers.next {
  font-size: 1.25rem;
}

/* Deaktivierte Pfeile ausblenden (z. B. "‹" auf Seite 1) */
.tvf-pagination .elementor-pagination span.page-numbers.prev,
.tvf-pagination .elementor-pagination span.page-numbers.next {
  display: none !important;
}

/* "…" bei vielen Seiten ohne Box */
.tvf-pagination .elementor-pagination .page-numbers.dots {
  background-color: transparent;
  min-width: auto;
  padding: 0 .25rem;
}

/* ══ TVF · Fluent Forms – globales Styling für alle Formulare ══
   Gilt für jedes Fluent-Forms-Formular der Website.
   Präfix mit 4x .fluentform = höhere Spezifität als der Fluent-Forms-Styler
   (z. B. ".fluentform_wrapper_5.ffs_custom_wrap ..."), damit dieses CSS gewinnt.
   Optional: Klasse "tvf-ff-breit" am Widget = Button volle Breite. */

body .fluentform.fluentform.fluentform.fluentform {
  --tvf-gruen: var(--TVF-Green, #6cc24a);
  --tvf-gruen-dunkel: #4E8B2C;
  --tvf-dunkel: var(--TVF-Dark_Text, #263238);
  --tvf-text: #3F4446;
  --tvf-feld: #F4F5F1;
  --tvf-rand: #D5D8D2;
  --tvf-fehler: #B3261E;
  font-family: Inter, sans-serif;
  background: transparent;
  padding: 0;
}
body .fluentform.fluentform.fluentform.fluentform form { background: transparent; padding: 0; }

/* Raster */
body .fluentform.fluentform.fluentform.fluentform .ff-el-group { margin-bottom: 22px; }
body .fluentform.fluentform.fluentform.fluentform .ff-t-container { gap: 20px; }
body .fluentform.fluentform.fluentform.fluentform .ff-t-cell { padding: 0 !important; }

/* Labels */
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--label { margin-bottom: 8px; }
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--label label {
  font-size: .875rem; font-weight: 600; line-height: 1.3; color: var(--tvf-dunkel);
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-is-required.asterisk-right label::after { color: var(--tvf-gruen-dunkel); }

/* Eingabefelder */
body .fluentform.fluentform.fluentform.fluentform .ff-el-form-control,
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content input:not([type=checkbox]):not([type=radio]),
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content select,
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content textarea {
  width: 100%; min-height: 52px; padding: 0 16px;
  background: var(--tvf-feld); border: 1px solid var(--tvf-rand); border-bottom-width: 2px;
  border-radius: 0; box-shadow: none;
  font-family: inherit; font-size: 1rem; color: var(--tvf-dunkel);
  transition: border-color .15s, background .15s, box-shadow .15s;
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content textarea { min-height: 160px; padding: 14px 16px; line-height: 1.5; resize: vertical; }
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content input::placeholder,
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content textarea::placeholder { color: #7C868A; opacity: 1; }
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content input:not([type=checkbox]):not([type=radio]):focus,
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content select:focus,
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content textarea:focus {
  outline: none; background: #fff; border-color: var(--tvf-gruen);
  box-shadow: 0 0 0 3px rgba(108, 194, 74, .25);
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content select {
  appearance: none; padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23263238' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}

/* Fehler */
body .fluentform.fluentform.fluentform.fluentform .ff-el-group.ff-el-is-error .ff-el-input--content input:not([type=checkbox]):not([type=radio]),
body .fluentform.fluentform.fluentform.fluentform .ff-el-is-error .ff-el-input--content select,
body .fluentform.fluentform.fluentform.fluentform .ff-el-is-error .ff-el-input--content textarea { background: #FDF3F2; border-color: var(--tvf-fehler); }
body .fluentform.fluentform.fluentform.fluentform .ff-el-input--content .error,
body .fluentform.fluentform.fluentform.fluentform .error.text-danger { margin-top: 6px; font-size: .8125rem; font-weight: 600; color: var(--tvf-fehler); }
body .fluentform.fluentform.fluentform.fluentform .ff-errors-in-stack { color: var(--tvf-fehler); }

/* Checkbox (Datenschutz) */
body .fluentform.fluentform.fluentform.fluentform .ff-el-form-check { margin-bottom: 0; }
body .fluentform.fluentform.fluentform.fluentform .ff-el-form-check-label {
  display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start;
  font-size: .9375rem; font-weight: 400; line-height: 1.55; color: var(--tvf-text);
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-group input[type=checkbox],
body .fluentform.fluentform.fluentform.fluentform .ff-el-form-check-input {
  appearance: none; -webkit-appearance: none;
  width: 22px; height: 22px; min-height: 0; margin: 1px 0 0; padding: 0;
  border: 2px solid var(--tvf-dunkel); border-radius: 0; background: #fff; cursor: pointer;
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-group input[type=checkbox]:checked,
body .fluentform.fluentform.fluentform.fluentform .ff-el-form-check-input:checked {
  background: var(--tvf-gruen) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' fill='none' stroke='%23fff' stroke-width='2.4'%3E%3Cpath d='M1 5l3.5 3.5L11 1'/%3E%3C/svg%3E") center / 12px no-repeat;
  border-color: var(--tvf-gruen);
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-group input[type=checkbox]:focus-visible { outline: 3px solid rgba(108, 194, 74, .4); outline-offset: 2px; }
body .fluentform.fluentform.fluentform.fluentform .ff-el-is-error input[type=checkbox] { border-color: var(--tvf-fehler); }
body .fluentform.fluentform.fluentform.fluentform .ff-el-form-check-label a { color: var(--tvf-gruen-dunkel); font-weight: 600; text-decoration: underline; }

/* Radio-Buttons (z. B. Mitgliedsantrag): rund, ausgewählt mit grünem Punkt */
body .fluentform.fluentform.fluentform.fluentform .ff-el-group input[type=radio],
body .fluentform.fluentform.fluentform.fluentform input[type=radio].ff-el-form-check-input {
  appearance: none; -webkit-appearance: none;
  width: 22px; height: 22px; min-height: 0; margin: 1px 0 0; padding: 0;
  border: 2px solid var(--tvf-dunkel); border-radius: 50%; background: #fff; cursor: pointer;
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-group input[type=radio]:checked,
body .fluentform.fluentform.fluentform.fluentform input[type=radio].ff-el-form-check-input:checked {
  background: #fff radial-gradient(circle, var(--tvf-gruen) 0 5px, transparent 6px);
  border-color: var(--tvf-gruen);
}
body .fluentform.fluentform.fluentform.fluentform .ff-el-group input[type=radio]:focus-visible { outline: 3px solid rgba(108, 194, 74, .4); outline-offset: 2px; }
body .fluentform.fluentform.fluentform.fluentform .ff-el-is-error input[type=radio] { border-color: var(--tvf-fehler); }

/* Senden-Button */
body .fluentform.fluentform.fluentform.fluentform .ff_submit_btn_wrapper { margin-bottom: 0; }
body .fluentform.fluentform.fluentform.fluentform .ff_submit_btn_wrapper .ff-btn-submit,
body .fluentform.fluentform.fluentform.fluentform .ff-btn-submit {
  display: inline-flex; align-items: center; justify-content: center;
  height: 54px; padding: 0 34px;
  background: var(--tvf-gruen) !important; border: 0 !important; border-radius: 999px !important;
  font-family: inherit; font-size: 1rem; font-weight: 700; color: #fff !important;
  cursor: pointer; transition: background .15s; box-shadow: none;
}
body .fluentform.fluentform.fluentform.fluentform .ff-btn-submit::after { content: "→"; margin-left: 8px; }
body .fluentform.fluentform.fluentform.fluentform .ff_submit_btn_wrapper .ff-btn-submit:hover,
body .fluentform.fluentform.fluentform.fluentform .ff_submit_btn_wrapper .ff-btn-submit:focus-visible { background: var(--tvf-dunkel) !important; color: #fff !important; }
.tvf-ff-breit body .fluentform.fluentform.fluentform.fluentform .ff-btn-submit { width: 100%; height: 58px; }

/* Danke-Meldung */
body .fluentform.fluentform.fluentform.fluentform .ff-message-success {
  position: relative; padding: 20px 22px 20px 26px;
  background: #EEF6E8; border: 0; box-shadow: none;
  font-size: 1rem; line-height: 1.55; color: var(--tvf-text);
}
body .fluentform.fluentform.fluentform.fluentform .ff-message-success::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--tvf-gruen); }

/* Mobil */
@media (max-width: 767px) {
  body .fluentform.fluentform.fluentform.fluentform .ff-t-container { flex-direction: column; gap: 0; }
  body .fluentform.fluentform.fluentform.fluentform .ff-t-cell { width: 100% !important; flex-basis: 100% !important; }
  body .fluentform.fluentform.fluentform.fluentform .ff-btn-submit { width: 100%; }
}
/* ══ Ende TVF · Fluent Forms ══ */

/* ══ TVF · Probetraining-Popups (Formular 3 + 4) – kompakt, mehrspaltig ══
   Nur Layout/Abstände. Felder, Namen, Reihenfolge und Custom Code bleiben unverändert. */
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 16px;
  margin: 0; padding: 0; border: 0; min-width: 0;
}
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > legend { grid-column: 1 / -1; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group,
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-field_container { grid-column: span 2; margin-bottom: 14px; min-width: 0; }
/* volle Breite: Hinweise, Bemerkungen, Checkboxen, Datenschutz, Button */
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group.ff-custom_html,
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group:has(textarea),
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group:has(input[type=checkbox]),
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group.ff-text-left,
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff_submit_btn_wrapper { grid-column: 1 / -1; }
/* Formular 4: Geburtsjahr schmal, daneben Sportwelt + Sportangebot */
body .fluentform.fluentform.fluentform.fluentform.fluentform_wrapper_4 fieldset > .ff-el-group:has(input[name="input_text_2"]) { grid-column: span 1; }
body .fluentform.fluentform.fluentform.fluentform.fluentform_wrapper_4 fieldset > .ff-chained-select-field-wrapper { grid-column: span 3; }
body .fluentform.fluentform.fluentform.fluentform.fluentform_wrapper_4 .ff-chained-select-field-wrapper .ff-el-group { margin-bottom: 0; }
body .fluentform.fluentform.fluentform.fluentform.fluentform_wrapper_4 .ff-chained-select-field-wrapper .ff-t-container { gap: 16px; }

body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--label { margin-bottom: 6px; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--label label { font-size: .8125rem; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--content input:not([type=checkbox]):not([type=radio]),
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--content select { min-height: 46px; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--content textarea { min-height: 84px; height: 84px; padding: 10px 14px; }

/* Hinweisboxen (Custom HTML) kompakter */
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-custom_html { font-size: .8125rem; line-height: 1.5; color: var(--tvf-text); }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-custom_html p { margin: 0; }

/* Checkbox-Texte etwas kleiner */
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-form-check-label { font-size: .875rem; line-height: 1.5; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-form-check { margin-bottom: 6px; }

body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff_submit_btn_wrapper .ff-btn-submit { height: 50px; }

@media (max-width: 1024px) {
  body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset { grid-template-columns: 1fr; }
  body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > * { grid-column: 1 / -1 !important; }
}

/* Höhe sparen: Felder kompakter, Hinweis + Button nebeneinander */
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group,
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-field_container { margin-bottom: 12px; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--label { margin-bottom: 4px; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--content input:not([type=checkbox]):not([type=radio]),
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--content select { min-height: 42px; height: 42px; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-input--content textarea { min-height: 62px; height: 62px; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-form-check-label { font-size: .8125rem; line-height: 1.45; gap: 10px; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group.ff-custom_html:has(+ input[type=hidden] + .ff-text-left),
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group.ff-custom_html:has(+ .ff-text-left) { grid-column: 1 / span 2; margin-bottom: 0; align-self: center; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group.ff-text-left { grid-column: 3 / span 2; margin-bottom: 0; align-self: center; text-align: right; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group.ff-text-left .ff-btn-submit { width: auto; padding: 0 28px; white-space: nowrap; }
body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) .ff-el-form-check-label a { font-size: inherit; line-height: inherit; }
@media (max-width: 1024px) {
  body .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_3, .fluentform_wrapper_4) fieldset > .ff-el-group.ff-text-left { text-align: left; margin-top: 8px; }
}
/* ══ Ende Probetraining-Popup ══ */


/* ══ TVF · Popups Kontakt / Mitgliedsantrag / Partner (Formular 1, 5, 6) – kompakt, 2 Spalten ══
   Nur in Elementor-Popups. Kurze Felder (Text, E-Mail, Telefon, Datum, Auswahl) stehen paarweise nebeneinander,
   alles andere volle Breite. Formulare selbst unverändert. */
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1 ,
.fluentform_wrapper_5 ,
.fluentform_wrapper_6) form > fieldset:not(:has(.fluentform-step)) ,
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1 ,
.fluentform_wrapper_5 ,
.fluentform_wrapper_6) .fluentform-step ,
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1 ,
.fluentform_wrapper_5 ,
.fluentform_wrapper_6) .ff-t-cell:has(> .ff-el-group + .ff-el-group) {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; align-items: start;
}
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) form > fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
/* Standard: volle Breite */
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) form > fieldset:not(:has(.fluentform-step)) > *,
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .fluentform-step > *,
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-t-cell:has(> .ff-el-group + .ff-el-group) > * { grid-column: 1 / -1; min-width: 0; }
/* Kurze Felder: halbe Breite */
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) form > fieldset:not(:has(.fluentform-step)) > .ff-el-group:has(> .ff-el-input--content > :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], input[type=url], select:only-child)),
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .fluentform-step > .ff-el-group:has(> .ff-el-input--content > :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], input[type=url], select:only-child)),
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-t-cell:has(> .ff-el-group + .ff-el-group) > .ff-el-group:has(> .ff-el-input--content > :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], input[type=url], select:only-child)) { grid-column: span 1; }

/* Kompakter */
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-group, .elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-field_container { margin-bottom: 12px; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-input--label { margin-bottom: 4px; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-input--label label { font-size: .8125rem; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-input--content input:not([type=checkbox]):not([type=radio]),
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-input--content select { min-height: 42px; height: 42px; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-input--content textarea { min-height: 84px; height: 84px; padding: 10px 14px; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-custom_html { font-size: .8125rem; line-height: 1.5; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-form-check-label { font-size: .8125rem; line-height: 1.45; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-form-check-label a { font-size: inherit; line-height: inherit; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-form-check { margin-bottom: 6px; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-section-break { margin-bottom: 8px; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-section-break .ff-el-section-title { font-size: 1rem; margin: 6px 0 4px; }
.elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff_submit_btn_wrapper .ff-btn-submit { height: 50px; }

@media (max-width: 1024px) {
  .elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1 ,
  .fluentform_wrapper_5 ,
  .fluentform_wrapper_6) form > fieldset:not(:has(.fluentform-step)) ,
  .elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1 ,
  .fluentform_wrapper_5 ,
  .fluentform_wrapper_6) .fluentform-step ,
  .elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1 ,
  .fluentform_wrapper_5 ,
  .fluentform_wrapper_6) .ff-t-cell:has(> .ff-el-group + .ff-el-group) { grid-template-columns: 1fr; }
  .elementor-popup-modal .fluentform.fluentform.fluentform.fluentform:is(.fluentform_wrapper_1, .fluentform_wrapper_5, .fluentform_wrapper_6) .ff-el-group { grid-column: 1 / -1 !important; }
}
/* ══ Ende Popups Kontakt / Mitgliedsantrag / Partner ══ */


/* ══ TVF · Footer-Newsletter: Links in Einwilligung & Hinweis ══ */
/* Link in der Einwilligung: grün, nicht unterstrichen */
[data-elementor-type="footer"] .elementor-element-6ec663d .elementor-field-type-acceptance a {
  color: var(--TVF-Green); font-size: inherit; line-height: inherit; text-decoration: none;
}
/* Link im Hinweistext: wie der Text, unterstrichen (Stand vorher) */
[data-elementor-type="footer"] .elementor-element-6ec663d .e-paragraph-base a {
  color: inherit; font-size: inherit; line-height: inherit; font-weight: 600; text-decoration: underline;
}
[data-elementor-type="footer"] .elementor-element-6ec663d .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; }
[data-elementor-type="footer"] .elementor-element-6ec663d .elementor-field-type-acceptance input[type=checkbox] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--TVF-Green); flex: 0 0 18px; }
/* ══ Ende Footer-Newsletter ══ */


/* ══ TVF · Footer: Borlabs-Link „Cookie-Einstellungen“ wie die Nachbarlinks ══ */
[data-elementor-type="footer"] .elementor-element-e2d038f .elementor-shortcode,
[data-elementor-type="footer"] .elementor-element-e2d038f a {
  font-family: Inter, sans-serif; font-size: 14px; line-height: 1.48; font-weight: 400;
  color: rgba(255, 255, 255, 0.6); text-decoration: none;
}
[data-elementor-type="footer"] .elementor-element-e2d038f a:hover,
[data-elementor-type="footer"] .elementor-element-e2d038f a:focus-visible { color: #fff; }
/* ══ Ende Borlabs-Link ══ */


/* ══ TVF · Div-Blocks als <button> (z. B. Karten mit Popup-Aktion) ══
   Das Theme-Reset setzt für button white-space:nowrap – Karteninhalte sollen normal umbrechen. */
.e-div-block-base.e-default-button {
  white-space: normal; text-align: inherit; font: inherit; color: inherit; cursor: pointer;
}
.e-div-block-base.e-default-button * { white-space: normal; }
/* ══ Ende Div-Blocks als button ══ */

/* ══ TVF · Popups mobil/Tablet: Pufferzone unten, Button immer erreichbar ══ */
@media (max-width: 1024px) {
  .elementor-popup-modal .dialog-message {
    max-height: 100dvh !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .elementor-popup-modal .dialog-widget-content { max-height: 100dvh; }
  /* Puffer am Popup-Inhalt selbst, damit er im Scrollbereich liegt */
  .elementor-popup-modal .dialog-message > [data-elementor-type="popup"] {
    height: auto !important; min-height: 100%; flex-shrink: 0; align-self: flex-start;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}
/* ══ Ende Popups mobil ══ *//* End custom CSS */