/* =========================================================
   Witt – Design-Bausteine für Elementor
   Farben: ink #0F1E2B · surface #FAF7F2 · gulf-blue #B5E2FB
           orange #FF7D24 · text-orange #B4480A · text-blue #1F5F88
   ========================================================= */
:root {
  --w-ink: #0F1E2B; --w-ink-2: #4E5B66; --w-surface: #FAF7F2; --w-white: #FFFFFF;
  --w-line: #E5DED3; --w-blue: #B5E2FB; --w-blue-soft: #E6F4FD; --w-blue-text: #1F5F88;
  --w-orange: #FF7D24; --w-orange-text: #B4480A; --w-orange-light: #FF8A3A;
  --w-navy-line: #2A3D4D; --w-on-dark: #F6F2EA; --w-on-dark-2: #A9B6C1;
  --w-radius: 20px; --w-radius-s: 10px;
  --w-font: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
}
body { background: var(--w-surface); color: var(--w-ink); font-family: var(--w-font); -webkit-font-smoothing: antialiased; }
body a { color: var(--w-orange-text); }
body a:hover { color: var(--w-ink); }
.elementor h1, .elementor h2, .elementor h3, .elementor .elementor-heading-title { font-family: var(--w-font); font-stretch: 125%; }

/* ---------- Typografie ---------- */
.w-label .elementor-heading-title, .w-label { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--w-orange-text); line-height: 1.4 !important; font-stretch: 100% !important; }
.w-label--blue .elementor-heading-title { color: var(--w-blue-text); }
.w-label--light .elementor-heading-title { color: var(--w-orange-light); }
.w-h1 .elementor-heading-title { font-size: clamp(40px, 4.4vw, 66px); font-weight: 800; line-height: .98; letter-spacing: -.025em; color: var(--w-ink); }
.w-h1-hero .elementor-heading-title { font-size: clamp(36px, 4.4vw, 62px); font-weight: 800; line-height: 1.02; letter-spacing: -.025em; color: var(--w-on-dark); hyphens: manual; overflow-wrap: break-word; }
.w-h2 .elementor-heading-title { font-size: clamp(32px, 4vw, 52px); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; color: var(--w-ink); text-wrap: balance; }
.w-h2--light .elementor-heading-title { color: var(--w-on-dark); }
.w-h3 .elementor-heading-title { font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--w-ink); }
.w-hl { color: var(--w-blue); }
.w-hl-muted { color: var(--w-ink-2); }
.w-lead, .w-lead p { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: var(--w-ink-2); max-width: 560px; }
.w-lead--dark, .w-lead--dark p { color: #D5DDE3; }
.w-text, .w-text p { font-size: 18px; line-height: 1.75; color: var(--w-ink); max-width: 720px; }
.w-small, .w-small p { font-size: 15px; line-height: 1.55; color: var(--w-ink-2); }
.w-note, .w-note p { font-size: 14px; color: var(--w-ink-2); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor p { margin-top: 0; }

/* ---------- Buttons ---------- */
.w-btn .elementor-button, .w-btn-sec .elementor-button, .w-btn-dark .elementor-button {
  min-height: 54px; display: inline-flex; align-items: center; padding: 0 24px; border-radius: var(--w-radius-s);
  font-family: var(--w-font); font-size: 16px; font-weight: 700; line-height: 1; transition: background .2s, border-color .2s;
}
.w-btn .elementor-button { background: var(--w-orange); color: var(--w-ink); border: 0; }
.w-btn .elementor-button:hover { background: #FF9142; color: var(--w-ink); }
.w-btn-sec .elementor-button { background: transparent; color: var(--w-ink); border: 1.5px solid var(--w-line); font-weight: 600; }
.w-btn-sec .elementor-button:hover { border-color: var(--w-ink); color: var(--w-ink); }
.w-btn-dark .elementor-button { background: transparent; color: var(--w-on-dark); border: 1.5px solid var(--w-navy-line); }
.w-btn-dark .elementor-button:hover { border-color: var(--w-on-dark); color: var(--w-on-dark); }
.w-link a, a.w-link { font-weight: 700; text-decoration: none; color: var(--w-orange-text); }
.w-link--light a, a.w-link--light { color: var(--w-orange-light); }

/* ---------- Livery-Band ---------- */
.witt-band { display: flex; flex-direction: column; gap: 4px; width: 100%; }
.witt-band span { display: block; background: var(--w-blue); height: 18px; }
.witt-band span:nth-child(2) { background: var(--w-orange); height: 26px; }
.witt-band--s span { height: 14px; } .witt-band--s span:nth-child(2) { height: 20px; }

/* ---------- Karten ---------- */
.w-card { background: var(--w-white); border: 1px solid var(--w-line); border-radius: var(--w-radius); overflow: hidden; }
.w-card--dark { background: var(--w-ink); border-color: var(--w-ink); color: var(--w-on-dark); }
.w-card--dark .elementor-heading-title { color: var(--w-on-dark); }
.w-card--dark .w-small, .w-card--dark .w-small p { color: var(--w-on-dark-2); }
.w-card--feature { border: 2px solid var(--w-orange); }
.w-cover img, .w-cover .elementor-widget-container img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 0; }
.w-cover--tall img { aspect-ratio: 4 / 5; }
.w-cover--wide img { aspect-ratio: 16 / 10; }
.w-img-round img { width: 100%; border-radius: var(--w-radius); object-fit: cover; display: block; }
.w-img-round--43 img { aspect-ratio: 4 / 3; }
.w-img-round--45 img { aspect-ratio: 4 / 5; }
.w-tile { background: var(--w-white); border-radius: var(--w-radius-s); }
.w-tile .elementor-heading-title { font-size: 16px; font-weight: 700; font-stretch: 100%; }

/* Akzentlinie oben (Ablauf, Vertrauen, Vorteile) */
.w-topline { border-top: 2px solid var(--w-ink); }
.w-num .elementor-heading-title { font-size: 14px !important; font-weight: 700; color: var(--w-orange-text); font-stretch: 100%; }

/* ---------- Chips ---------- */
.w-chips p, .w-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.w-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: var(--w-white); border: 1px solid var(--w-line); font-size: 15px; font-weight: 700; color: var(--w-ink); }

/* ---------- Häkchen-Listen (Icon-Liste) ---------- */
.w-checks .elementor-icon-list-item { align-items: flex-start !important; }
.w-checks .elementor-icon-list-icon { padding-top: 4px; }
.w-checks .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: var(--w-blue-text); }
.w-checks .elementor-icon-list-text { font-size: 16px; line-height: 1.5; color: var(--w-ink); }
.w-checks--dark .elementor-icon-list-icon svg { fill: var(--w-blue); }
.w-checks--dark .elementor-icon-list-text { color: var(--w-on-dark); font-size: 15px; }
.w-meta, .w-meta p { font-size: 14px; color: var(--w-on-dark-2); }
.w-meta strong { color: var(--w-on-dark); }
.w-meta--light, .w-meta--light p { color: var(--w-ink-2); }
.w-meta--light strong { color: var(--w-ink); }

