.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:#F07C00;font-family:"DM Sans", Sans-serif;color:#FFFFFF;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:#C90C0F;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =====================================================================
   SIMPLY the BEST – Styles wie auf der alten TYPO3-Seite
   Komplett einfügen unter: Elementor → Site Settings → Custom CSS
   (ersetzt das bisherige CSS dort vollständig)
   ===================================================================== */

/* ---------- Typografie in Texteditoren ---------- */
.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2 {
  font-family: 'Playfair Display', serif;
  font-size: 51px;
  font-weight: 400;
  line-height: 1.2;
  color: #434E4E;
  margin: 0 0 0.5rem;
}
.elementor-widget-text-editor h3 {
  font-family: 'Nanum Gothic', sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
  color: #F07C00;
  margin: 0 0 0.5rem;
}
.elementor-widget-text-editor h4 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
  color: #434E4E;
  margin: 0 0 0.5rem;
}
.elementor-widget-text-editor h5 {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  font-weight: 400;
  color: #434E4E;
}
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor td {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: #434E4E;
}
.elementor-widget-text-editor p { margin: 0 0 1rem; }
.elementor-widget-text-editor a:not(.elementor-button) { color: #F07C00; }
.elementor-widget-text-editor a:not(.elementor-button):hover { color: #A45400; }
.elementor-widget-text-editor .lead { font-size: 1.25rem; font-weight: 300; }
.elementor-widget-text-editor .text-center { text-align: center; }
.elementor-widget-text-editor .text-right { text-align: right; }
.text-primary { color: #F07C00 !important; }
.text-secondary { color: #C90C0F !important; }

/* Überschrift-Widgets aus dem ersten Import (z. B. Zwischenüberschriften in News) */
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
  color: #434E4E;
}

@media (max-width: 425px) {
  .elementor-widget-text-editor h1,
  .elementor-widget-text-editor h2 { font-size: 36px; }
  .elementor-widget-text-editor h3 { font-size: 22px; }
  .elementor-widget-heading h4.elementor-heading-title { font-size: 22px; }
}

/* Listen-Tabellen (› bzw. ✓ vor jedem Punkt) */
.elementor-widget-text-editor table.table {
  width: 100%;
  border: 0 !important;
  margin: 0 0 1rem;
  border-collapse: collapse;
}
.elementor-widget-text-editor table.table td {
  border: 0 !important;
  background: transparent !important;
  padding: 10px 30px 10px 0;
  vertical-align: top;
}
@media (max-width: 767px) {
  .elementor-widget-text-editor table.table td { display: block; padding: 6px 0; }
}
.stb-ico {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 10px;
  vertical-align: -1px;
  background-color: currentColor;
}
.stb-ico-angle {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285 273L95 463c-9 9-25 9-34 0l-22-22c-9-9-9-25 0-34l151-151L39 105c-9-9-9-25 0-34l22-22c9-9 25-9 34 0l190 190c9 9 9 25 0 34z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285 273L95 463c-9 9-25 9-34 0l-22-22c-9-9-9-25 0-34l151-151L39 105c-9-9-9-25 0-34l22-22c9-9 25-9 34 0l190 190c9 9 9 25 0 34z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.stb-ico-check {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M174 439L7 273c-10-10-10-26 0-36l36-36c10-10 26-10 36 0l113 113L433 73c10-10 26-10 36 0l36 36c10 10 10 26 0 36L210 439c-10 10-26 10-36 0z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M174 439L7 273c-10-10-10-26 0-36l36-36c10-10 26-10 36 0l113 113L433 73c10-10 26-10 36 0l36 36c10 10 10 26 0 36L210 439c-10 10-26 10-36 0z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ---------- Einrückung (frame-indent der alten Seite) ---------- */
@media (min-width: 576px) {
  .elementor-element.stb-indent { width: 92% !important; margin-left: 4% !important; margin-right: 4% !important; }
  .elementor-element.stb-indent-right { width: 92% !important; margin-right: 8% !important; }
  .elementor-element.stb-indent-left { width: 92% !important; margin-left: 8% !important; }
}
@media (min-width: 768px) {
  .elementor-element.stb-indent { width: 84% !important; margin-left: 8% !important; margin-right: 8% !important; }
  .elementor-element.stb-indent-right { width: 84% !important; margin-right: 16% !important; }
  .elementor-element.stb-indent-left { width: 84% !important; margin-left: 16% !important; }
}
@media (min-width: 992px) {
  .elementor-element.stb-indent { width: 76% !important; margin-left: 12% !important; margin-right: 12% !important; }
  .elementor-element.stb-indent-right { width: 76% !important; margin-right: 24% !important; }
  .elementor-element.stb-indent-left { width: 76% !important; margin-left: 24% !important; }
}
@media (min-width: 1200px) {
  .elementor-element.stb-indent { width: 68% !important; margin-left: 16% !important; margin-right: 16% !important; }
  .elementor-element.stb-indent-right { width: 68% !important; margin-right: 32% !important; }
  .elementor-element.stb-indent-left { width: 68% !important; margin-left: 32% !important; }
}

/* ---------- Dunkle Bereiche (weißer Text) ---------- */
.stb-dark,
.stb-dark p,
.stb-dark li,
.stb-dark td,
.stb-dark h1, .stb-dark h2, .stb-dark h3, .stb-dark h4, .stb-dark h5,
.stb-dark .elementor-icon-box-title,
.stb-dark .elementor-icon-box-title a,
.stb-dark .elementor-icon-box-description,
.stb-dark .elementor-counter-number-wrapper,
.stb-dark .elementor-counter-title {
  color: #FFFFFF !important;
}
.stb-dark a:not(.elementor-button) { color: #F07C00 !important; }
@media (min-width: 767px) {
  .elementor-column.stb-dark > .elementor-widget-wrap { min-height: 350px; }
}

/* ---------- Hero (großes Bild oben auf der Seite) ---------- */
.stb-hero > .elementor-container { min-height: calc(100vh - 130px) !important; }
.stb-hero-logo img { width: 500px; max-width: 100% !important; }
.stb-hero-text { text-align: center; }
.stb-hero-text h2 { font-size: 70px !important; color: #FFFFFF !important; }
.stb-hero-text h3 { font-size: 32px !important; color: #FFFFFF !important; }
@media (max-width: 767px) {
  .stb-hero-text h2 { font-size: 36px !important; }
  .stb-hero-text h3 { font-size: 22px !important; }
}

/* ---------- Bildpaare mit Button (top magazin | Event) ---------- */
.stb-cta-pair > .elementor-container { min-height: 600px; }
.stb-cta-tall > .elementor-container { min-height: 900px; }
@media (max-width: 1700px) { .stb-cta-tall > .elementor-container { min-height: 700px; } }
@media (max-width: 1400px) { .stb-cta-tall > .elementor-container { min-height: 500px; } }
.stb-cta-pair .elementor-column + .elementor-column { border-left: 4px solid #FFFFFF; }
@media (max-width: 767px) {
  .stb-cta-pair .elementor-column { min-height: 400px; }
  .stb-cta-tall .elementor-column { min-height: 600px; }
  .stb-cta-pair .elementor-column + .elementor-column { border-left: 0; border-top: 4px solid #FFFFFF; }
}

/* ---------- Buttons ---------- */
.stb-btn .elementor-button {
  display: inline-block;
  font-size: 22px !important;
  line-height: 1.5 !important;
  width: 300px !important;
  max-width: 100% !important;
  padding: 12px 50px !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #FFFFFF !important;
  transition: background-color 0.2s;
}
/* normale Buttons im Text */
.stb-btn-auto .elementor-button {
  width: auto !important;
  min-width: 250px;
  font-size: 20px !important;
  padding: 10px 50px !important;
  margin-top: 20px;
}
/* Button im großen Hero-Bild */
.stb-btn-hero .elementor-button {
  width: 370px !important;
  font-size: 20px !important;
  padding: 10px 50px !important;
  margin-top: 80px;
}
.stb-btn-rot .elementor-button { background-color: #C90C0F !important; font-family: 'Playfair Display', serif !important; }
.stb-btn-rot .elementor-button:hover { background-color: #A50A0C !important; }
.stb-cta-pair .stb-btn-rot .elementor-button:hover { background-color: #8D1317 !important; }
.stb-btn-orange .elementor-button { background-color: #F07C00 !important; font-family: 'Nanum Gothic', sans-serif !important; }
.stb-btn-orange .elementor-button:hover { background-color: #CA6800 !important; }
@media (max-width: 1400px) {
  .stb-cta-pair .stb-btn .elementor-button { font-size: 20px !important; width: 230px !important; }
}

/* Text-Link mit orangem Unterstrich (z. B. "› Über uns") */
.stb-link .elementor-button {
  background: transparent !important;
  color: #434E4E !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  padding: 0 8px 4px 0 !important;
  border: 0 !important;
  border-bottom: 2px solid #F07C00 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.stb-link .elementor-button-text::before { content: "› "; font-weight: 700; }
.stb-link .elementor-button:hover { color: #F07C00 !important; }

/* ---------- Icon-Boxen ---------- */
.stb-iconbox .elementor-icon { font-size: 32px !important; padding: 0.65em !important; }
.stb-iconbox .elementor-icon-box-title,
.stb-iconbox .elementor-icon-box-title a {
  font-family: 'Nanum Gothic', sans-serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: #434E4E;
}
.stb-iconbox-left .elementor-icon-box-title,
.stb-iconbox-left .elementor-icon-box-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
}
.stb-iconbox .elementor-icon-box-description,
.stb-iconbox .elementor-icon-box-description p {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: #434E4E;
}
.stb-iconbox-left { margin-bottom: 40px !important; }

/* ---------- Zähler ---------- */
.stb-counter .elementor-counter-number-wrapper {
  font-family: 'Playfair Display', serif !important;
  font-size: 52px !important;
  font-weight: 400 !important;
}
.stb-counter .elementor-counter-title {
  font-family: 'Nanum Gothic', sans-serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
}

/* ---------- Kontakt-Karten (Über uns) ---------- */
.elementor-column.stb-card > .elementor-widget-wrap {
  background: #FFFFFF;
  box-shadow: 0 4px 13px 1px rgba(0, 0, 0, 0.09);
  padding: 24px !important;
}
.stb-card .elementor-widget-text-editor h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  color: #434E4E;
  margin-bottom: 1rem;
}

/* ---------- Kontaktformular ---------- */
.stb-form .elementor-field-group .elementor-field {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: #495057;
  border: 1px solid #CED4DA !important;
  border-radius: 0.25rem !important;
  padding: 0.375rem 0.75rem !important;
}
.stb-form .elementor-field-group .elementor-field:focus {
  border-color: #FFBA71 !important;
  box-shadow: 0 0 0 0.2rem rgba(240, 124, 0, 0.25);
}
.stb-form .elementor-field-label { font-family: 'DM Sans', sans-serif; color: #434E4E; }
.stb-form .elementor-button {
  background-color: #F07C00 !important;
  font-family: 'Nanum Gothic', sans-serif !important;
  font-size: 20px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.stb-form .elementor-button:hover { background-color: #CA6800 !important; }
.stb-form-rot .elementor-button {
  background-color: #C90C0F !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 24px !important;
  min-width: 300px;
}
.stb-form-rot .elementor-button:hover { background-color: #C90C0F !important; }

/* ---------- News-Liste ---------- */
.stb-news .elementor-post__title,
.stb-news .elementor-post__title a {
  font-family: 'Nanum Gothic', sans-serif !important;
  font-size: 31px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: #F07C00 !important;
}
.stb-news .elementor-post__meta-data {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  color: #434E4E !important;
  border: 0 !important;
  margin: 10px 0 25px !important;
}
.stb-news .elementor-post__read-more {
  display: inline-block !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #434E4E !important;
  border-bottom: 2px solid #F07C00 !important;
  padding: 0 8px 4px 0 !important;
}
.stb-news .elementor-post__read-more::before { content: "› "; font-weight: 700; }
.stb-news .elementor-post__read-more:hover { color: #F07C00 !important; }
.stb-news-rot .elementor-post__title,
.stb-news-rot .elementor-post__title a { color: #C90C0F !important; font-weight: bolder !important; }
.stb-news-rot .elementor-post__read-more { border-bottom-color: #C90C0F !important; }
.stb-news-rot .elementor-post__read-more:hover { color: #C90C0F !important; }
.stb-news .elementor-post-date::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 6px;
  vertical-align: -1px;
  background-color: #434E4E;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M152 24c0-13-11-24-24-24s-24 11-24 24v40H64C29 64 0 93 0 128v320c0 35 29 64 64 64h320c35 0 64-29 64-64V128c0-35-29-64-64-64h-40V24c0-13-11-24-24-24s-24 11-24 24v40H152V24zM48 192h352v256c0 9-7 16-16 16H64c-9 0-16-7-16-16V192z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M152 24c0-13-11-24-24-24s-24 11-24 24v40H64C29 64 0 93 0 128v320c0 35 29 64 64 64h320c35 0 64-29 64-64V128c0-35-29-64-64-64h-40V24c0-13-11-24-24-24s-24 11-24 24v40H152V24zM48 192h352v256c0 9-7 16-16 16H64c-9 0-16-7-16-16V192z'/%3E%3C/svg%3E") no-repeat center / contain;
}
@media (max-width: 1024px) {
  .stb-news .elementor-post__title,
  .stb-news .elementor-post__title a { font-size: 26px !important; }
}
@media (max-width: 767px) {
  .stb-news .elementor-post { flex-direction: column !important; }
  .stb-news .elementor-post__thumbnail__link { width: 100% !important; margin-right: 0 !important; margin-bottom: 20px !important; }
  .stb-news .elementor-post__text { width: 100% !important; }
  .stb-news .elementor-post__title,
  .stb-news .elementor-post__title a { font-size: 24px !important; }
}

/* ---------- Logo-Raster ---------- */
.stb-logos > .elementor-container {
  flex-wrap: wrap !important;
  max-width: 1400px !important;
  margin: 0 auto 100px !important;
}
.stb-logos > .elementor-container > .elementor-column {
  width: 25% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 30px 40px !important;
}
.stb-logos img {
  max-height: 140px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
@media (max-width: 1024px) {
  .stb-logos > .elementor-container > .elementor-column { width: 33.333% !important; }
}
@media (max-width: 767px) {
  .stb-logos > .elementor-container > .elementor-column { width: 50% !important; padding: 20px !important; }
  .stb-logos img { max-height: 90px !important; }
}

/* =====================================================================
   CookieFirst-Banner im Stil der alten Seite
   Am ENDE von Elementor → Site Settings → Custom CSS einfügen
   (das bestehende CSS dort bleibt stehen)
   ===================================================================== */

/* ---------- Erste Ebene: weiße Box unten links ---------- */
.cookiefirst-root [data-testid="banner"] {
  left: 20px !important;
  right: auto !important;
  bottom: 20px !important;
  width: 400px !important;
  max-width: calc(100vw - 40px) !important;
  padding: 0 !important;
}
.cookiefirst-root [data-testid="cookieWidgetContent"] {
  background: #FFFFFF !important;
  color: #434E4E !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18) !important;
  padding: 24px !important;
}
/* Text und Buttons untereinander statt nebeneinander */
.cookiefirst-root [data-testid="cookieWidgetContent"] > div {
  display: flex !important;
  flex-direction: column !important;
}
.cookiefirst-root [data-testid="cookieWidgetContent"] > div > div {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
}
/* keine Überschrift (die alte Box hatte keine) */
.cookiefirst-root [data-testid="cookieWidgetContent"] h2 { display: none !important; }
.cookiefirst-root [data-testid="cookieWidgetContent"] p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #434E4E !important;
}
.cookiefirst-root [data-testid="cookieWidgetContent"] a { color: #F07C00 !important; }

/* Buttons: "Alle akzeptieren" volle Breite, darunter zwei Text-Links */
.cookiefirst-root [data-testid="actionButtons"] {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin-top: 16px !important;
}
.cookiefirst-root [data-testid="actionButtons"] > div {
  flex: 0 0 50% !important;
  width: 50% !important;
  max-width: 50% !important;
  padding: 0 !important;
}
.cookiefirst-root [data-testid="actionButtons"] > div:has([data-cookiefirst-action="accept"]) {
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  order: 0 !important;
  margin-bottom: 6px !important;
}
.cookiefirst-root [data-testid="actionButtons"] > div:has([data-cookiefirst-action="adjust"]) { order: 1 !important; }
.cookiefirst-root [data-testid="actionButtons"] > div:has([data-cookiefirst-action="reject"]) { order: 2 !important; }

/* ---------- Buttons in Banner und Einstellungsfenster ---------- */
.cookiefirst-root button[data-cookiefirst-action] {
  width: 100% !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
}
.cookiefirst-root button[data-cookiefirst-action] span {
  color: inherit !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
.cookiefirst-root button[data-cookiefirst-action="accept"] {
  background: #F07C00 !important;
  border-color: #F07C00 !important;
  color: #FFFFFF !important;
}
.cookiefirst-root button[data-cookiefirst-action="accept"]:hover { background: #CA6800 !important; }
.cookiefirst-root button[data-cookiefirst-action="adjust"],
.cookiefirst-root button[data-cookiefirst-action="reject"],
.cookiefirst-root button[data-cookiefirst-action="save"],
.cookiefirst-root button[data-cookiefirst-action="reject_second"] {
  background: transparent !important;
  border-color: transparent !important;
  color: #434E4E !important;
}

/* ---------- Einstellungsfenster (zweite Ebene) ---------- */
.cookiefirst-root [data-cookiefirst-widget="modal"] {
  border-radius: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  color: #434E4E !important;
}
/* Akzentfarbe (Reiter, Links, Schalter) orange statt blau */
.cookiefirst-root [data-cookiefirst-accent-color] { color: #F07C00 !important; }
.cookiefirst-root [data-cookiefirst-outline-accent-color]:focus-visible { outline-color: #F07C00 !important; }/* End custom CSS */