.elementor-kit-11{--e-global-color-primary:#102321;--e-global-color-secondary:#15302C;--e-global-color-text:#5E6E6B;--e-global-color-accent:#198B78;--e-global-color-thormint:#83CDBB;--e-global-color-thormintsoft:#DFF3ED;--e-global-color-thorpaper:#F6F7F3;--e-global-color-thorwhite:#FFFFFF;--e-global-color-thorsand:#E7DFD1;--e-global-color-thorline:#DDE2E0;--e-global-color-thorlinedark:rgba(255,255,255,0.13);--e-global-color-thortextdark:rgba(255,255,255,0.66);--e-global-color-thortextdark76:rgba(255,255,255,0.76);--e-global-color-thorcarddark:rgba(255,255,255,0.035);--e-global-color-thorstep:#15302C;--e-global-color-thorquote:#3F5450;--e-global-color-thorstar:#F2A33C;--e-global-color-thorgoogle:#4285F4;--e-global-color-thorsuccess:#0D6D5C;--e-global-color-thorfinaldark:#0C5546;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:3.9em;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.03em;--e-global-typography-primary-letter-spacing:-0.045em;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:1.7em;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.12em;--e-global-typography-secondary-letter-spacing:-0.035em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1em;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.55em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:1em;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.15em;--e-global-typography-accent-letter-spacing:0em;--e-global-typography-thoreyebrow-font-family:"Inter";--e-global-typography-thoreyebrow-font-size:0.76em;--e-global-typography-thoreyebrow-font-weight:800;--e-global-typography-thoreyebrow-text-transform:uppercase;--e-global-typography-thoreyebrow-line-height:1.35em;--e-global-typography-thoreyebrow-letter-spacing:0.14em;--e-global-typography-thorlede-font-family:"Inter";--e-global-typography-thorlede-font-size:1.28em;--e-global-typography-thorlede-font-weight:400;--e-global-typography-thorlede-line-height:1.5em;--e-global-typography-thordisplay-font-family:"Inter";--e-global-typography-thordisplay-font-size:5.6em;--e-global-typography-thordisplay-font-weight:800;--e-global-typography-thordisplay-line-height:1.02em;--e-global-typography-thordisplay-letter-spacing:-0.045em;--e-global-typography-thorsmall-font-family:"Inter";--e-global-typography-thorsmall-font-size:0.9em;--e-global-typography-thorsmall-font-weight:400;--e-global-typography-thorsmall-line-height:1.45em;--e-global-typography-thorghost-font-family:"Inter";--e-global-typography-thorghost-font-size:9em;--e-global-typography-thorghost-font-weight:900;--e-global-typography-thorghost-line-height:1.05em;--e-global-typography-thorghost-letter-spacing:-0.035em;background-color:#F6F7F3;color:#5E6E6B;font-family:"Inter", sans-serif;font-size:1em;font-weight:400;line-height:1.55em;}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{background-color:#102321;font-family:"Inter", sans-serif;font-size:1em;font-weight:700;line-height:1.15em;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:0.875em 1.375em 0.875em 1.375em;}.elementor-kit-11 button:hover,.elementor-kit-11 button:focus,.elementor-kit-11 input[type="button"]:hover,.elementor-kit-11 input[type="button"]:focus,.elementor-kit-11 input[type="submit"]:hover,.elementor-kit-11 input[type="submit"]:focus,.elementor-kit-11 .elementor-button:hover,.elementor-kit-11 .elementor-button:focus{background-color:#15302C;color:#FFFFFF;}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}.elementor-kit-11 a{color:#198B78;font-family:"Inter", sans-serif;font-size:1em;font-weight:inherit;line-height:1.55em;}.elementor-kit-11 a:hover{color:#102321;font-family:"Inter", sans-serif;font-size:1em;font-weight:inherit;line-height:1.55em;}.elementor-kit-11 h1{color:#102321;font-family:"Inter", sans-serif;font-size:5.6em;font-weight:800;line-height:1.02em;letter-spacing:-0.045em;}.elementor-kit-11 h2{color:#102321;font-family:"Inter", sans-serif;font-size:3.9em;font-weight:800;line-height:1.04em;letter-spacing:-0.045em;}.elementor-kit-11 h3{color:#102321;font-family:"Inter", sans-serif;font-size:1.7em;font-weight:700;line-height:1.12em;letter-spacing:-0.035em;}.elementor-kit-11 h4{color:#102321;font-family:"Inter", sans-serif;font-size:1.15em;font-weight:700;line-height:1.2em;letter-spacing:-0.03em;}.elementor-kit-11 h5{color:#102321;font-family:"Inter", sans-serif;font-size:1em;font-weight:700;line-height:1.3em;}.elementor-kit-11 h6{color:#102321;font-family:"Inter", sans-serif;font-size:0.76em;font-weight:800;text-transform:uppercase;line-height:1.35em;letter-spacing:0.14em;}.elementor-kit-11 label{color:#102321;font-family:"Inter", sans-serif;font-size:0.81em;font-weight:800;line-height:1.4em;}.elementor-kit-11 input:not([type="button"]):not([type="submit"]),.elementor-kit-11 textarea,.elementor-kit-11 .elementor-field-textual{font-family:"Inter", sans-serif;font-size:1em;font-weight:400;line-height:1.4em;color:#102321;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0em;}.elementor-element{--widgets-spacing:0em 0em;--widgets-spacing-row:0em;--widgets-spacing-column:0em;}{}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-11{--e-global-typography-primary-font-size:3.4em;--e-global-typography-secondary-font-size:1.55em;--e-global-typography-text-font-size:1em;--e-global-typography-thorlede-font-size:1.22em;--e-global-typography-thordisplay-font-size:4.9em;--e-global-typography-thorghost-font-size:7.5em;}.elementor-kit-11 a{font-size:1em;}.elementor-kit-11 a:hover{font-size:1em;}.elementor-kit-11 h1{font-size:4.9em;}.elementor-kit-11 h2{font-size:3.4em;}.elementor-kit-11 h3{font-size:1.55em;}}@media(max-width:980px){.elementor-kit-11{--e-global-typography-primary-font-size:2.75em;--e-global-typography-secondary-font-size:1.38em;--e-global-typography-text-font-size:1em;--e-global-typography-thorlede-font-size:1.12em;--e-global-typography-thordisplay-font-size:3.9em;--e-global-typography-thorghost-font-size:5.5em;}.elementor-kit-11 a{font-size:1em;}.elementor-kit-11 a:hover{font-size:1em;}.elementor-kit-11 h1{font-size:3.9em;}.elementor-kit-11 h2{font-size:2.75em;}.elementor-kit-11 h3{font-size:1.38em;}.elementor-kit-11 h4{font-size:1.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:680px){.elementor-kit-11{--e-global-typography-primary-font-size:2.3em;--e-global-typography-secondary-font-size:1.3em;--e-global-typography-text-font-size:0.95em;--e-global-typography-accent-font-size:0.95em;--e-global-typography-thoreyebrow-font-size:0.72em;--e-global-typography-thorlede-font-size:1.06em;--e-global-typography-thordisplay-font-size:2.9em;--e-global-typography-thorsmall-font-size:0.86em;--e-global-typography-thorghost-font-size:4em;font-size:0.95em;}.elementor-kit-11 a{font-size:1em;}.elementor-kit-11 a:hover{font-size:1em;}.elementor-kit-11 h1{font-size:2.9em;}.elementor-kit-11 h2{font-size:2.3em;}.elementor-kit-11 h3{font-size:1.3em;}.elementor-kit-11 h4{font-size:1.08em;}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{font-size:0.95em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================================
   THOR Fitness Austria – Kit-CSS
   Nur das, was Elementor-Widgets nicht selbst ausdruecken koennen.
   Alle Groessen in em; Ausnahmen: Haarlinien, Icon-Kanten, Pillen-Radien.
   ========================================================================== */

/* --- Akzente und Hervorhebungen in Ueberschriften / Fliesstext ----------- */
.thor-accent        { color: #198B78; }
.thor-accent-mint   { color: #83CDBB; }
.thor-accent-white  { color: #FFFFFF; }
.thor-mark          { font-weight: 700; color: #102321; }
.thor-mark-dark     { font-weight: 700; color: #FFFFFF; }
.thor-pct           { font-size: 0.55em; }

/* Ueberschriften sauber umbrechen statt ausfransen */
.elementor h1, .elementor h2, .elementor h3,
.elementor .elementor-heading-title { text-wrap: balance; }
.thor-lede p, .thor-report-teaser p { text-wrap: pretty; }

/* Sprungziele nicht unter den fixen Header schieben */
.elementor [id] { scroll-margin-top: 6.5em; }

/* --- Kopfzeile ----------------------------------------------------------- */
.thor-header { pointer-events: none; }
.thor-header .thor-navpill { pointer-events: auto; }
.thor-navpill { -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.thor-brand img { display: block; }

/* Burger-Schaltflaeche als Kreis, Icon exakt zentriert */
.thor-nav .elementor-menu-toggle {
  width: 2.75em; height: 2.75em; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 999px; flex: 0 0 auto;
}
.thor-nav .elementor-menu-toggle svg { width: 1.25em; height: 1.25em; }
.thor-nav .elementor-menu-toggle i { font-size: 1.25em; }

/* Mobiles Dropdown: als abgesetzte Karte unter der Pille */
.thor-nav .elementor-nav-menu--dropdown {
  overflow: hidden;
  margin-left: -0.25em; margin-right: -0.25em;
}
.thor-nav .elementor-nav-menu--dropdown a.elementor-item {
  font-weight: 600; letter-spacing: 0;
}
.thor-nav .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
.thor-nav .elementor-nav-menu--dropdown a.elementor-item:hover { font-weight: 700; }

/* Unterstrich-Pointer sitzt sonst zu knapp am Text */
.thor-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:after,
.thor-nav .elementor-nav-menu--main .elementor-item:hover:after { bottom: -0.55em; }

/* --- Hero ---------------------------------------------------------------- */
.thor-hero-card { -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px); }
.thor-hero-proof { -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.thor-hero-note strong { display: block; color: #FFFFFF; font-weight: 700; }
.thor-ghost { pointer-events: none; user-select: none; -webkit-user-select: none; }

@media (max-width: 980px) {
  .thor-hero .thor-ghost { display: none; }
}

/* --- Sticky-Spalten ------------------------------------------------------ */
@media (min-width: 981px) {
  .thor-intro-quote  { position: sticky; top: 7.5em; align-self: flex-start; }
  .thor-service-card { position: sticky; top: 7em; }
}

/* --- Flaechenfinder (Schieberegler) ------------------------------------- */
.thor-spacefinder {
  display: grid;
  grid-template-columns: minmax(11em, 0.7fr) minmax(14em, 1fr) minmax(9em, 0.5fr);
  align-items: center;
  gap: 1.75em;
  padding: 1.25em 1.375em;
  border: 1px solid #DDE2E0;
  border-radius: 1.25em;
  background: #DFF3ED;
  color: #102321;
}
.thor-sf-label label {
  display: block; margin-bottom: 0.1875em;
  font-size: 0.72em; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: #102321;
}
.thor-sf-label small { display: block; color: #5E6E6B; font-size: 0.84em; line-height: 1.45; }
.thor-sf-range input[type="range"] {
  width: 100%; margin: 0; accent-color: #198B78; cursor: pointer;
  background: transparent;
}
.thor-sf-ticks {
  display: flex; justify-content: space-between;
  margin-top: 0.4375em; color: #5E6E6B;
  font-size: 0.7em; font-weight: 700; letter-spacing: 0.04em;
}
.thor-sf-out { text-align: right; }
.thor-sf-out output {
  display: block; font-size: 1.75em; font-weight: 800; line-height: 1;
  letter-spacing: -0.03em; color: #102321;
}
.thor-sf-out span {
  display: block; margin-top: 0.3125em;
  color: #198B78; font-size: 0.78em; font-weight: 700;
}
@media (max-width: 980px) {
  .thor-spacefinder { grid-template-columns: 1fr 1.2fr auto; gap: 1.25em; }
}
@media (max-width: 680px) {
  .thor-spacefinder { grid-template-columns: 1fr; gap: 1.0625em; }
  .thor-sf-out { display: flex; align-items: baseline; justify-content: space-between; text-align: left; }
  .thor-sf-out span { margin-top: 0; }
}

/* --- Konzept-Tabs: Titelleiste als Pille -------------------------------- */
.thor-concept-tabs .e-n-tabs-heading {
  display: inline-flex; gap: 0.375em; padding: 0.375em;
  border: 1px solid #DDE2E0; border-radius: 999px; background: #FFFFFF;
  margin-inline-start: auto;
}
.thor-concept-tabs .e-n-tab-title {
  padding: 0.6875em 1.0625em; border: 0; white-space: nowrap;
}
.thor-concept-tabs .e-n-tabs-content { padding: 0; }
@media (max-width: 680px) {
  .thor-concept-tabs .e-n-tabs-heading {
    display: grid; grid-template-columns: 1fr; width: 100%;
    border-radius: 1.25em; margin-inline-start: 0;
  }
  .thor-concept-tabs .e-n-tab-title { justify-content: flex-start; }
}

/* --- Vergleich vorher / nachher ----------------------------------------- */
.thor-compare {
  position: relative; overflow: hidden;
  min-height: 32.5em; border-radius: 1.75em;
  background: #102321;
  box-shadow: 0 24px 70px rgba(20, 48, 43, 0.13);
}
.thor-compare-after, .thor-compare-before {
  position: absolute; inset: 0;
  background-position: center; background-size: cover; background-repeat: no-repeat;
}
.thor-compare-after::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(9, 25, 22, 0.42), transparent 58%);
}
.thor-compare-before {
  width: var(--thor-split);
  overflow: hidden;
  border-right: 3px solid #FFFFFF;
}
.thor-compare-before::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(9, 25, 22, 0.42), transparent 58%);
}
.thor-compare-label {
  position: absolute; z-index: 2; bottom: 1.375em;
  padding: 0.5em 0.8125em; border-radius: 999px;
  background: rgba(255, 255, 255, 0.92); color: #102321;
  font-size: 0.76em; font-weight: 700; white-space: nowrap;
}
.thor-compare-label-before { left: 1.375em; }
.thor-compare-label-after  { right: 1.375em; }
.thor-compare-handle {
  position: absolute; z-index: 3; top: 50%; left: var(--thor-split);
  display: grid; place-items: center;
  width: 3.125em; height: 3.125em;
  transform: translate(-50%, -50%);
  border: 4px solid #FFFFFF; border-radius: 999px;
  background: #83CDBB; color: #102321;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.22);
  pointer-events: none;
}
.thor-compare-range {
  position: absolute; z-index: 5; inset: 0;
  width: 100%; height: 100%; margin: 0;
  cursor: ew-resize; opacity: 0; appearance: none; -webkit-appearance: none;
}
.thor-compare:focus-within { outline: 3px solid rgba(25, 139, 120, 0.38); outline-offset: 5px; }
@media (max-width: 680px) {
  .thor-compare { min-height: 26.875em; border-radius: 1.375em; }
  .thor-compare-label { font-size: 0.7em; bottom: 1em; }
  .thor-compare-label-before { left: 1em; }
  .thor-compare-label-after  { right: 1em; }
}

/* --- Prozessstreifen ---------------------------------------------------- */
/* Der Rahmen schneidet die Kacheln rund ab – so passen die Ecken auf jeder
   Breite exakt zum Radius, statt eckig ueberzustehen. */
.elementor .thor-process-grid.thor-process-grid { overflow: clip; }
.thor-process-grid > .e-con { overflow: visible; border-radius: 0 !important; }
.thor-step-arrow { transform: translateY(-50%); }
@media (max-width: 980px) {
  .thor-step-arrow { transform: translateY(-50%) rotate(90deg); }
}

/* --- Reportkarte: Titelblatt beim Hover zeigen -------------------------- */
.thor-report-visual { position: relative; }
.thor-report-cover.thor-report-cover {
  opacity: 0; transform: scale(0.97);
  transition: opacity 0.4s ease, transform 0.4s ease;
  pointer-events: none;
}
.thor-report-book { transition: opacity 0.38s ease, transform 0.38s ease; }
/* Wechsel nur mit echter Maus: Auf Touch loest ein Antippen :hover aus,
   das Titelblatt ist dort aber ausgeblendet – die Flaeche waere leer. */
@media (hover: hover) and (pointer: fine) {
  .thor-report-stack:hover .thor-report-cover.thor-report-cover,
  .thor-report-stack:focus-within .thor-report-cover.thor-report-cover { opacity: 1; transform: none; }
  .thor-report-stack:hover .thor-report-book,
  .thor-report-stack:focus-within .thor-report-book { opacity: 0; transform: scale(0.97); }
}
.thor-report-cover img { border-radius: 0.5em 1.125em 1.125em 0.5em; }
@media (hover: none), (pointer: coarse) {
  .thor-report-cover.thor-report-cover { display: none; }
  .thor-book-hint { display: none; }
}

/* --- Rezensionen -------------------------------------------------------- */
.thor-google-g .elementor-heading-title {
  display: grid; place-items: center;
  width: 1.375em; height: 1.375em; line-height: 1;
}
.thor-review-source { margin-top: auto; }
.thor-stars .elementor-star-rating { line-height: 1; }

/* --- Checklisten: Icon oben ausgerichtet -------------------------------- */
.thor-check-list .elementor-icon-list-icon,
.thor-teaser-list .elementor-icon-list-icon { display: flex; align-items: flex-start; }
.thor-check-list .elementor-icon-list-text,
.thor-teaser-list .elementor-icon-list-text { align-self: center; }
.thor-teaser-list .elementor-icon-list-text strong { font-weight: 700; color: #102321; }

/* --- Formular ----------------------------------------------------------- */
.elementor .thor-form .elementor-field-group input,
.elementor .thor-form .elementor-field-group textarea { min-height: 3.3125em; padding: 0 0.9375em; }
.elementor .thor-form .elementor-field-group input:focus,
.elementor .thor-form .elementor-field-group textarea:focus {
  border-color: #198B78; outline: 3px solid rgba(25, 139, 120, 0.12); outline-offset: 0;
}
.elementor .thor-form .elementor-field-group input::placeholder { color: #98A6A3; opacity: 1; }
.elementor .thor-form .elementor-field-type-acceptance { margin-top: 0.375em; }
.elementor .thor-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex; gap: 0.625em; align-items: flex-start;
}
.elementor .thor-form .elementor-field-type-acceptance label {
  color: #5E6E6B; font-size: 0.82em; font-weight: 400; line-height: 1.45;
}
.elementor .thor-form .elementor-field-type-acceptance a { color: #198B78; text-decoration: underline; }
.elementor .thor-form .elementor-field-type-acceptance input[type="checkbox"] {
  margin-top: 0.25em; width: 1.125em; height: 1.125em; accent-color: #198B78; flex: 0 0 auto;
}
.elementor .thor-form .elementor-field-type-submit { margin-top: 0.375em; }
.elementor .thor-form .elementor-message { font-weight: 700; }
.elementor .thor-form .elementor-message-success {
  padding: 0.875em 1em; border-radius: 0.75em; background: #DFF3ED;
}

/* --- Projekt-Slider ----------------------------------------------------- */
.thor-ref-carousel { position: relative; }
.thor-ref-carousel .swiper-slide { height: auto; }
.elementor .thor-ref-carousel.thor-ref-carousel .elementor-swiper-button {
  position: absolute;
  top: -4.375em !important;
  bottom: auto !important;
  transform: none !important;
  width: 2.875em; height: 2.875em;
  display: grid; place-items: center;
  transition: background 0.2s ease, transform 0.2s ease;
}
.elementor .thor-ref-carousel.thor-ref-carousel .elementor-swiper-button-prev {
  inset-inline-start: auto !important; inset-inline-end: 3.5em !important;
}
.elementor .thor-ref-carousel.thor-ref-carousel .elementor-swiper-button-next {
  inset-inline-start: auto !important; inset-inline-end: 0 !important;
}
.elementor .thor-ref-carousel.thor-ref-carousel .elementor-swiper-button:hover {
  transform: translateY(-2px) !important;
}
.thor-ref-carousel .elementor-swiper-button svg { width: 1.5em; height: 1.5em; }
@media (max-width: 980px) {
  .elementor .thor-ref-carousel.thor-ref-carousel .elementor-swiper-button {
    top: auto !important; bottom: -3.5em !important;
  }
  .elementor .thor-ref-carousel.thor-ref-carousel .elementor-swiper-button-prev {
    inset-inline-start: 0 !important; inset-inline-end: auto !important;
  }
  .elementor .thor-ref-carousel.thor-ref-carousel .elementor-swiper-button-next {
    inset-inline-start: 3.5em !important; inset-inline-end: auto !important;
  }
  .thor-referenzen .thor-cta-band { margin-top: 5em; }
}

/* --- Schwebender Report-Knopf ------------------------------------------- */
.thor-floating-report {
  opacity: 0; transform: translateY(0.875em);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}
body.thor-show-floating .thor-floating-report {
  opacity: 1; transform: none; pointer-events: auto;
}

/* --- Mobiles CTA-Band: Fusszeile freihalten ----------------------------- */
@media (max-width: 680px) {
  .thor-footer { padding-bottom: 7.5em; }
}

/* --- Fusszeile ---------------------------------------------------------- */
.thor-footer-link p { margin: 0; }
.thor-footer-link a { text-decoration: none; }
.thor-footer-link a:hover { text-decoration: underline; }

/* --- Popup -------------------------------------------------------------- */
.thor-popup-inner { width: 100%; }

/* --- Reduzierte Bewegung ------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .elementor *, .elementor *::before, .elementor *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}

/* --- CTA-Baender: Knopf bleibt einzeilig ------------------------------- */
.thor-cta-band > .elementor-widget-button { flex: 0 0 auto; }
.thor-cta-band .elementor-button { white-space: nowrap; }
.thor-cta-band > .elementor-widget-text-editor { flex: 1 1 auto; min-width: 0; }
@media (max-width: 680px) {
  .thor-cta-band .elementor-button { white-space: normal; }
  .thor-cta-band > .elementor-widget-button { flex: 1 1 auto; }
}

/* --- Sterne: Unicode-Glyphen in Markengelb ---------------------------- */
.thor-stars .elementor-star-rating i { font-style: normal; }

/* --- FAQ: Titelzeile bis zum rechten Rand ----------------------------- */
.thor-faq .e-n-accordion-item-title { width: 100%; }
.thor-faq .e-n-accordion-item-title-text { flex: 1 1 auto; }

/* --- FAQ: Plus/Minus im Kreis wie in der Vorlage ----------------------- */
.thor-faq .e-n-accordion-item-title-icon {
  display: grid; place-items: center;
  flex: 0 0 2.125em; width: 2.125em; height: 2.125em;
  border: 1px solid #DDE2E0; border-radius: 999px;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.thor-faq details[open] > summary .e-n-accordion-item-title-icon {
  background: #DFF3ED; border-color: #DFF3ED;
}

/* --- Mobiles Menue: Panel bündig mit der Pille ------------------------- */
/* Panel selbst positionieren – Elementors Stretch-Skript scheitert in 4.2.3
   an dieser Kopfzeilen-Struktur und liefert eine unbrauchbare Breite. */
@media (max-width: 980px) {
  .thor-navpill { position: relative; }
  .elementor .thor-navpill .e-con-inner { position: static; }
  .elementor .thor-nav.elementor-widget,
  .elementor .thor-nav > .elementor-widget-container { position: static !important; }
  .elementor .thor-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: calc(100% + 0.75em) !important;
    inset-inline-start: 0 !important;
    inset-inline-end: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    z-index: 9997;
  }
}

/* --- Prozesspfeile: mobil mittig über der Kachel ----------------------- */
@media (max-width: 980px) {
  .elementor .thor-step-arrow.thor-step-arrow {
    inset-inline-start: 50% !important;
    inset-inline-end: auto !important;
    top: -1.25em !important;
    transform: translateX(-50%) rotate(90deg) !important;
  }
}

/* --- Konzept-Tabs mobil: alle drei Stufen als Liste -------------------- */
@media (max-width: 680px) {
  .elementor .thor-concept-tabs .e-n-tabs-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.25em;
    padding: 0.3125em;
    border-radius: 1.25em;
    margin-inline-start: 0;
  }
  .elementor .thor-concept-tabs .e-n-tab-title {
    justify-content: flex-start;
    padding: 0.8125em 1em;
    width: 100%;
  }
}

/* --- Report-Titelblatt in der Spalte zentrieren ------------------------ */
.thor-report-visual { margin-inline: auto; }

/* --- Vertrauensband: Trennlinien im gestapelten Raster ---------------- */
@media (max-width: 980px) {
  .thor-proof-item { border-inline-end-width: 0 !important; }
  .thor-proof-grid > .e-con:nth-child(n + 3) {
    border-block-start: 1px solid rgba(255, 255, 255, 0.13);
  }
}

/* --- Textspalte neben Nummer / Avatar: nicht ueber den Kartenrand ------ */
/* Elementor gibt Containern width:100%; zusammen mit dem Nachbarn und dem
   Gap ragte die Spalte sonst ueber die Karte hinaus und wurde abgeschnitten. */
.elementor .thor-intro-num + .e-con,
.elementor .thor-avatar + .e-con {
  --width: auto; width: auto; min-width: 0; flex: 1 1 0;
}

/* --- Rechtstexte (Standard-Template) unter der fixen Kopfzeile --------- */
.page-template-default .site-main { padding-top: 8.5em; padding-bottom: 4em; }
@media (max-width: 680px) {
  .page-template-default .site-main { padding-top: 7em; }
}

/* --- Fusszeilen-Links: groessere Tippflaeche --------------------------- */
.thor-footer-link a { display: inline-block; padding-block: 0.625em; }

/* --- Textlinks in Info-Zeilen (Danke- und 404-Seite) ------------------- */
.thor-intro-row .elementor-widget-text-editor a { color: #198B78; font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; }
.thor-intro-row .elementor-heading-title a { color: inherit; }
.thor-intro-row .elementor-heading-title a:hover { color: #198B78; }/* End custom CSS */