/* ==========================================================
   Seniorenbiken – Design-System für Elementor / JetEngine
   Roboto · Fluid Typography 360 → 1440 px · Tokens mit Präfix --sb-
   ========================================================== */
:root {
  --sb-green-900: #143528; --sb-green-700: #1F4D3A; --sb-green-500: #2F6B50; --sb-green-100: #E8F0EA;
  --sb-bg-alt: #F2F5F1; --sb-line: #D5DDD7; --sb-line-soft: #E3E9E5; --sb-chip-line: #C3D0C8;
  --sb-orange-700: #B4501A; --sb-orange-hover: #95410F; --sb-orange-800: #8A3A10; --sb-orange-100: #FCE9DC;
  --sb-orange-300: #F6B98A; --sb-orange-focus: #E8732C; --sb-logo: #FA7F52;
  --sb-text: #1C2420; --sb-text-2: #2E3A34; --sb-muted: #4A5650; --sb-on-dark: #DCE7E0; --sb-on-dark-2: #C9D8CE; --sb-ph: #CFDDD3;

  --sb-fs-xs: clamp(0.9375rem, 0.9167rem + 0.0926vw, 1rem);
  --sb-fs-sm: clamp(1rem, 0.9792rem + 0.0926vw, 1.0625rem);
  --sb-fs-body: clamp(1.125rem, 1.0833rem + 0.1852vw, 1.25rem);
  --sb-fs-lead: clamp(1.25rem, 1.1667rem + 0.3704vw, 1.5rem);
  --sb-fs-h4: clamp(1.3125rem, 1.2083rem + 0.463vw, 1.625rem);
  --sb-fs-h3: clamp(1.5rem, 1.3333rem + 0.7407vw, 2rem);
  --sb-fs-h2: clamp(1.875rem, 1.5833rem + 1.2963vw, 2.75rem);
  --sb-fs-h1: clamp(2.25rem, 1.75rem + 2.2222vw, 3.75rem);
  --sb-fs-display: clamp(2.75rem, 1.8333rem + 4.0741vw, 5.5rem);

  --sb-space-section: clamp(3rem, 1.5rem + 6.6667vw, 7.5rem);
  --sb-space-head: clamp(2rem, 1.5rem + 2.2222vw, 3.5rem);
  --sb-gutter: clamp(1.25rem, 5.5556vw, 5rem);
  --sb-gap: clamp(1.25rem, 0.8333rem + 1.8519vw, 2.5rem);
  --sb-gap-lg: clamp(2.5rem, 1.6667rem + 3.7037vw, 5rem);
  --sb-radius-btn: 12px; --sb-radius-card: 20px; --sb-radius-img: 24px;
  --sb-shadow: 0 18px 40px -18px rgba(20, 53, 40, .35);
  --sb-container: 1280px;
}
html { font-size: 100%; }
html[data-fs="1"] { font-size: 112.5%; }
html[data-fs="2"] { font-size: 125%; }
body { font-family: "Roboto", Arial, sans-serif; font-size: var(--sb-fs-body); line-height: 1.6; color: var(--sb-text); -webkit-font-smoothing: antialiased; }
body a { color: var(--sb-green-700); }
body a:hover { color: var(--sb-orange-700); }
:focus-visible { outline: 3px solid var(--sb-orange-focus) !important; outline-offset: 3px; }
.sb-icon { width: 1.25em; height: 1.25em; flex-shrink: 0; display: inline-block; vertical-align: middle; }
.sb-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Layout-Klassen für Elementor-Container ---------- */
.e-con.sb-section { --padding-top: var(--sb-space-section); --padding-bottom: var(--sb-space-section); --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); }
.e-con.sb-section--flush-top { --padding-top: 0px; }
.e-con.sb-section--alt { background-color: var(--sb-bg-alt); }
.e-con.sb-wrap { width: 100%; max-width: var(--sb-container); margin-inline: auto; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.e-con.sb-stack { --flex-direction: column; --display: flex; --gap: 14px; --row-gap: 14px; }
.e-con.sb-inner { --gap: var(--sb-space-head); --row-gap: var(--sb-space-head); --flex-direction: column; }
.e-con.sb-head { --flex-direction: row; --flex-wrap: wrap; --justify-content: space-between; --align-items: flex-end; --gap: 24px; --row-gap: 24px; }
.e-con.sb-grid-2, .e-con.sb-grid-3, .e-con.sb-grid-4 { --display: grid; display: grid; gap: var(--sb-gap); --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.e-con.sb-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); }
.e-con.sb-grid-3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.e-con.sb-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.e-con.sb-grid-2 > .elementor-element, .e-con.sb-grid-3 > .elementor-element, .e-con.sb-grid-4 > .elementor-element { width: auto; max-width: none; }