/* ---------- Preisbox ---------- */
.w-prices { background: var(--w-white); border: 1px solid var(--w-line); border-radius: var(--w-radius); padding: 24px; }
.w-prices .w-price-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--w-line); font-size: 16px; }
.w-prices .w-price-row strong { white-space: nowrap; }
.w-prices .w-label { display: block; margin-bottom: 6px; }
.w-prices .w-price-note { display: block; padding-top: 10px; font-size: 13px; line-height: 1.5; color: var(--w-ink-2); }

/* ---------- Pakete ---------- */
.w-pkg-price .elementor-heading-title { font-size: 34px; font-weight: 800; }
.w-pkg-price small { font-size: 14px; font-weight: 400; color: var(--w-ink-2); font-stretch: 100%; }

/* ---------- Zahlen ---------- */
.w-stat .elementor-heading-title { font-size: 30px; font-weight: 800; }

/* ---------- Bewertungen ---------- */
.w-stars { color: var(--w-orange-text); letter-spacing: 2px; font-size: 14px; }
.w-quote, .w-quote p { font-size: 17px; line-height: 1.5; color: var(--w-ink); }

/* ---------- FAQ (Akkordeon) ---------- */
.w-faq .elementor-accordion-item, .w-faq .elementor-toggle-item { border: 0 !important; border-top: 1px solid var(--w-line) !important; }
.w-faq .elementor-tab-title { padding: 18px 0 !important; border: 0 !important; }
.w-faq .elementor-tab-title a, .w-faq .elementor-accordion-title, .w-faq .elementor-toggle-title { font-family: var(--w-font); font-size: 18px; font-weight: 600; color: var(--w-ink) !important; }
.w-faq .elementor-tab-title .elementor-accordion-icon, .w-faq .elementor-toggle-icon { color: var(--w-orange-text) !important; fill: var(--w-orange-text); }
.w-faq .elementor-tab-content { padding: 0 0 20px !important; border: 0 !important; font-size: 16px; line-height: 1.65; color: var(--w-ink-2); max-width: 720px; }

/* ---------- Hero mit Bild ---------- */
.w-hero { color: var(--w-on-dark); }
.w-hero > .e-con-inner { position: relative; z-index: 1; }

/* ---------- Header ---------- */
.w-header { position: sticky; top: 0; z-index: 50; background: var(--w-surface); border-bottom: 1px solid var(--w-line); }
.admin-bar .w-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .w-header { top: 0; } }
.w-header .w-logo img { height: 38px; width: auto; display: block; }
.w-header .hfe-nav-menu a.hfe-menu-item, .w-header .hfe-nav-menu a.hfe-sub-menu-item { font-family: var(--w-font); }
.w-header .hfe-nav-menu > li > a.hfe-menu-item { font-size: 15px; font-weight: 500; color: var(--w-ink); }
.w-header .hfe-nav-menu > li.current-menu-item > a.hfe-menu-item,
.w-header .hfe-nav-menu > li.current-menu-ancestor > a.hfe-menu-item { box-shadow: inset 0 -3px 0 var(--w-orange); }
.w-header .hfe-nav-menu .sub-menu { border: 1px solid var(--w-line) !important; border-radius: var(--w-radius) !important; box-shadow: 0 20px 50px rgba(15, 30, 43, .14) !important; padding: 10px !important; background: var(--w-white) !important; }
.w-header .hfe-nav-menu .sub-menu li a.hfe-sub-menu-item { border-radius: var(--w-radius-s); font-size: 15px; font-weight: 700; color: var(--w-ink); border-bottom: 0 !important; }
.w-header .hfe-nav-menu .sub-menu li a.hfe-sub-menu-item:hover { background: var(--w-blue-soft); }
.w-header .hfe-nav-menu .sub-menu li a .w-sub-desc { display: block; font-size: 13px; font-weight: 400; color: var(--w-ink-2); margin-top: 3px; }
.w-header .hfe-nav-menu__toggle { border: 1.5px solid var(--w-line); border-radius: var(--w-radius-s); background: var(--w-white); width: 46px; height: 46px; align-items: center; justify-content: center; }
@media (min-width: 1025px) { .w-header .hfe-nav-menu__toggle { display: none !important; } }
@media (max-width: 1024px) { .w-header .hfe-nav-menu__toggle { display: flex; } }
@media (max-width: 1024px) {
  .w-header .hfe-nav-menu__layout-horizontal { border: 1px solid var(--w-line); border-radius: var(--w-radius-s); box-shadow: 0 16px 40px rgba(15, 30, 43, .12); background: var(--w-white); }
  .w-header .hfe-nav-menu .sub-menu { box-shadow: none !important; border: 0 !important; padding: 0 0 0 10px !important; }
}
@media (max-width: 520px) { .w-header .w-head-cta { display: none; } }

/* ---------- Footer ---------- */
.w-footer { background: var(--w-ink); color: var(--w-on-dark); }
.w-footer a { color: var(--w-on-dark-2); }
.w-footer a:hover { color: var(--w-on-dark); }
.w-footer .w-foot-links p, .w-footer .w-foot-links { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; margin: 0; }
.w-footer .w-foot-addr, .w-footer .w-foot-addr p { font-size: 16px; line-height: 1.6; color: var(--w-on-dark-2); }
.w-footer .w-foot-addr a { color: var(--w-on-dark); }
.w-footer .w-logo img { height: 30px; width: auto; }

/* =========================================================
   Anfrageformular
   ========================================================= */