/* ---------- Typografie-Klassen ---------- */
.sb-eyebrow .elementor-heading-title { font-size: var(--sb-fs-sm) !important; font-weight: 700 !important; color: var(--sb-orange-700) !important; text-transform: uppercase; letter-spacing: .1em; line-height: 1.4 !important; }
.sb-display .elementor-heading-title { font-size: var(--sb-fs-display) !important; line-height: 1.02 !important; font-weight: 900 !important; letter-spacing: -0.02em; color: var(--sb-green-900); }
.sb-display .elementor-heading-title span, .sb-accent { color: var(--sb-orange-700); }
.sb-h1 .elementor-heading-title { font-size: var(--sb-fs-h1) !important; line-height: 1.1 !important; font-weight: 900 !important; letter-spacing: -0.015em; color: var(--sb-green-900); }
.sb-h2 .elementor-heading-title { font-size: var(--sb-fs-h2) !important; line-height: 1.15 !important; font-weight: 700 !important; color: var(--sb-green-900); }
.sb-h3 .elementor-heading-title { font-size: var(--sb-fs-h3) !important; line-height: 1.2 !important; font-weight: 700 !important; color: var(--sb-green-900); }
.sb-h4 .elementor-heading-title { font-size: var(--sb-fs-h4) !important; line-height: 1.3 !important; font-weight: 700 !important; color: var(--sb-green-900); }
.sb-lead, .sb-lead p { font-size: var(--sb-fs-lead) !important; line-height: 1.55 !important; color: var(--sb-text-2); }
.sb-lead p { margin: 0; }
.sb-muted, .sb-muted p { color: var(--sb-muted) !important; }
.sb-maxw { max-width: 760px; }
.sb-maxw-34 p { max-width: 34ch; }
.sb-on-dark .elementor-heading-title, .sb-on-dark { color: #fff !important; }
.sb-on-dark-soft, .sb-on-dark-soft p { color: var(--sb-on-dark) !important; }
.sb-eyebrow-light .elementor-heading-title { color: var(--sb-orange-300) !important; }

/* ---------- Buttons ---------- */
.sb-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; border-radius: var(--sb-radius-btn); font-family: inherit; font-size: var(--sb-fs-sm); font-weight: 500; line-height: 1.2; border: 2px solid transparent; transition: background .15s, color .15s; }
.sb-btn--lg .elementor-button { min-height: 60px; padding: 0 32px; font-size: var(--sb-fs-body); }
.sb-btn--block, .sb-btn--block .elementor-button { width: 100%; }
.sb-btn--primary .elementor-button { background: var(--sb-orange-700); color: #fff; }
.sb-btn--primary .elementor-button:hover { background: var(--sb-orange-hover); color: #fff; }
.sb-btn--ghost .elementor-button { background: transparent; color: var(--sb-green-700); border-color: var(--sb-green-700); }
.sb-btn--ghost .elementor-button:hover { background: var(--sb-green-700); color: #fff; }
.sb-btn--light .elementor-button { background: #fff; color: var(--sb-green-700); }
.sb-btn--light .elementor-button:hover { background: var(--sb-orange-100); color: var(--sb-orange-800); }
.sb-btn .elementor-button .elementor-button-content-wrapper { gap: 10px; align-items: center; }
.sb-btn .elementor-button-icon svg { width: 1.1em; height: 1.1em; fill: currentColor; }

/* HTML-Buttons aus Shortcodes */
.sb-b { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; border-radius: var(--sb-radius-btn); font: inherit; font-size: var(--sb-fs-sm); font-weight: 500; text-decoration: none; border: 2px solid transparent; cursor: pointer; }
.sb-b--primary { background: var(--sb-orange-700); color: #fff !important; }
.sb-b--primary:hover { background: var(--sb-orange-hover); }
.sb-b--outline { border-color: var(--sb-chip-line); color: var(--sb-green-700) !important; background: #fff; min-height: 48px; padding: 0 18px; }
.sb-b--outline:hover { border-color: var(--sb-green-700); }
.sb-b--lg { min-height: 56px; font-size: var(--sb-fs-body); }
.sb-b--block { width: 100%; }

/* ---------- Badges ---------- */
.sb-badge { display: inline-flex; align-items: center; font-size: var(--sb-fs-xs); font-weight: 500; padding: 6px 14px; border-radius: 999px; line-height: 1.3; text-decoration: none; }
.sb-badge--green { background: var(--sb-green-700); color: #fff !important; }
.sb-badge--orange { background: var(--sb-orange-700); color: #fff !important; }
.sb-badge--soft { background: var(--sb-orange-100); color: var(--sb-orange-800) !important; }
.sb-badge--outline { background: #fff; color: var(--sb-green-700) !important; border: 1px solid var(--sb-chip-line); }
.sb-badges { display: flex; flex-wrap: wrap; gap: 10px; }
.sb-badges .sb-badge { font-size: var(--sb-fs-sm); padding: 6px 16px; }

/* ---------- Topbar & Header ---------- */
.e-con.sb-topbar { background: var(--sb-green-900); --padding-top: 8px; --padding-bottom: 8px; --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); }
.sb-topbar-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; font-size: var(--sb-fs-xs); color: var(--sb-on-dark-2); }
.sb-topbar-inner a { color: var(--sb-on-dark-2); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.sb-topbar-inner a:hover { color: #fff; }
.sb-topbar-right { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.sb-fontsize { display: flex; align-items: center; gap: 4px; }
.sb-fontsize__label { margin-right: 6px; }
.sb-fs-btn { min-width: 36px; height: 32px; padding: 0 6px; border-radius: 8px; cursor: pointer; border: 1px solid var(--sb-green-500); background: transparent; color: var(--sb-on-dark-2); line-height: 1; font-family: inherit; }
.sb-fs-btn[data-fs="0"] { font-size: 15px; } .sb-fs-btn[data-fs="1"] { font-size: 18px; } .sb-fs-btn[data-fs="2"] { font-size: 21px; }
.sb-fs-btn[aria-pressed="true"] { background: var(--sb-green-700); color: #fff; }
.sb-fs-btn:hover { color: #fff; border-color: var(--sb-on-dark-2); }

.e-con.sb-header { background: #fff; border-bottom: 1px solid var(--sb-line); --padding-top: 14px; --padding-bottom: 14px; --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); }
.elementor-location-header { position: sticky; top: 0; z-index: 100; }
body.admin-bar .elementor-location-header { top: 32px; }
.sb-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--sb-text) !important; }
.sb-logo img { width: 60px; height: 60px; object-fit: contain; }
.sb-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.sb-logo__name { font-size: 28px; font-weight: 900; letter-spacing: -0.5px; color: var(--sb-text); }
.sb-logo__name span { color: var(--sb-orange-700); }
.sb-logo__sub { font-size: 14px; color: var(--sb-muted); letter-spacing: .4px; }

/* Elementor Pro Nav Menu */
.sb-nav .elementor-nav-menu--main .elementor-item { font-size: var(--sb-fs-body); font-weight: 500; color: var(--sb-text); padding: 10px 14px; }
.sb-nav .elementor-nav-menu--main .elementor-item:hover, .sb-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--sb-orange-700); }
.sb-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after, .sb-nav .elementor-nav-menu--main .elementor-item:hover::after { background-color: var(--sb-orange-700); height: 3px; }
.sb-nav .elementor-nav-menu--main .sub-menu { border: 1px solid var(--sb-line); border-radius: 16px; box-shadow: var(--sb-shadow); padding: 10px; background: #fff; min-width: 280px; }
.sb-nav .elementor-nav-menu--main .sub-menu a { font-size: var(--sb-fs-sm); color: var(--sb-text); border-radius: 10px; padding: 12px 14px; background: transparent; }
.sb-nav .elementor-nav-menu--main .sub-menu a:hover { background: var(--sb-bg-alt); color: var(--sb-orange-700); }
.sb-nav .elementor-menu-toggle { width: 52px; height: 52px; border-radius: var(--sb-radius-btn); background: var(--sb-green-700); color: #fff; font-size: 24px; }
.sb-nav .elementor-menu-toggle svg { fill: #fff; }
.sb-nav .elementor-nav-menu--dropdown { background: #fff; border-top: 1px solid var(--sb-line); box-shadow: 0 20px 40px -24px rgba(20,53,40,.4); }
.sb-nav .elementor-nav-menu--dropdown a { font-size: var(--sb-fs-h4); font-weight: 500; color: var(--sb-green-900); min-height: 60px; padding: 0 var(--sb-gutter); border-bottom: 1px solid var(--sb-line-soft); background: #fff; }
.sb-nav .elementor-nav-menu--dropdown .sub-menu a { font-size: var(--sb-fs-body); min-height: 48px; color: var(--sb-muted); padding-left: calc(var(--sb-gutter) + 16px) !important; }
.sb-nav .elementor-nav-menu--dropdown a:hover, .sb-nav .elementor-nav-menu--dropdown a.elementor-item-active { background: var(--sb-bg-alt); color: var(--sb-orange-700); }

/* ---------- Bildplatzhalter / Bilder ---------- */
.sb-img img, .sb-img .elementor-image img { width: 100%; object-fit: cover; display: block; }
.sb-hero-img img { height: 560px; border-radius: var(--sb-radius-img); }
.sb-cover-img img { height: 600px; border-radius: var(--sb-radius-img); }

/* ---------- Hero ---------- */
.e-con.sb-hero { background: var(--sb-bg-alt); }
.e-con.sb-hero-grid { --display: grid; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: var(--sb-gap-lg); align-items: center; }
.e-con.sb-hero-text { --gap: 28px; --row-gap: 28px; }
.sb-hero-badge .elementor-heading-title { display: inline-block; padding: 8px 16px; border-radius: 999px; background: var(--sb-orange-100); color: var(--sb-orange-800) !important; font-size: var(--sb-fs-sm) !important; font-weight: 500 !important; line-height: 1.4 !important; }
.e-con.sb-hero-media { position: relative; }
.sb-hero-card { position: absolute; left: -32px; bottom: 32px; width: 360px; max-width: 90%; display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; background: #fff; border-radius: var(--sb-radius-card); box-shadow: 0 20px 50px -20px rgba(20,53,40,.45); text-decoration: none; color: var(--sb-text) !important; transition: transform .2s; }
.sb-hero-card:hover { transform: translateY(-2px); }
.sb-hero-card__label { font-size: var(--sb-fs-xs); font-weight: 500; color: var(--sb-orange-800); text-transform: uppercase; letter-spacing: .08em; }
.sb-hero-card__title { font-size: var(--sb-fs-h4); font-weight: 700; line-height: 1.3; color: var(--sb-green-900); }
.sb-hero-card__facts { display: flex; gap: 18px; font-size: var(--sb-fs-sm); color: var(--sb-muted); }

/* ---------- Feature-Karten (Rubriken) ---------- */
.e-con.sb-feature { --gap: 16px; --row-gap: 16px; --padding-top: 32px; --padding-bottom: 32px; --padding-left: 32px; --padding-right: 32px; border: 1px solid var(--sb-line); border-radius: var(--sb-radius-card); background: #fff; transition: box-shadow .2s, transform .2s; }
.e-con.sb-feature:hover { box-shadow: var(--sb-shadow); transform: translateY(-2px); }
.sb-feature-icon .elementor-icon { width: 64px; height: 64px; border-radius: 16px; background: var(--sb-green-100); color: var(--sb-green-700); display: inline-flex; align-items: center; justify-content: center; font-size: 30px; padding: 0; }
.sb-feature-icon .elementor-icon svg { width: 30px; height: 30px; fill: currentColor; }
.sb-link-arrow .elementor-button { background: none !important; padding: 0 !important; color: var(--sb-orange-700) !important; font-weight: 500; font-size: var(--sb-fs-body); min-height: 0; }
.sb-link-arrow .elementor-button:hover { color: var(--sb-orange-hover) !important; text-decoration: underline; }
.sb-link-arrow { margin-top: auto; }

/* ---------- JetEngine Listing-Karten ---------- */
.jet-listing-grid__items { --sb-cols: 3; }
.sb-card.e-con { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; height: 100%; overflow: hidden; border-radius: var(--sb-radius-card); background: #fff; border: 1px solid var(--sb-line); transition: box-shadow .2s, transform .2s; }
.sb-section--alt .sb-card.e-con { border-color: transparent; }
.jet-listing-grid__item:hover .sb-card.e-con { box-shadow: var(--sb-shadow); transform: translateY(-2px); }
.sb-card__media { position: relative; }
.sb-card__media img { width: 100%; height: 230px; object-fit: cover; display: block; }
.sb-card--lg .sb-card__media img { height: 340px; }
.sb-card__body.e-con { --padding-top: 24px; --padding-bottom: 28px; --padding-left: 26px; --padding-right: 26px; --gap: 10px; --row-gap: 10px; flex-grow: 1; }
.sb-card--lg .sb-card__body.e-con { --padding-top: 32px; --padding-bottom: 32px; --padding-left: 32px; --padding-right: 32px; --gap: 14px; --row-gap: 14px; }
.sb-card__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--sb-fs-xs); color: var(--sb-muted); line-height: 1.5; }
.sb-card--lg .sb-card__meta { font-size: var(--sb-fs-sm); }
.sb-card__meta strong { color: var(--sb-green-700); }
.sb-card__title .elementor-heading-title, .sb-card__title { font-size: var(--sb-fs-h4) !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--sb-green-900) !important; }
.sb-card__title a { color: inherit !important; text-decoration: none; }
.sb-card--lg .sb-card__title .elementor-heading-title { font-size: var(--sb-fs-h3) !important; line-height: 1.2 !important; }
.sb-card__excerpt, .sb-card__excerpt .jet-listing-dynamic-field__content { color: var(--sb-muted); font-size: var(--sb-fs-body); }
.sb-card__foot { margin-top: auto; color: var(--sb-muted); font-size: var(--sb-fs-sm); display: inline-flex; gap: 8px; align-items: center; }
.sb-card__badge { position: absolute; right: 12px; top: 12px; z-index: 2; }
.sb-card__badge--left { left: 16px; right: auto; top: 16px; }
.sb-card .jet-listing-dynamic-image, .sb-card .jet-listing-dynamic-image__link { display: block; width: 100%; }
.jet-listing-grid__items { gap: 0; }
.jet-engine-listing-overlay-wrap { height: 100%; }

.sb-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 16px 0; border-block: 1px solid var(--sb-line-soft); }
.sb-facts > span { display: flex; flex-direction: column; font-size: var(--sb-fs-xs); color: var(--sb-muted); line-height: 1.4; }
.sb-facts b { font-size: var(--sb-fs-h4); color: var(--sb-green-900); line-height: 1.3; }
.sb-facts b.is-orange { color: var(--sb-orange-800); }
.sb-arrow-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; color: var(--sb-orange-700) !important; text-decoration: none; }

/* ---------- Filter (JetSmartFilters) als Chips ---------- */
.sb-chips .jet-radio-list-wrapper fieldset { display: flex; flex-wrap: wrap; gap: 10px; border: 0; margin: 0; padding: 0; }
.sb-chips .jet-radio-list__row { margin: 0 !important; }
.sb-chips .jet-radio-list__item { cursor: pointer; }
.sb-chips .jet-radio-list__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sb-chips .jet-radio-list__button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; border: 2px solid var(--sb-chip-line); background: #fff; color: var(--sb-text); font-size: var(--sb-fs-sm); line-height: 1; transition: border-color .15s; }
.sb-chips .jet-radio-list__decorator { display: none !important; }
.sb-chips .jet-radio-list__item:hover .jet-radio-list__button { border-color: var(--sb-green-700); }
.sb-chips .jet-radio-list__input:checked + .jet-radio-list__button { background: var(--sb-green-700); border-color: var(--sb-green-700); color: #fff; }
.sb-chips .jet-radio-list__input:focus-visible + .jet-radio-list__button { outline: 3px solid var(--sb-orange-focus); outline-offset: 3px; }
.sb-chips .jet-filter-label { font-size: var(--sb-fs-sm); font-weight: 700; color: var(--sb-green-900); margin-bottom: 10px; }
.sb-filterbar.e-con { --flex-direction: row; --flex-wrap: wrap; --gap: 16px 24px; --row-gap: 16px; --align-items: flex-end; }
.sb-select .jet-select__control { min-height: 52px; min-width: 220px; padding: 0 16px; border: 2px solid var(--sb-chip-line); border-radius: var(--sb-radius-btn); font: inherit; font-size: var(--sb-fs-body); background-color: #fff; color: var(--sb-text); }
.sb-select .jet-filter-label { font-size: var(--sb-fs-sm); font-weight: 700; color: var(--sb-green-900); margin-bottom: 8px; }
.sb-remove .jet-remove-all-filters__button { min-height: 52px; padding: 0 20px; border-radius: var(--sb-radius-btn); border: 2px solid var(--sb-green-700); background: transparent; color: var(--sb-green-700); font: inherit; font-size: var(--sb-fs-sm); cursor: pointer; }
.sb-remove .jet-remove-all-filters__button:hover { background: var(--sb-green-700); color: #fff; }
.jet-listing-not-found { padding: 32px; border-radius: var(--sb-radius-card); background: #fff; text-align: center; color: var(--sb-muted); width: 100%; }

/* ---------- Registrierungs-Band ---------- */
.e-con.sb-cta { --display: grid; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: var(--sb-gap); align-items: center; padding: clamp(2rem, 0.6667rem + 5.9259vw, 6rem); border-radius: 32px; background: var(--sb-green-700); }
.e-con.sb-cta-text { --gap: 20px; --row-gap: 20px; }
.e-con.sb-cta-box { --gap: 24px; --row-gap: 24px; --padding-top: clamp(1.75rem, 1.3333rem + 1.8519vw, 3rem); --padding-bottom: clamp(1.75rem, 1.3333rem + 1.8519vw, 3rem); --padding-left: clamp(1.75rem, 1.3333rem + 1.8519vw, 3rem); --padding-right: clamp(1.75rem, 1.3333rem + 1.8519vw, 3rem); border-radius: var(--sb-radius-img); background: #fff; }
.sb-checklist .elementor-icon-list-item { align-items: flex-start !important; gap: 14px; font-size: var(--sb-fs-body); color: var(--sb-text); }
.sb-checklist .elementor-icon-list-items { display: flex; flex-direction: column; gap: 16px; }
.sb-checklist .elementor-icon-list-icon { width: 32px !important; height: 32px; border-radius: 50%; background: var(--sb-green-100); color: var(--sb-green-700); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sb-checklist .elementor-icon-list-icon svg { width: 16px !important; height: 16px !important; fill: var(--sb-green-700) !important; }
.sb-checklist .elementor-icon-list-text { padding-left: 0 !important; }

/* ---------- Footer ---------- */
.e-con.sb-footer { background: var(--sb-green-900); color: var(--sb-on-dark-2); font-size: var(--sb-fs-sm); --padding-top: clamp(3rem, 2rem + 4.4444vw, 6rem); --padding-bottom: 40px; --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); }
.sb-footer-inner { display: flex; flex-direction: column; gap: 56px; color: var(--sb-on-dark-2); font-size: var(--sb-fs-sm); }
.sb-footer-inner a { color: var(--sb-on-dark-2); text-decoration: none; }
.sb-footer-inner a:hover { color: #fff; text-decoration: underline; }
.sb-footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 40px; }
.sb-footer-brand { display: flex; flex-direction: column; gap: 16px; }
.sb-footer-brand p { max-width: 36ch; margin: 0; }
.sb-footer-logo { font-size: 30px; font-weight: 900; color: #fff; letter-spacing: -0.5px; }
.sb-footer-logo span { color: var(--sb-orange-300); }
.sb-footer-col h2 { font-size: var(--sb-fs-body); color: #fff; margin: 0 0 12px; font-weight: 700; }
.sb-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sb-social { display: flex; gap: 12px; }
.sb-social a { width: 48px; height: 48px; border-radius: var(--sb-radius-btn); border: 1px solid var(--sb-green-500); display: inline-flex; align-items: center; justify-content: center; }
.sb-social a:hover { background: var(--sb-green-700); text-decoration: none; }
.sb-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 28px; border-top: 1px solid var(--sb-green-500); font-size: var(--sb-fs-xs); }
.sb-footer-legal { display: flex; flex-wrap: wrap; gap: 24px; }

/* ---------- Detailseiten ---------- */
.e-con.sb-page-head { background: var(--sb-bg-alt); --padding-top: clamp(2rem, 1.3333rem + 2.963vw, 4rem); --padding-bottom: clamp(2rem, 1.3333rem + 2.963vw, 4rem); --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); }
.e-con.sb-page-head--cover { --padding-bottom: 0px; }
.e-con.sb-page-head-inner { --gap: 24px; --row-gap: 24px; }
.e-con.sb-narrow { max-width: 960px; }
.sb-page-head .sb-h1 .elementor-heading-title { max-width: 22ch; }
.sb-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: var(--sb-fs-sm); color: var(--sb-muted); }
.sb-breadcrumb li + li::before { content: "›"; margin-right: 8px; }
.sb-breadcrumb a { text-decoration: none; }
.sb-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; font-size: var(--sb-fs-sm); color: var(--sb-muted); }
.sb-meta > span { display: inline-flex; align-items: center; gap: 8px; }
.sb-meta .sb-meta__author { gap: 12px; color: var(--sb-text); font-weight: 500; }
.sb-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--sb-green-700); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0; font-size: 17px; }
.sb-avatar--lg { width: 88px; height: 88px; font-size: 28px; background: var(--sb-ph); color: var(--sb-green-700); }
.e-con.sb-cover { background: linear-gradient(var(--sb-bg-alt) 50%, #fff 50%); --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); --padding-top: 0px; --padding-bottom: 0px; }
.e-con.sb-layout { --flex-direction: row; --flex-wrap: wrap; --align-items: flex-start; --gap: var(--sb-gap-lg); --row-gap: var(--sb-gap-lg); --padding-top: var(--sb-gap-lg); --padding-bottom: var(--sb-space-section); --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); }
.e-con.sb-layout > .e-con-inner, .e-con.sb-layout-inner { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--sb-gap-lg); }
.e-con.sb-main { flex: 999 1 560px; min-width: 0; max-width: 760px; --gap: 24px; --row-gap: 24px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.e-con.sb-aside { flex: 1 1 320px; min-width: 0; --gap: 24px; --row-gap: 24px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.sb-prose, .sb-prose .elementor-widget-container, .sb-prose .jet-listing-dynamic-field__content { color: var(--sb-text-2); line-height: 1.7; font-size: var(--sb-fs-body); }
.sb-prose h2 { font-size: var(--sb-fs-h3); line-height: 1.2; margin: 1.6em 0 .5em; color: var(--sb-green-900); font-weight: 700; }
.sb-prose h3 { font-size: var(--sb-fs-h4); line-height: 1.3; margin: 1.4em 0 .4em; color: var(--sb-green-900); font-weight: 700; }
.sb-prose p { margin: 0 0 1em; }
.sb-prose ul, .sb-prose ol { margin: 0 0 1em; padding-left: 1.4em; }
.sb-prose li { margin-bottom: .5em; }
.sb-prose img { border-radius: 16px; height: auto; }
.sb-prose a { text-decoration: underline; }
.sb-prose > *:first-child, .sb-prose .elementor-widget-container > *:first-child { margin-top: 0; }

.sb-note { display: flex; gap: 18px; padding: 24px 28px; border-radius: 16px; background: var(--sb-orange-100); color: #5C2A0C; }
.sb-note strong { display: block; }
.sb-note__icon { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--sb-orange-700); display: inline-flex; align-items: center; justify-content: center; }
.sb-disclaimer { font-size: var(--sb-fs-sm); color: var(--sb-muted); font-style: italic; }
.sb-share { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 24px 0; border-block: 1px solid var(--sb-line); }
.sb-share__label { font-weight: 700; margin-right: 8px; }
.sb-toast { font-size: var(--sb-fs-sm); color: var(--sb-green-700); font-weight: 500; }
.sb-author-box { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding: 28px; border: 1px solid var(--sb-line); border-radius: var(--sb-radius-card); }
.sb-author-box img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.sb-author-box__text { display: flex; flex-direction: column; gap: 6px; flex: 1 1 260px; }
.sb-author-box__label { font-size: var(--sb-fs-xs); color: var(--sb-muted); text-transform: uppercase; letter-spacing: .08em; }
.sb-author-box__name { font-size: var(--sb-fs-h4); font-weight: 700; color: var(--sb-green-900); }

.e-con.sb-box { --gap: 14px; --row-gap: 14px; --padding-top: 28px; --padding-bottom: 28px; --padding-left: 28px; --padding-right: 28px; border-radius: var(--sb-radius-card); }
.e-con.sb-box--alt { background: var(--sb-bg-alt); }
.e-con.sb-box--line { border: 1px solid var(--sb-line); }
.e-con.sb-box--dark { background: var(--sb-green-700); color: var(--sb-on-dark); }
.e-con.sb-box--dark .elementor-heading-title { color: #fff !important; }
.e-con.sb-box--dark .elementor-widget-text-editor { color: var(--sb-on-dark); }
.sb-cat-list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sb-cat-list a { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 16px; border-radius: 10px; background: #fff; text-decoration: none; font-weight: 500; }
.sb-recent { display: flex; flex-direction: column; gap: 16px; }
.sb-recent a { display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--sb-text); }
.sb-recent a span { font-weight: 500; line-height: 1.35; }
.sb-recent a small { font-size: var(--sb-fs-xs); color: var(--sb-muted); }
.sb-recent a:hover span { color: var(--sb-orange-700); }

/* Tour */
.sb-kstats { position: relative; z-index: 2; max-width: 1180px; margin: -64px auto 0; padding: 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); background: #fff; border-radius: var(--sb-radius-card); box-shadow: 0 24px 60px -24px rgba(20,53,40,.35); }
.sb-kstat { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; padding: 20px 16px; margin: 0; }
.sb-kstat__icon { grid-row: span 2; width: 52px; height: 52px; border-radius: 14px; background: var(--sb-green-100); color: var(--sb-green-700); display: inline-flex; align-items: center; justify-content: center; }
.sb-kstat__icon--orange { background: var(--sb-orange-100); color: var(--sb-orange-700); }
.sb-kstat dt { font-size: var(--sb-fs-xs); color: var(--sb-muted); align-self: end; }
.sb-kstat dd { margin: 0; font-size: var(--sb-fs-h4); font-weight: 700; color: var(--sb-green-900); line-height: 1.2; white-space: nowrap; align-self: start; }
.sb-kstat dd.is-orange { color: var(--sb-orange-800); }
.e-con.sb-kstats-wrap { --padding-left: var(--sb-gutter); --padding-right: var(--sb-gutter); --padding-top: 0px; --padding-bottom: 0px; }
.sb-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 170px; gap: 12px; }
.sb-gallery button { border: 0; padding: 0; border-radius: 16px; cursor: zoom-in; overflow: hidden; background: var(--sb-ph); }
.sb-gallery button:first-child { grid-column: span 2; grid-row: span 2; }
.sb-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.sb-gallery button:hover img { transform: scale(1.03); }
.sb-lightbox { border: 0; padding: 0; background: transparent; max-width: min(1200px, 94vw); width: 100%; }
.sb-lightbox::backdrop { background: rgba(10, 26, 20, .9); }
.sb-lightbox__inner { display: flex; flex-direction: column; gap: 14px; }
.sb-lightbox__img { max-height: 78vh; width: 100%; object-fit: contain; border-radius: 12px; }
.sb-lightbox__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #fff; font-size: var(--sb-fs-sm); }
.sb-lightbox__nav { display: flex; gap: 10px; }
.sb-icon-btn { width: 52px; height: 52px; border-radius: var(--sb-radius-btn); border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.12); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.sb-icon-btn:hover { background: rgba(255,255,255,.25); }
.sb-downloads { display: flex; flex-direction: column; gap: 14px; padding: 24px 28px; border: 1px solid var(--sb-line); border-radius: var(--sb-radius-card); }
.sb-downloads h2 { font-size: var(--sb-fs-h4); margin: 0; color: var(--sb-green-900); }
.sb-lock { display: inline-flex; align-items: center; gap: 8px; font-size: var(--sb-fs-xs); color: var(--sb-muted); }
.sb-extlinks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sb-extlinks a { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 16px; border-radius: 10px; background: var(--sb-bg-alt); text-decoration: none; font-weight: 500; }
.sb-facts-list { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 12px 20px; }
.sb-facts-list dt { color: var(--sb-muted); }
.sb-facts-list dd { margin: 0; font-weight: 500; }
.sb-team { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }

/* Formulare (Elementor Pro Form) */
.sb-form .elementor-field-textual { min-height: 52px; border: 2px solid var(--sb-chip-line) !important; border-radius: var(--sb-radius-btn) !important; font-size: var(--sb-fs-body) !important; padding: 10px 16px !important; }
.sb-form textarea.elementor-field-textual { min-height: 160px; }
.sb-form .elementor-field-label { font-weight: 500; color: var(--sb-green-900); }
.sb-form .elementor-button { min-height: 56px; padding: 0 32px; border-radius: var(--sb-radius-btn); background: var(--sb-orange-700); font-size: var(--sb-fs-body); font-weight: 500; }
.sb-form .elementor-button:hover { background: var(--sb-orange-hover); }

/* ==========================================================
   Responsive (unter 900 px)
   ========================================================== */
@media (max-width: 900px) {
  .sb-hide-mobile, .sb-topbar-claim { display: none !important; }
  .sb-logo img { width: 46px; height: 46px; }
  .sb-logo__name { font-size: 22px; }
  .sb-logo__sub { font-size: 13px; }
  .sb-hero-img img { height: 300px; }
  .sb-hero-card { position: relative; left: auto; bottom: auto; width: auto; max-width: none; margin: -56px 16px 0; }
  .sb-hero-btns.e-con > .elementor-element { width: 100%; }
  .sb-hero-btns .elementor-button { width: 100%; }
  .e-con.sb-feature { --padding-top: 26px; --padding-bottom: 26px; --padding-left: 26px; --padding-right: 26px; }
  .sb-card--lg .sb-card__media img { height: 220px; }
  .sb-card__media img { height: 200px; }
  .sb-card--lg .sb-card__body.e-con { --padding-top: 24px; --padding-bottom: 24px; --padding-left: 24px; --padding-right: 24px; }
  .sb-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-chips .jet-radio-list-wrapper fieldset { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .sb-chips .jet-radio-list__button { white-space: nowrap; }
  .sb-footer-grid { grid-template-columns: 1fr 1fr; }
  .sb-footer-brand { grid-column: 1 / -1; }
  .sb-cover-img img { height: 260px; border-radius: 16px; }
  .sb-kstats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: -40px; padding: 6px; }
  .sb-kstat { padding: 14px 10px; column-gap: 10px; }
  .sb-kstat__icon { width: 40px; height: 40px; }
  .sb-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 130px; }
  .e-con.sb-cta { padding: 28px 16px 16px; border-radius: 24px; }
  .e-con.sb-cta-box { --padding-top: 24px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px; }
  .sb-select .jet-select__control { min-width: 0; width: 100%; }
  .sb-filterbar.e-con > .elementor-element { width: 100%; }
}
@media (max-width: 480px) {
  .sb-footer-grid { grid-template-columns: 1fr; }
  .sb-fontsize__label { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
.sb-gallery-title { font-size: var(--sb-fs-h2); line-height: 1.15; margin: 32px 0 20px; color: var(--sb-green-900); font-weight: 700; }
.sb-shortcode-flush .elementor-shortcode, .sb-shortcode-flush .elementor-widget-container { width: 100%; }

/* ---------- Korrekturen nach erstem Rendern ---------- */
/* Kit-Buttonstil nicht auf Hilfsbuttons anwenden */
.sb-fs-btn { background: transparent !important; color: var(--sb-on-dark-2) !important; padding: 0 6px !important; border-radius: 8px !important; border: 1px solid var(--sb-green-500) !important; }
.sb-fs-btn[aria-pressed="true"] { background: var(--sb-green-700) !important; color: #fff !important; }
.sb-b--outline { background: #fff !important; color: var(--sb-green-700) !important; border: 2px solid var(--sb-chip-line) !important; border-radius: var(--sb-radius-btn) !important; padding: 0 18px !important; font-size: var(--sb-fs-sm) !important; }
.sb-b--outline:hover { border-color: var(--sb-green-700) !important; }
.sb-gallery button { background: var(--sb-ph) !important; padding: 0 !important; border: 0 !important; border-radius: 16px !important; }
.sb-icon-btn { padding: 0 !important; border-radius: var(--sb-radius-btn) !important; }
/* Kopfzeilen von Sektionen: Titel links, Button rechts */
.e-con.sb-head > .e-con { --width: auto; width: auto; flex: 1 1 320px; }
.e-con.sb-head > .elementor-widget { width: auto; flex: 0 0 auto; }
/* Filterleisten */
.e-con.sb-filterbar > .elementor-element { min-width: 0; max-width: 100%; }
.e-con.sb-filterbar > .elementor-widget-jet-smart-filters-select { flex: 0 1 260px; min-width: 200px; }
.sb-select .jet-select, .sb-select .jet-select__control { width: 100%; }
.sb-chips, .sb-chips .jet-radio-list, .sb-chips .jet-radio-list-wrapper, .sb-chips fieldset { min-width: 0; max-width: 100%; }
.e-con.sb-filterbar { --flex-direction: column; --align-items: stretch; }
.e-con.sb-filterbar:has(.sb-select) { --flex-direction: row; --align-items: flex-end; }
/* Abstand nach Seitenkopf */
.e-con.sb-page-head + .e-con.sb-section { --padding-top: var(--sb-gap-lg); }
/* schmaler Kopf bündig mit Inhalt */
.e-con.sb-narrow { max-width: var(--sb-container); }
/* Icons in Rubrik-Karten linksbündig */
.sb-feature-icon, .sb-feature-icon .elementor-icon-wrapper { text-align: left; }
@media (max-width: 900px) {
  .e-con.sb-filterbar > .elementor-widget-jet-smart-filters-select { flex: 1 1 100%; }
  .sb-btn--lg .elementor-button { font-size: var(--sb-fs-sm); padding: 0 20px; }
}
.sb-feature-icon .elementor-icon-wrapper { display: flex; justify-content: flex-start; }
.e-con.sb-filterbar > .elementor-widget-jet-smart-filters-radio { width: 100%; }