.witt-wiz { color: var(--w-ink); font-family: var(--w-font); }
.witt-wiz__box { background: var(--w-white); border: 1px solid var(--w-line); border-radius: var(--w-radius); box-shadow: 0 24px 60px rgba(15, 30, 43, .08); padding: clamp(20px, 3vw, 30px); display: flex; flex-direction: column; gap: 20px; }
.witt-wiz__head { display: flex; flex-direction: column; gap: 10px; }
.witt-wiz__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.witt-wiz__step { font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 12px; color: var(--w-orange-text); }
.witt-wiz__back { min-height: 36px; padding: 0 6px; background: transparent; border: 0; color: var(--w-ink-2); font: inherit; font-size: 14px; cursor: pointer; }
.witt-wiz__bar { height: 6px; background: var(--w-line); border-radius: 3px; overflow: hidden; }
.witt-wiz__bar > div { height: 100%; background: var(--w-orange); border-radius: 3px; transition: width .3s ease; }
.witt-wiz__body { display: flex; flex-direction: column; gap: 12px; }
.witt-wiz__title { margin: 0; font-size: 24px; font-weight: 800; line-height: 1.15; letter-spacing: -.01em; font-stretch: 125%; color: var(--w-ink); }
.witt-wiz__title--l { font-size: 26px; }
.witt-wiz__hint { font-size: 14px; line-height: 1.5; color: var(--w-ink-2); }
.witt-wiz__list { display: flex; flex-direction: column; gap: 8px; }
.witt-wiz__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.witt-wiz__opt { display: flex; align-items: center; justify-content: space-between; text-align: left; width: 100%; min-height: 56px; padding: 10px 18px; border-radius: var(--w-radius-s); font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; background: var(--w-white); color: var(--w-ink); border: 1.5px solid var(--w-line); transition: border-color .15s, background .15s; }
.witt-wiz__opt:hover { border-color: var(--w-ink); background: var(--w-white); color: var(--w-ink); }
.witt-wiz__opt.is-chip { width: auto; justify-content: center; text-align: center; min-height: 48px; padding: 8px 16px; border-radius: 999px; font-size: 15px; }
.witt-wiz__opt.is-on, .witt-wiz__opt.is-on:hover { background: var(--w-orange); border-color: var(--w-orange); color: var(--w-ink); }
.witt-wiz__cta { min-height: 54px; margin-top: 4px; background: var(--w-orange); color: var(--w-ink); border: 0; border-radius: var(--w-radius-s); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.witt-wiz__cta:hover { background: #FF9142; color: var(--w-ink); }
.witt-wiz__cta[disabled] { opacity: .7; cursor: wait; }
.witt-wiz__drop { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 140px; padding: 20px; border: 2px dashed var(--w-blue); border-radius: var(--w-radius-s); background: var(--w-blue-soft); text-align: center; cursor: pointer; color: var(--w-blue-text); }
.witt-wiz__drop-t { font-size: 16px; font-weight: 700; color: var(--w-ink); }
.witt-wiz__drop-s { font-size: 13px; color: var(--w-ink-2); }
.witt-wiz__file { position: absolute; width: 1px; height: 1px; opacity: 0; }
.witt-wiz__thumbs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.witt-wiz__thumbs > div { aspect-ratio: 1 / 1; border-radius: var(--w-radius-s); overflow: hidden; background: var(--w-line); }
.witt-wiz__thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.witt-wiz__field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: var(--w-ink); }
.witt-wiz__field input, .witt-wiz__field textarea { min-height: 50px; padding: 0 14px; border: 1.5px solid var(--w-line); border-radius: 4px; font: inherit; font-size: 16px; font-weight: 400; color: var(--w-ink); background: var(--w-white); }
.witt-wiz__field textarea { padding: 12px 14px; resize: vertical; }
.witt-wiz__field input:focus, .witt-wiz__field textarea:focus { outline: 2px solid var(--w-blue-text); outline-offset: 1px; border-color: var(--w-blue-text); }
.witt-wiz__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.witt-wiz__error { font-size: 14px; color: var(--w-orange-text); font-weight: 600; }
.witt-wiz__legal { font-size: 12px; line-height: 1.5; color: var(--w-ink-2); }
.witt-wiz__ok { color: var(--w-blue-text); }
.witt-wiz__text { margin: 0; font-size: 16px; line-height: 1.6; color: var(--w-ink-2); }
.witt-wiz__sum { display: flex; flex-direction: column; border-top: 1px solid var(--w-line); }
.witt-wiz__sum > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--w-line); font-size: 14px; }
.witt-wiz__sum span { color: var(--w-ink-2); }
.witt-wiz__sum strong { text-align: right; font-weight: 600; }
.witt-wiz__wa { display: flex; align-items: center; justify-content: center; min-height: 52px; border: 1.5px solid var(--w-line); border-radius: var(--w-radius-s); color: var(--w-ink) !important; text-decoration: none; font-weight: 600; }
.witt-wiz__restart { min-height: 40px; background: transparent; border: 0; color: var(--w-ink-2); font: inherit; font-size: 13px; cursor: pointer; }
.witt-wiz button:focus-visible, .witt-wiz a:focus-visible { outline: 2px solid var(--w-blue-text); outline-offset: 2px; }

/* ---------- Ergänzungen ---------- */
.w-inline p { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; }
.w-badge { display: inline-block; padding: 5px 10px; background: var(--w-orange); color: var(--w-ink); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; border-radius: 4px; }
.w-fill, .w-fill .elementor-widget-container { height: 100%; }
.w-fill img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }
.w-stats { border-top: 1px solid var(--w-line); padding-top: 22px; }
.w-card--dark .w-h2 .elementor-heading-title a, .w-h2--light .elementor-heading-title a { color: var(--w-on-dark); }
.w-h3 .elementor-heading-title a, .w-h2 .elementor-heading-title a { color: inherit; text-decoration: none; }
.w-card--dark .w-h3 .elementor-heading-title a { color: var(--w-on-dark); }
.w-card { height: 100%; }
.w-card > .elementor-widget-text-editor:last-child, .w-card .w-link { margin-top: auto; }
.w-tile .elementor-heading-title { text-align: center; }
.w-logo { flex-shrink: 0; }
.w-header .w-logo img { width: 146px !important; max-width: none; height: auto !important; }
.w-footer .w-logo img { width: 116px !important; max-width: none; height: auto !important; }
@media (max-width: 520px) { .w-header .w-logo img { width: 122px !important; } }
.w-card > .e-con:last-child, .w-card > .e-con-inner > .e-con:last-child { flex-grow: 1; }
.w-link { white-space: nowrap; }
/* Formular-Buttons gegen globale Button-Stile absichern */
body .witt-wiz button.witt-wiz__opt { background: var(--w-white); color: var(--w-ink); border: 1.5px solid var(--w-line); text-transform: none; letter-spacing: normal; line-height: 1.3; }
body .witt-wiz button.witt-wiz__opt:hover, body .witt-wiz button.witt-wiz__opt:focus { background: var(--w-white); color: var(--w-ink); border-color: var(--w-ink); }
body .witt-wiz button.witt-wiz__opt.is-on, body .witt-wiz button.witt-wiz__opt.is-on:hover { background: var(--w-orange); border-color: var(--w-orange); color: var(--w-ink); }
body .witt-wiz button.witt-wiz__cta { background: var(--w-orange); color: var(--w-ink); border: 0; padding: 0 20px; text-transform: none; }
body .witt-wiz button.witt-wiz__cta:hover, body .witt-wiz button.witt-wiz__cta:focus { background: #FF9142; color: var(--w-ink); }
body .witt-wiz button.witt-wiz__back, body .witt-wiz button.witt-wiz__restart { background: transparent; border: 0; color: var(--w-ink-2); padding: 0 6px; }
body .witt-wiz button.witt-wiz__back:hover, body .witt-wiz button.witt-wiz__restart:hover { background: transparent; color: var(--w-ink); }
.w-header .elementor-widget-navigation-menu { flex-grow: 1; }
@media (max-width: 1024px) { .w-header .hfe-nav-menu__toggle { margin-left: auto; } }
/* Listen im Fließtext */
.w-text ul.w-ul { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.w-text ul.w-ul li { position: relative; padding-left: 28px; font-size: 16px; line-height: 1.5; }
.w-text ul.w-ul li::before { content: ''; position: absolute; left: 2px; top: 5px; width: 12px; height: 7px; border-left: 2.2px solid var(--w-blue-text); border-bottom: 2.2px solid var(--w-blue-text); transform: rotate(-45deg); }
.w-text ol.w-ol { list-style: none; counter-reset: w; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.w-text ol.w-ol li { counter-increment: w; position: relative; padding-left: 44px; font-size: 17px; line-height: 1.55; }
.w-text ol.w-ol li::before { content: counter(w, decimal-leading-zero); position: absolute; left: 0; top: 1px; font-size: 15px; font-weight: 800; color: var(--w-orange-text); }
.w-text ol.w-ol li span { color: var(--w-ink-2); }
/* Preise, Zeitstrahl, Team, Kontakt */
.w-prices--plain { background: transparent; border: 0; padding: 0; border-radius: 0; }
.w-prices--plain .w-price-row:last-child { border-bottom: 0; }
.w-tl { border-top: 3px solid var(--w-blue); }
.w-tl--o { border-top-color: var(--w-orange); }
.w-stat--l .elementor-heading-title { font-size: clamp(36px, 4vw, 52px); }
.w-label--muted .elementor-heading-title { color: var(--w-ink-2); }
.w-ph p { aspect-ratio: 4 / 5; border-radius: var(--w-radius); background: var(--w-white); display: flex; align-items: flex-end; padding: 20px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--w-blue-text); }
.w-img-wide img { aspect-ratio: 21 / 8; }
.w-contact .elementor-heading-title { font-size: 19px; font-weight: 800; }
.w-contact a { color: var(--w-ink) !important; text-decoration: none; }
.w-maxw { max-width: 420px; }
/* Leasing-Checkliste */
.witt-wiz__optl { display: flex; flex-direction: column; gap: 2px; text-align: left; }
.witt-wiz__optl small { font-size: 13px; font-weight: 400; color: var(--w-ink-2); }
.witt-wiz__opt.is-on .witt-wiz__optl small { color: var(--w-ink); }
.witt-wiz__badge { align-self: flex-start; padding: 5px 10px; border-radius: 4px; background: var(--w-blue-soft); color: var(--w-blue-text); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.witt-wiz__drop--s { min-height: 64px; padding: 14px; }
.witt-wiz__urgent { margin: 0; padding: 12px 14px; border-radius: var(--w-radius-s); background: #FFF1E6; font-size: 14px; line-height: 1.5; }
.w-dark .w-checks .elementor-icon-list-text { color: var(--w-on-dark); }
.w-dark .w-checks .elementor-icon-list-icon svg { fill: var(--w-blue); }
/* Leistungen-Menü: zweispaltig mit Kurzbeschreibung (Desktop) */
.w-header .w-sub-title { display: block; font-size: 15px; font-weight: 700; color: var(--w-ink); }
.w-header .w-sub-desc { display: block; margin-top: 3px; font-size: 13px; font-weight: 400; line-height: 1.4; color: var(--w-ink-2); }
@media (min-width: 1025px) {
  .w-header .hfe-nav-menu .sub-menu { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; width: 600px !important; left: -24px; }
  .w-header .hfe-nav-menu .sub-menu li { width: auto !important; border: 0 !important; }
  .w-header .hfe-nav-menu .sub-menu a.hfe-sub-menu-item { display: block; padding: 12px 14px !important; white-space: normal; }
}
@media (max-width: 1024px) { .w-header .w-sub-desc { display: none; } }
/* Header: Logo links, Menü exakt mittig, Button rechts (Desktop) */
@media (min-width: 1025px) {
  .w-header > .e-con-inner > .e-con, .w-header > .e-con { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
  .w-header .elementor-widget-navigation-menu { flex-grow: 0; justify-self: center; }
  .w-header .w-head-cta { justify-self: end; }
  .w-header .hfe-nav-menu { align-items: center; }
}
.w-header .w-logo img { width: 172px !important; }
@media (max-width: 1024px) { .w-header .w-logo img { width: 150px !important; } }
@media (max-width: 520px) { .w-header .w-logo img { width: 128px !important; } }
@media (min-width: 1025px) { .w-header .w-logo { justify-self: start; align-self: center; } .w-header .w-logo a, .w-header .w-logo .elementor-widget-container { display: block; line-height: 0; } }
/* Desktop: Header schrumpft beim Scrollen */
@media (min-width: 1025px) {
  .w-header { transition: padding .25s ease, box-shadow .25s ease; }
  .w-header .w-logo img { transition: width .25s ease; }
  .w-header .w-head-cta .elementor-button { transition: min-height .25s ease, background .2s; }
  body.w-scrolled .w-header { padding-top: 4px !important; padding-bottom: 4px !important; box-shadow: 0 6px 24px rgba(15, 30, 43, .06); }
  body.w-scrolled .w-header > .e-con-inner { padding-top: 4px !important; padding-bottom: 4px !important; }
  .w-header > .e-con-inner { transition: padding .25s ease; }
  body.w-scrolled .w-header .w-logo img { width: 132px !important; }
  body.w-scrolled .w-header .w-head-cta .elementor-button { min-height: 44px; }
}
/* Mobil: klassisches Burger-Menü (schwarz, ohne Rahmen), ganz rechts, vertikal mittig */
@media (max-width: 1024px) {
  .w-header > .e-con-inner > .e-con { align-items: center !important; }
  .w-header .elementor-widget-navigation-menu { flex: 1 1 auto !important; min-width: 0; width: auto !important; align-self: center; }
  .w-header .hfe-nav-menu { justify-content: flex-end !important; align-items: center !important; }
  .w-header .hfe-nav-menu__toggle { display: flex !important; align-items: center; justify-content: center; border: 0 !important; background: transparent !important; width: 44px; height: 44px; margin: 0 -10px 0 auto !important; padding: 0 !important; color: var(--w-ink); }
  .w-header .hfe-nav-menu__toggle .hfe-nav-menu-icon { display: flex; align-items: center; line-height: 0; }
  .w-header .hfe-nav-menu__toggle .hfe-nav-menu-icon svg { width: 24px; height: 24px; fill: var(--w-ink) !important; }
}
/* Header bleibt oben stehen: das UAE-Header-Element selbst ist sticky */
body header#masthead { position: sticky !important; top: 0; z-index: 60; }
.admin-bar header#masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar header#masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar header#masthead { top: 0; } }
.w-header { position: relative !important; top: auto !important; }
/* Mobil: aufgeklapptes Menü über die volle Header-Breite */
@media (max-width: 1024px) {
  .w-header > .e-con-inner > .e-con { position: relative; }
  .w-header .elementor-widget-navigation-menu, .w-header .elementor-widget-navigation-menu > .elementor-widget-container, .w-header .elementor-widget-navigation-menu .hfe-nav-menu { position: static !important; }
  .w-header .hfe-nav-menu nav.hfe-nav-menu__layout-horizontal, .w-header .hfe-nav-menu nav.hfe-dropdown { left: 0 !important; right: 0 !important; width: auto !important; top: calc(100% + 12px) !important; }
}
/* Mobil: geschlossenes Menü darf keine Breite belegen (sonst wackelt die Seite seitlich) */
@media (max-width: 1024px) {
  .w-header .hfe-nav-menu nav.hfe-dropdown { position: absolute !important; }
  .w-header .hfe-nav-menu nav.hfe-dropdown:not(.menu-is-active) { display: none !important; }
}
html, body { overflow-x: clip; }
@media (max-width: 520px) { .w-card .w-h2 .elementor-heading-title { font-size: clamp(26px, 8vw, 36px); hyphens: auto; overflow-wrap: break-word; } }
/* =========================================================
   Mobil: Menü als aufgeräumtes Vollbild-Panel, Leistungen immer offen
   ========================================================= */
@media (max-width: 1024px) {
  .w-header .hfe-nav-menu nav.hfe-dropdown.menu-is-active {
    position: fixed !important; top: var(--w-hh, 72px) !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: auto !important; height: auto !important; max-height: none !important;
    display: block !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    background: var(--w-surface) !important; border: 0 !important; border-top: 1px solid var(--w-line) !important; border-radius: 0 !important; box-shadow: none !important;
    padding: 8px 20px calc(28px + env(safe-area-inset-bottom)) !important; z-index: 70;
  }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu { display: flex !important; flex-direction: column; background: transparent !important; padding: 0 !important; margin: 0 !important; }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li { order: 3; width: 100% !important; border: 0 !important; background: transparent !important; }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li.hfe-has-submenu { order: 2; }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li:first-child { order: 1; }
  /* Hauptpunkte: groß */
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li > a.hfe-menu-item {
    display: flex !important; align-items: center; justify-content: space-between; min-height: 60px; padding: 0 !important;
    font-size: 22px !important; font-weight: 700 !important; letter-spacing: -.01em; color: var(--w-ink) !important; background: transparent !important;
    border-bottom: 1px solid var(--w-line) !important; box-shadow: none !important; font-stretch: 112%;
  }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li > a.hfe-menu-item::after { content: ''; width: 9px; height: 9px; border-top: 2px solid var(--w-ink); border-right: 2px solid var(--w-ink); transform: rotate(45deg); margin-right: 4px; flex-shrink: 0; }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li:first-child > a.hfe-menu-item::after { border-color: var(--w-orange-text); }
  /* "Leistungen" ist nur Überschrift, nicht klickbar */
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container { pointer-events: none; }
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container > a.hfe-menu-item {
    min-height: 0 !important; padding: 26px 0 8px !important; border: 0 !important;
    font-size: 12px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--w-blue-text) !important; font-stretch: 100%;
  }
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container > a.hfe-menu-item::after,
  .w-header nav.hfe-dropdown .hfe-menu-toggle { display: none !important; }
  /* Unterpunkte immer aufgeklappt */
  .w-header nav.hfe-dropdown ul.sub-menu {
    display: block !important; position: static !important; visibility: visible !important; opacity: 1 !important; height: auto !important; max-height: none !important;
    width: 100% !important; transform: none !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 0 14px !important; margin: 0 !important;
    border-bottom: 1px solid var(--w-line) !important; border-radius: 0 !important;
  }
  .w-header nav.hfe-dropdown ul.sub-menu li { width: 100% !important; border: 0 !important; background: transparent !important; }
  .w-header nav.hfe-dropdown ul.sub-menu a.hfe-sub-menu-item {
    display: flex !important; align-items: center; gap: 12px; min-height: 48px; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; white-space: normal;
  }
  .w-header nav.hfe-dropdown ul.sub-menu a.hfe-sub-menu-item::before, .w-header nav.hfe-dropdown ul.sub-menu a.hfe-sub-menu-item::after { display: none !important; }
  .w-header nav.hfe-dropdown .w-sub-title { display: flex !important; align-items: center; gap: 12px; }
  .w-header nav.hfe-dropdown .w-sub-title::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--w-orange); flex-shrink: 0; }
  .w-header nav.hfe-dropdown .hfe-has-submenu-container { background: transparent !important; }
  .w-header nav.hfe-dropdown .w-sub-title { font-size: 18px !important; font-weight: 600 !important; line-height: 1.25; color: var(--w-ink); }
  .w-header nav.hfe-dropdown .w-sub-desc { display: none !important; }
  /* Kontakt-Block unten im Menü */
  .w-header .w-mnav-cta { display: flex; flex-direction: column; gap: 10px; margin-top: 26px; }
  .w-header .w-mnav-cta a { display: flex; align-items: center; justify-content: center; min-height: 54px; border-radius: var(--w-radius-s); font-family: var(--w-font); font-size: 17px; font-weight: 700; text-decoration: none; color: var(--w-ink) !important; }
  .w-header .w-mnav-cta a.is-main { background: var(--w-orange); }
  .w-header .w-mnav-cta .w-mnav-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .w-header .w-mnav-cta .w-mnav-row a { border: 1.5px solid var(--w-line); background: var(--w-white); font-size: 16px; }
  .w-header .w-mnav-cta p { margin: 4px 0 0; text-align: center; font-size: 14px; color: var(--w-ink-2); }
  html.w-menu-open { overflow: hidden; }
}
@media (min-width: 1025px) { .w-header .w-mnav-cta { display: none !important; } }
@media (max-width: 1024px) {
  .w-header .hfe-nav-menu nav.hfe-dropdown.menu-is-active { margin: 0 !important; }
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container > a.hfe-menu-item { background: transparent !important; box-shadow: none !important; display: block !important; }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li > a.hfe-menu-item { min-height: 56px; }
  .w-header nav.hfe-dropdown ul.sub-menu a.hfe-sub-menu-item { min-height: 44px; }
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container > a.hfe-menu-item { padding-top: 22px !important; }
}
/* Mobil-Menü v2: Leistungen wie die anderen Hauptpunkte, aufklappbar; Unterpunkte als Karte wie am Desktop */
@media (max-width: 1024px) {
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li, .w-header nav.hfe-dropdown ul.hfe-nav-menu > li.hfe-has-submenu, .w-header nav.hfe-dropdown ul.hfe-nav-menu > li:first-child { order: 0 !important; }
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li:first-child > a.hfe-menu-item::after { border-color: var(--w-ink) !important; }
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container { pointer-events: auto !important; cursor: pointer; }
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container > a.hfe-menu-item {
    display: flex !important; align-items: center; justify-content: space-between; min-height: 56px !important; padding: 0 !important;
    font-size: 22px !important; font-weight: 700 !important; letter-spacing: -.01em !important; text-transform: none !important; font-stretch: 112% !important;
    color: var(--w-ink) !important; background: transparent !important; border-bottom: 1px solid var(--w-line) !important;
  }
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container > a.hfe-menu-item::after {
    display: block !important; content: ''; width: 9px; height: 9px; margin-right: 4px; flex-shrink: 0;
    border-top: 2px solid var(--w-ink); border-right: 2px solid var(--w-ink); transform: translateY(-3px) rotate(135deg); transition: transform .2s ease;
  }
  .w-header nav.hfe-dropdown li.hfe-has-submenu.w-open > .hfe-has-submenu-container > a.hfe-menu-item::after { transform: translateY(2px) rotate(-45deg); }
  .w-header nav.hfe-dropdown li.hfe-has-submenu.w-open > .hfe-has-submenu-container > a.hfe-menu-item { border-bottom-color: transparent !important; }
  /* Unterpunkte: zu, bis man auf Leistungen tippt */
  .w-header nav.hfe-dropdown ul.sub-menu { display: none !important; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu {
    display: block !important; background: var(--w-white) !important; border: 1px solid var(--w-line) !important; border-radius: var(--w-radius) !important;
    padding: 6px !important; margin: 0 0 14px !important; box-shadow: 0 10px 30px rgba(15, 30, 43, .06) !important;
  }
  .w-header nav.hfe-dropdown ul.sub-menu a.hfe-sub-menu-item { display: block !important; min-height: 0 !important; padding: 12px 14px !important; border-radius: var(--w-radius-s) !important; }
  .w-header nav.hfe-dropdown ul.sub-menu li + li { border-top: 1px solid var(--w-line) !important; }
  .w-header nav.hfe-dropdown ul.sub-menu a.hfe-sub-menu-item:active { background: var(--w-blue-soft) !important; }
  .w-header nav.hfe-dropdown .w-sub-title { display: block !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.25; }
  .w-header nav.hfe-dropdown .w-sub-title::before { display: none !important; content: none !important; }
  .w-header nav.hfe-dropdown .w-sub-desc { display: block !important; margin-top: 3px; font-size: 14px !important; line-height: 1.4; color: var(--w-ink-2) !important; font-weight: 400 !important; }
}
@media (max-width: 1024px) {
  .w-header nav.hfe-dropdown ul.hfe-nav-menu > li > a.hfe-menu-item::after,
  .w-header nav.hfe-dropdown li.hfe-has-submenu > .hfe-has-submenu-container > a.hfe-menu-item::after {
    position: static !important; opacity: 1 !important; visibility: visible !important; background: transparent !important; height: 9px !important; width: 9px !important; inset: auto !important;
  }
}
/* ---------- Google-Bewertungen [witt_bewertungen] ---------- */
.witt-rev { font-family: var(--w-font); color: var(--w-ink); }
.witt-rev__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1024px) { .witt-rev__grid { grid-template-columns: 1fr; gap: 14px; } }
.witt-rev__card { margin: 0; display: flex; flex-direction: column; gap: 12px; padding: 26px; background: var(--w-white); border: 1px solid var(--w-line); border-radius: var(--w-radius); }
.witt-rev__stars { color: var(--w-orange-text); letter-spacing: 2px; font-size: 15px; line-height: 1; }
.witt-rev__text { margin: 0; padding: 0; border: 0; font-size: 17px; line-height: 1.5; color: var(--w-ink); font-style: normal; display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.witt-rev__meta { margin-top: auto; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font-size: 14px; color: var(--w-ink-2); }
.witt-rev__name { font-weight: 700; color: var(--w-ink); }
.witt-rev__name a { color: inherit; text-decoration: none; }
.witt-rev__src { width: 100%; font-size: 12px; letter-spacing: .04em; color: var(--w-ink-2); }
.witt-rev__more { font-size: 14px; font-weight: 600; color: var(--w-blue-text); text-decoration: none; }
.witt-rev__foot { margin: 22px 0 0; font-size: 15px; font-weight: 600; }
.witt-rev__foot a { color: var(--w-ink); text-decoration: underline; text-underline-offset: 3px; }
.witt-rev--dark .witt-rev__foot a { color: var(--w-on-dark); }
.witt-rev__meta, .witt-rev__meta span, .witt-rev__card figcaption { font-style: normal; }
/* Bewertungen als Karussell: Desktop 3 sichtbar, seitlich weiterwischen */
.witt-rev__track { display: grid !important; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; padding: 2px 2px 6px; margin: -2px; }
.witt-rev__track::-webkit-scrollbar { display: none; }
.witt-rev__track:focus-visible { outline: 2px solid var(--w-blue-text); outline-offset: 4px; }
@media (max-width: 1024px) { .witt-rev__track { grid-auto-columns: calc((100% - 20px) / 2); } }
@media (max-width: 640px) { .witt-rev__track { grid-auto-columns: 86%; gap: 12px; } }
.witt-rev__card { scroll-snap-align: start; }
.witt-rev__text.is-open { -webkit-line-clamp: unset; display: block; }
.witt-rev__toggle { align-self: flex-start; padding: 0; border: 0; background: none !important; color: var(--w-blue-text) !important; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.witt-rev__nav { display: flex; gap: 10px; margin-top: 18px; }
.witt-rev__arrow { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1.5px solid var(--w-line) !important; background: var(--w-white) !important; color: var(--w-ink) !important; font-size: 18px; line-height: 1; padding: 0 !important; cursor: pointer; }
.witt-rev__arrow:hover { border-color: var(--w-ink) !important; }
.witt-rev__arrow[disabled] { opacity: .35; cursor: default; }
.witt-rev__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 28px; padding: 22px 26px; background: var(--w-blue-soft); border-radius: var(--w-radius); }
.witt-rev__ask { margin: 0; font-size: 16px; line-height: 1.5; color: var(--w-ink); }
.witt-rev__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.witt-rev__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: var(--w-radius-s); background: var(--w-orange); color: var(--w-ink) !important; font-weight: 700; font-size: 15px; text-decoration: none !important; }
.witt-rev__btn:hover { background: #FF9142; }
.witt-rev__btn--sec { background: var(--w-white); border: 1.5px solid var(--w-line); }
.witt-rev__btn--sec:hover { background: var(--w-white); border-color: var(--w-ink); }
@media (max-width: 640px) { .witt-rev__cta { padding: 20px; } .witt-rev__btns, .witt-rev__btn { width: 100%; } }
.witt-rev__foot { display: none; }
/* ---------- Schwamm-Effekt [witt_schwamm] ---------- */
.witt-sponge { position: relative; aspect-ratio: 4 / 3; border-radius: var(--w-radius); overflow: hidden; touch-action: pan-y; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; background: var(--w-ink); }
.witt-sponge img, .witt-sponge canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; border-radius: 0 !important; }
.witt-sponge canvas { touch-action: pan-y; transition: opacity .9s ease; }
.witt-sponge.is-ready .witt-sponge__dirty { visibility: hidden; }
.witt-sponge__hint { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: rgba(15, 30, 43, .86); color: #fff; font-family: var(--w-font); font-size: 14px; font-weight: 700; white-space: nowrap; pointer-events: none; transition: opacity .35s ease; animation: witt-nudge 2.4s ease-in-out infinite; }
.witt-sponge__hint::before { content: ''; width: 18px; height: 14px; border-radius: 4px; background: linear-gradient(#B5E2FB 0 35%, #FFC93C 35%); box-shadow: inset 0 0 0 1.5px #0F1E2B; }
.witt-sponge__hint-t { display: none; }
@media (hover: none) { .witt-sponge__hint-m { display: none; } .witt-sponge__hint-t { display: inline; } }
.witt-sponge.is-started .witt-sponge__hint { opacity: 0; animation: none; }
@keyframes witt-nudge { 0%, 100% { transform: translateX(-50%); } 50% { transform: translateX(calc(-50% + 10px)); } }
.witt-sponge__again { position: absolute; right: 14px; bottom: 14px; min-height: 38px; padding: 0 14px; border: 0 !important; border-radius: 999px; background: rgba(255, 255, 255, .92) !important; color: var(--w-ink) !important; font: 600 13px var(--w-font); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .4s ease .6s; }
.witt-sponge.is-clean .witt-sponge__again { opacity: 1; pointer-events: auto; }
.witt-sponge::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .55) 50%, transparent 65%); transform: translateX(-120%); }
.witt-sponge.is-clean::after { animation: witt-shine 1.1s ease .5s 1 both; }
@keyframes witt-shine { to { transform: translateX(120%); } }
.witt-sponge:focus-visible { outline: 3px solid var(--w-blue-text); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .witt-sponge__hint { animation: none; } .witt-sponge.is-clean::after { animation: none; } }
.witt-sponge { aspect-ratio: auto; } .witt-sponge img.witt-sponge__clean { position: relative !important; inset: auto; height: auto !important; aspect-ratio: 4 / 3; }
/* Handy: solange dreckig, fängt das Bild jede Wischrichtung ab; sauber = normal scrollen */
.witt-sponge, .witt-sponge canvas { touch-action: none; }
.witt-sponge.is-clean, .witt-sponge.is-clean canvas { touch-action: pan-y; }
.witt-sponge.is-clean canvas { pointer-events: none; }
.witt-sponge__hint::before { width: 30px; height: 24px; border-radius: 0; box-shadow: none; background: var(--w-sponge) center / contain no-repeat; }
/* Schwamm: Level geschafft – Sterne + Blitzblank */
.witt-sponge__fx { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.witt-sponge__star { position: absolute; width: calc(56px * var(--s, 1)); height: calc(56px * var(--s, 1)); transform: translate(-50%, -50%) scale(0) rotate(-30deg); animation: witt-star 1.5s cubic-bezier(.2, .9, .3, 1.3) both; }
.witt-sponge__star svg { width: 100%; height: 100%; display: block; fill: #fff; filter: drop-shadow(0 0 6px rgba(181, 226, 251, .95)) drop-shadow(0 0 16px rgba(255, 125, 36, .55)); }
@keyframes witt-star { 0% { transform: translate(-50%, -50%) scale(0) rotate(-30deg); opacity: 0; } 35% { transform: translate(-50%, -50%) scale(1.25) rotate(10deg); opacity: 1; } 60% { transform: translate(-50%, -50%) scale(.95) rotate(0); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(0) rotate(25deg); opacity: 0; } }
.witt-sponge__badge { position: absolute; left: 50%; top: 50%; padding: 12px 22px; border-radius: 999px; background: var(--w-orange); color: var(--w-ink); font: 800 clamp(18px, 3.2vw, 28px) / 1 var(--w-font); font-stretch: 125%; letter-spacing: -.01em; white-space: nowrap; box-shadow: 0 10px 30px rgba(15, 30, 43, .35), 0 0 0 4px rgba(255, 255, 255, .85); transform: translate(-50%, -50%) scale(0); animation: witt-badge 3.2s cubic-bezier(.2, .9, .3, 1.4) .55s both; }
@keyframes witt-badge { 0% { transform: translate(-50%, -50%) scale(0) rotate(-8deg); opacity: 0; } 14% { transform: translate(-50%, -50%) scale(1.15) rotate(2deg); opacity: 1; } 22% { transform: translate(-50%, -50%) scale(1) rotate(-2deg); } 80% { transform: translate(-50%, -50%) scale(1) rotate(-2deg); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(.9) rotate(-2deg); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .witt-sponge__star { display: none; } .witt-sponge__badge { animation-duration: 2.4s; } }
.witt-sponge.is-clean .witt-sponge__hint { opacity: 0; animation: none; }
.w-meta-link { color: inherit !important; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s; }
.w-meta-link:hover { border-bottom-color: currentColor; }
#bewertungen { scroll-margin-top: 90px; }
.w-nowrap { white-space: nowrap; }
.w-img-pos-33 img { object-position: 50% 33%; }
/* Schwamm: Abschluss mit Witt-Bezug + Anfrage-Button */
.witt-sponge__badge { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 26px 13px; border-radius: 22px; text-align: center; }
.witt-sponge__badge strong { font: inherit; }
.witt-sponge__badge small { font: 700 clamp(12px, 1.5vw, 15px) / 1.2 var(--w-font); font-stretch: 100%; letter-spacing: .02em; }
.witt-sponge__end { position: absolute; left: 14px; right: 14px; bottom: 14px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; opacity: 0; pointer-events: none; transition: opacity .4s ease 1s; z-index: 4; }
.witt-sponge.is-clean .witt-sponge__end { opacity: 1; pointer-events: auto; }
.witt-sponge .witt-sponge__end .witt-sponge__again { position: static; opacity: 1; pointer-events: auto; transition: none; }
.witt-sponge__cta { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: var(--w-orange); color: var(--w-ink) !important; font: 700 14px var(--w-font); text-decoration: none !important; box-shadow: 0 6px 18px rgba(15, 30, 43, .3); }
.witt-sponge__cta:hover { background: #FF9142; }
/* Schwamm auf dem Handy: normal scrollen, erst nach Antippen wird gewischt */
@media (hover: none) {
  .witt-sponge, .witt-sponge canvas { touch-action: pan-y; }
  .witt-sponge.is-armed, .witt-sponge.is-armed canvas { touch-action: none; }
}
.witt-sponge.is-armed { box-shadow: 0 0 0 3px var(--w-orange), 0 10px 30px rgba(255, 125, 36, .25); }
.witt-sponge.is-armed .witt-sponge__hint { background: var(--w-orange); color: var(--w-ink); }
/* Erst das dreckige Bild zeigen – das saubere bleibt unsichtbar, bis das Wischen bereit ist */
.witt-sponge:not(.is-ready) .witt-sponge__clean { opacity: 0; }
/* Offenes Handy-Menü: Seite dahinter festhalten (am <html>, damit der Header oben kleben bleibt) */
html.w-menu-open, html.w-menu-open body { overscroll-behavior: none; }
/* Handy-Menü: Punkte fahren nacheinander von links rein */
@media (max-width: 1024px) {
  .w-header nav.hfe-dropdown.menu-is-active { animation: w-nav-in .25s ease both; }
  .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li,
  .w-header nav.hfe-dropdown.menu-is-active .w-mnav-cta { animation: w-item-in .45s cubic-bezier(.2, .8, .2, 1) both; }
  .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li:nth-child(1) { animation-delay: .05s; }
  .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li:nth-child(2) { animation-delay: .11s; }
  .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li:nth-child(3) { animation-delay: .17s; }
  .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li:nth-child(4) { animation-delay: .23s; }
  .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li:nth-child(5) { animation-delay: .29s; }
  .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li:nth-child(6) { animation-delay: .35s; }
  .w-header nav.hfe-dropdown.menu-is-active .w-mnav-cta { animation-delay: .4s; }
  /* Unterpunkte von "Leistungen" beim Aufklappen ebenfalls nacheinander */
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li { animation: w-item-in .35s cubic-bezier(.2, .8, .2, 1) both; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li:nth-child(2) { animation-delay: .04s; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li:nth-child(3) { animation-delay: .08s; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li:nth-child(4) { animation-delay: .12s; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li:nth-child(5) { animation-delay: .16s; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li:nth-child(6) { animation-delay: .2s; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li:nth-child(7) { animation-delay: .24s; }
  .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li:nth-child(8) { animation-delay: .28s; }
}
@keyframes w-nav-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes w-item-in { from { opacity: 0; transform: translateX(-36px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .w-header nav.hfe-dropdown.menu-is-active, .w-header nav.hfe-dropdown.menu-is-active ul.hfe-nav-menu > li,
  .w-header nav.hfe-dropdown.menu-is-active .w-mnav-cta, .w-header nav.hfe-dropdown li.w-open > ul.sub-menu > li { animation: none; }
}
