/* Elemaro – strukturelle Basisgestaltung der Abschnitte (Layout, responsiv). Themes ergänzen das Aussehen. */
:root{--ele-primary:#2563eb;--ele-accent:#f59e0b;--ele-font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ele-ink:#1b2430;--ele-muted:#5b6675;--ele-bg:#fff;--ele-soft:#f4f6fa;--ele-line:#dfe4ec;--ele-radius:12px;--ele-gap:1.5rem;--ele-max:70rem;--ele-section-y:4.5rem}
.ele-section{padding:var(--ele-section-y) 0;color:var(--ele-ink)}
.ele-container{width:100%;max-width:var(--ele-max);margin:0 auto;padding:0 1.25rem}
.ele-heading{font-size:clamp(1.6rem,3.5vw,2.3rem);line-height:1.15;margin:0 0 .6em}
.ele-section-head{max-width:46rem;margin:0 auto 2.2rem;text-align:center}.ele-section-head .ele-heading{margin-bottom:.4em}
.ele-intro,.ele-lead{color:var(--ele-muted);font-size:1.1rem}.ele-intro p,.ele-lead p{margin:.4em 0}
.ele-eyebrow{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ele-primary);margin:0 0 .8em}
.ele-img{max-width:100%;height:auto;display:block}.ele-img.is-missing{background:#eef1f6;object-fit:contain}
.ele-prose{line-height:1.7}.ele-prose p{margin:0 0 1em}.ele-prose ul,.ele-prose ol{padding-left:1.4em;margin:0 0 1em}.ele-prose a{color:var(--ele-primary)}.ele-prose h2,.ele-prose h3,.ele-prose h4{line-height:1.25;margin:1.4em 0 .5em}
.ele-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.ele-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:999px;font:inherit;font-weight:650;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.2;min-height:46px;transition:background .15s,color .15s,border-color .15s,transform .15s}
.ele-btn-primary{background:var(--ele-primary);color:#fff}.ele-btn-primary:hover{filter:brightness(.92)}
.ele-btn-secondary{background:transparent;color:var(--ele-primary);border-color:var(--ele-primary)}.ele-btn-secondary:hover{background:var(--ele-primary);color:#fff}
.ele-btn:focus-visible{outline:3px solid var(--ele-accent);outline-offset:2px}
.ic{width:1.2em;height:1.2em;flex:none}
/* Hero */
.ele-hero{padding:0}.ele-hero-bg{background-size:cover;background-position:center;position:relative}
.ele-hero[data-image-mode=background] .ele-hero-bg:has(.ele-hero-inner){}
.ele-hero-inner{display:grid;gap:3rem;align-items:center;padding-top:6rem;padding-bottom:6rem}
.ele-hero:is([data-image-mode=image_right],[data-image-mode=image_left]) .ele-hero-inner{grid-template-columns:1.1fr .9fr}
.ele-hero[data-image-mode=image_left] .ele-hero-media{order:-1}
.ele-hero[data-image-mode=image_left] .ele-hero-inner{grid-template-columns:.9fr 1.1fr}
.ele-hero:is([data-image-mode=background],[data-image-mode=none])[data-align=center] .ele-hero-text{text-align:center;max-width:48rem;margin:0 auto}.ele-hero:is([data-image-mode=background],[data-image-mode=none])[data-align=center] .ele-actions{justify-content:center}
.ele-hero-title{font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.05;margin:0 0 .4em;letter-spacing:-.02em}
.ele-hero-media .ele-img{border-radius:var(--ele-radius);width:100%}
.ele-hero[data-image-mode=background] .ele-hero-bg[style]{color:#fff}.ele-hero[data-image-mode=background] .ele-hero-bg[style]::before{content:"";position:absolute;inset:0;background:rgba(10,18,32,var(--ele-overlay,.55))}
.ele-hero[data-overlay=none]{--ele-overlay:0}.ele-hero[data-overlay=light]{--ele-overlay:.3}.ele-hero[data-overlay=medium]{--ele-overlay:.55}.ele-hero[data-overlay=strong]{--ele-overlay:.75}
.ele-hero[data-image-mode=background] .ele-hero-bg[style] .ele-hero-inner{position:relative}.ele-hero[data-image-mode=background] .ele-hero-bg[style] .ele-lead,.ele-hero[data-image-mode=background] .ele-hero-bg[style] .ele-eyebrow{color:#eaf0fb}
/* Text */
.ele-text .ele-text-inner{max-width:46rem}.ele-text[data-width=narrow] .ele-text-inner{max-width:36rem}.ele-text[data-width=wide] .ele-text-inner{max-width:62rem}
.ele-text[data-align=center] .ele-text-inner{text-align:center}
/* Bild & Text */
.ele-split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.ele-image_text[data-image-position=right] .ele-split-media{order:2}
.ele-split-media .ele-img{width:100%;border-radius:var(--ele-radius)}
/* Raster: Karten, Galerie, Kennzahlen */
.ele-grid,.ele-gallery-grid,.ele-stats-grid,.ele-pricing-grid{display:grid;gap:var(--ele-gap)}
.ele-features[data-columns="2"] .ele-grid,.ele-gallery[data-columns="2"] .ele-gallery-grid{grid-template-columns:repeat(2,1fr)}
.ele-features[data-columns="3"] .ele-grid,.ele-gallery[data-columns="3"] .ele-gallery-grid{grid-template-columns:repeat(3,1fr)}
.ele-features[data-columns="4"] .ele-grid,.ele-gallery[data-columns="4"] .ele-gallery-grid{grid-template-columns:repeat(4,1fr)}
.ele-card{display:block;padding:1.6rem;background:var(--ele-bg);border:1px solid var(--ele-line);border-radius:var(--ele-radius);color:inherit;text-decoration:none}
a.ele-card:hover{border-color:var(--ele-primary);transform:translateY(-2px)}
.ele-card-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:12px;background:color-mix(in srgb,var(--ele-primary) 12%,transparent);color:var(--ele-primary);margin-bottom:1rem}
.ele-card-icon .ic{width:1.5rem;height:1.5rem}.ele-card-title{font-size:1.2rem;margin:0 0 .4em}.ele-card-text{margin:0;color:var(--ele-muted)}
.ele-gallery-item{margin:0}.ele-gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--ele-radius)}.ele-gallery-item figcaption{font-size:.9rem;color:var(--ele-muted);padding-top:.5rem}
.ele-stats-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));text-align:center;margin:0}
.ele-stat-value{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:var(--ele-primary);line-height:1}.ele-stat-label{margin:.4rem 0 0;color:var(--ele-muted)}
/* FAQ */
.ele-faq-inner{max-width:50rem}.ele-faq-item{border-bottom:1px solid var(--ele-line)}
.ele-faq-item summary{cursor:pointer;font-weight:650;padding:1.1rem 2.2rem 1.1rem 0;list-style:none;position:relative;min-height:48px}
.ele-faq-item summary::-webkit-details-marker{display:none}
.ele-faq-item summary::after{content:"+";position:absolute;right:.4rem;top:.9rem;font-size:1.5rem;line-height:1;color:var(--ele-primary)}
.ele-faq-item[open] summary::after{content:"–"}.ele-faq-item .ele-prose{padding:0 0 1.2rem}
/* CTA */
.ele-cta-inner{display:flex;gap:2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:3rem;padding-bottom:3rem;background:var(--ele-primary);color:#fff;border-radius:calc(var(--ele-radius) * 1.5)}
.ele-cta .ele-container{padding-left:2.5rem;padding-right:2.5rem}.ele-cta .ele-heading{margin:0 0 .3em}.ele-cta .ele-intro{color:inherit;opacity:.9}.ele-cta .ele-actions{margin:0}
.ele-cta[data-style=primary] .ele-btn-primary{background:#fff;color:var(--ele-primary)}
.ele-cta[data-style=light] .ele-cta-inner{background:var(--ele-soft);color:var(--ele-ink)}.ele-cta[data-style=light] .ele-intro{color:var(--ele-muted)}
.ele-cta[data-style=dark] .ele-cta-inner{background:#121a27;color:#fff}.ele-cta[data-style=dark] .ele-btn-primary{background:var(--ele-accent);color:#1a1200}
/* Kontaktformular */
.ele-contact-inner{max-width:44rem}
.ele-form{display:grid;gap:1.1rem;position:relative}.ele-field label{display:block;font-weight:600;margin-bottom:.35rem}
.ele-field input[type=text],.ele-field input[type=email],.ele-field input[type=tel],.ele-field select,.ele-field textarea{width:100%;padding:.8rem .9rem;border:1px solid #aab3c0;border-radius:10px;font:inherit;background:#fff;color:#1b2430;min-height:48px}
.ele-field input:focus,.ele-field select:focus,.ele-field textarea:focus{outline:3px solid color-mix(in srgb,var(--ele-primary) 35%,transparent);border-color:var(--ele-primary)}
.ele-check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400!important}.ele-check input{margin-top:.3rem;width:1.1rem;height:1.1rem}
.ele-req{color:#b3261e}.ele-field.has-error input,.ele-field.has-error textarea,.ele-field.has-error select{border-color:#b3261e}
.ele-field-error{color:#b3261e;font-size:.9rem;margin:.3rem 0 0}.ele-form-error{background:#fdecea;color:#7a1712;border:1px solid #f0b3ae;border-radius:10px;padding:.8rem 1rem}
.ele-form-success{display:flex;gap:.8rem;align-items:center;background:#e6f5ec;color:#0c4a2b;border:1px solid #a8d8bd;border-radius:12px;padding:1.1rem 1.3rem}.ele-form-success p{margin:0}
.ele-form-note{color:var(--ele-muted)}
/* Preistabelle */
.ele-pricing-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-items:stretch}
.ele-pricing[data-count="2"] .ele-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:48rem;margin:0 auto}
.ele-pricing[data-count="3"] .ele-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ele-plan{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:2rem 1.6rem;border:1px solid var(--ele-line);border-radius:var(--ele-radius);background:var(--ele-bg)}
.ele-plan.is-highlight{border-color:var(--ele-primary);box-shadow:0 10px 30px color-mix(in srgb,var(--ele-primary) 18%,transparent)}
.ele-plan-badge{position:absolute;top:-.8rem;left:1.6rem;background:var(--ele-accent);color:#1a1200;font-size:.78rem;font-weight:800;border-radius:99px;padding:.2rem .8rem}
.ele-plan-name{margin:0;font-size:1.25rem}.ele-plan-price{margin:0}.ele-plan-amount{font-size:2.4rem;font-weight:800;line-height:1}.ele-plan-period{color:var(--ele-muted)}
.ele-plan-desc{margin:0;color:var(--ele-muted)}.ele-plan-features{list-style:none;padding:0;margin:.5rem 0 1rem;display:grid;gap:.5rem;flex:1}
.ele-plan-features li{display:flex;gap:.6rem;align-items:flex-start}.ele-plan-features .ic{color:var(--ele-primary);margin-top:.15rem}
/* Ablauf */
.ele-steps-list{list-style:none;margin:0 auto;padding:0;display:grid;gap:1.5rem;max-width:46rem}
.ele-step{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start}
.ele-step-no{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--ele-primary);color:#fff;font-weight:800;font-size:1.2rem}
.ele-step-title{margin:.2rem 0 .3rem;font-size:1.2rem}.ele-step p{margin:0;color:var(--ele-muted)}
/* Branchenleiste */
.ele-industries{padding:2.5rem 0;background:var(--ele-soft)}
.ele-industries-title{text-align:center;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ele-muted);margin:0 0 1.2rem}
.ele-industries-list{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem 1rem;justify-content:center;margin:0;padding:0}
.ele-industries-list li>*{display:block;padding:.5rem 1.2rem;border:1px solid var(--ele-line);border-radius:99px;background:var(--ele-bg);color:var(--ele-ink);font-weight:600;text-decoration:none}
.ele-industries-list a:hover{border-color:var(--ele-primary);color:var(--ele-primary)}
.ele-notfound{padding:6rem 0;text-align:center}
/* Smartphone / Tablet */
@media (max-width:900px){
  :root{--ele-section-y:3rem}
  .ele-split,.ele-hero:is([data-image-mode=image_right],[data-image-mode=image_left]) .ele-hero-inner{grid-template-columns:1fr;gap:1.8rem}
  .ele-image_text[data-image-position=right] .ele-split-media{order:0}
  .ele-features[data-columns="3"] .ele-grid,.ele-features[data-columns="4"] .ele-grid,.ele-gallery[data-columns="3"] .ele-gallery-grid,.ele-gallery[data-columns="4"] .ele-gallery-grid{grid-template-columns:repeat(2,1fr)}
  .ele-hero-inner{padding-top:3.5rem;padding-bottom:3.5rem}
  .ele-pricing[data-count="3"] .ele-pricing-grid{grid-template-columns:1fr;max-width:28rem;margin:0 auto}
}
@media (max-width:640px){
  .ele-features .ele-grid,.ele-gallery .ele-gallery-grid,.ele-features[data-columns] .ele-grid,.ele-gallery[data-columns] .ele-gallery-grid{grid-template-columns:1fr!important}
  .ele-pricing .ele-pricing-grid{grid-template-columns:1fr!important;max-width:28rem;margin:0 auto}
  .ele-cta .ele-container{padding-left:1.4rem;padding-right:1.4rem}.ele-cta-inner{border-radius:var(--ele-radius)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.ele-gallery-link{display:block;border-radius:var(--ele-radius);overflow:hidden;cursor:zoom-in;position:relative}
.ele-gallery-link .ele-gallery-img{transition:transform .25s}.ele-gallery-link:hover .ele-gallery-img{transform:scale(1.03)}
.ele-gallery-link:focus-visible{outline:3px solid var(--ele-accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.ele-gallery-link .ele-gallery-img{transition:none!important}.ele-gallery-link:hover .ele-gallery-img{transform:none}}
/* Eigener Abschnittshintergrund (Farbe/Verlauf) mit automatisch passender Textfarbe */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--ele-bar-h,0px) + var(--ele-anchor-offset,5rem))}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ele-section.has-bg .ele-hero-bg:not([style]),.ele-section.has-bg .ele-hero-bg:not([style])::before{background:transparent}
.ele-cta.has-bg .ele-cta-inner{background:transparent;color:inherit}
.ele-cta.has-bg .ele-container{padding-left:1.25rem;padding-right:1.25rem}
.ele-section[data-bgtext=light]{color:#fff;--ele-ink:#fff;--ele-muted:#e1e8f4;--ele-bg:rgba(255,255,255,.12);--ele-soft:rgba(255,255,255,.14);--ele-line:rgba(255,255,255,.3)}
.ele-section[data-bgtext=light] :is(h1,h2,h3,h4,.ele-heading,.ele-hero-title,.ele-card-title,.ele-plan-name,.ele-step-title){color:#fff}
.ele-section[data-bgtext=light] :is(.ele-lead,.ele-intro){color:#e6ecf7}
.ele-section[data-bgtext=light] .ele-eyebrow{background:rgba(255,255,255,.18)}
.ele-section[data-bgtext=light] :is(.ele-eyebrow,.ele-stat-value,.ele-plan-features .ic){color:#fff}
.ele-section[data-bgtext=light] .ele-prose a,.ele-section[data-bgtext=light] .ele-industries-list a{color:#fff;text-decoration:underline}
.ele-section[data-bgtext=light] .ele-btn-primary{background:#fff;color:#14203a}
.ele-section[data-bgtext=light] .ele-btn-secondary{color:#fff;border-color:#fff}.ele-section[data-bgtext=light] .ele-btn-secondary:hover{background:#fff;color:#14203a}
.ele-section[data-bgtext=light] .ele-card-icon,.ele-section[data-bgtext=light] .ele-step-no{background:rgba(255,255,255,.2);color:#fff}
.ele-section[data-bgtext=light] .ele-faq-item summary::after{color:#fff}
.ele-section[data-bgtext=light] .ele-hero-bg[style]::before{background:rgba(10,18,32,.45)}
.ele-section[data-bgtext=light] .ele-field label{color:#fff}
.ele-section[data-bgtext=dark]{color:#1b2430;--ele-ink:#1b2430;--ele-muted:#4a566a;--ele-bg:rgba(255,255,255,.7);--ele-line:rgba(20,30,50,.18)}
.ele-section[data-bgtext=dark] :is(h1,h2,h3,h4,.ele-heading,.ele-hero-title,.ele-card-title,.ele-plan-name,.ele-step-title){color:#1b2430}
.ele-section[data-bgtext=dark] :is(.ele-lead,.ele-intro){color:#3c4a5e}
/* Öffnungszeiten & Termin */
.ele-hours-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--ele-gap);align-items:stretch}
.ele-hours[data-appt]{}
.ele-hours-card,.ele-appt{background:var(--ele-bg);border:1px solid var(--ele-line);border-radius:calc(var(--ele-radius) * 1.3);padding:2rem}
.ele-hours-card .ele-heading{margin-bottom:.4em}
.ele-section[data-appt="0"] .ele-hours-wrap{grid-template-columns:minmax(0,40rem);justify-content:center}
.ele-hours{margin:1rem 0 0}
.ele-hours-row{display:grid;grid-template-columns:minmax(7rem,9.5rem) 1fr;gap:1rem;padding:.75rem .5rem;border-bottom:1px solid var(--ele-line);align-items:start}
.ele-hours-row:last-child{border-bottom:0}
.ele-hours dt{font-weight:650}.ele-hours dd{margin:0;display:flex;flex-direction:column;gap:.15rem;font-variant-numeric:tabular-nums}
.ele-hours-time.is-closed,.ele-hours-extra{color:var(--ele-muted)}.ele-hours-extra{font-size:.9rem}
.ele-hours-row.is-today{background:color-mix(in srgb,var(--ele-primary) 10%,transparent);border-radius:10px;border-bottom-color:transparent}
.ele-hours-row.is-today dt::after{content:" · heute";font-weight:500;color:var(--ele-primary)}
.ele-hours-status{display:inline-flex;align-items:center;gap:.5rem;margin:.4rem 0 0;padding:.3rem .85rem;border-radius:99px;font-weight:650;font-size:.92rem;background:#e6f5ec;color:#0c4a2b}
.ele-hours-status::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:currentColor}
.ele-hours-status.is-closed{background:#fdecea;color:#7a1712}
.ele-hours-note{margin:1rem 0 0;color:var(--ele-muted);font-size:.95rem}
.ele-appt{display:flex;flex-direction:column;gap:.8rem;justify-content:center;background:var(--ele-primary);color:#fff;border-color:transparent}
.ele-appt-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:rgba(255,255,255,.2)}.ele-appt-icon .ic{width:1.6rem;height:1.6rem}
.ele-appt-title{margin:.2rem 0 0;font-size:1.5rem;color:inherit}.ele-appt-text p{margin:0;opacity:.95}
.ele-appt-phone{display:inline-flex;align-items:center;gap:.6rem;font-size:1.6rem;font-weight:800;color:inherit;text-decoration:none}.ele-appt-phone:hover{text-decoration:underline}
.ele-appt .ele-actions{margin-top:.4rem}.ele-appt .ele-btn-primary{background:#fff;color:#14203a}.ele-appt .ele-btn-secondary{color:#fff;border-color:#fff}.ele-appt .ele-btn-secondary:hover{background:#fff;color:#14203a}
/* Team */
.ele-team-grid{display:grid;gap:var(--ele-gap);grid-template-columns:repeat(3,1fr)}
.ele-team[data-columns="2"] .ele-team-grid{grid-template-columns:repeat(2,1fr)}.ele-team[data-columns="4"] .ele-team-grid{grid-template-columns:repeat(4,1fr)}
.ele-member{text-align:center}
.ele-member-photo{width:min(100%,14rem);aspect-ratio:1;margin:0 auto 1rem;border-radius:50%;overflow:hidden;background:var(--ele-soft)}
.ele-member-img{width:100%;height:100%;object-fit:cover}
.ele-member-name{margin:0;font-size:1.2rem}.ele-member-role{margin:.2rem 0 .6rem;color:var(--ele-primary);font-weight:650}.ele-member-text{margin:0;color:var(--ele-muted)}
/* Hinweis */
.ele-notice{padding:1.5rem 0}
.ele-notice-box{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;padding:1.2rem 1.5rem;border-radius:var(--ele-radius);background:#e8f0fb;color:#173863;border:1px solid #bcd0ee}
.ele-notice[data-style=warning] .ele-notice-box{background:#fff3de;color:#6b4200;border-color:#f0cf8c}
.ele-notice[data-style=success] .ele-notice-box{background:#e6f5ec;color:#0c4a2b;border-color:#a8d8bd}
.ele-notice-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:rgba(255,255,255,.7);flex:none}
.ele-notice-body{flex:1;min-width:14rem}.ele-notice-title{margin:0 0 .2rem;font-size:1.15rem;color:inherit}.ele-notice-text p{margin:0}
.ele-notice-box{--n:#173863}.ele-notice[data-style=warning] .ele-notice-box{--n:#6b4200}.ele-notice[data-style=success] .ele-notice-box{--n:#0c4a2b}
.ele-notice .ele-actions{margin:0}.ele-notice .ele-btn-primary{background:var(--n);color:#fff}
@media (max-width:900px){.ele-hours-wrap{grid-template-columns:1fr}.ele-team-grid,.ele-team[data-columns="4"] .ele-team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ele-team-grid,.ele-team[data-columns] .ele-team-grid{grid-template-columns:1fr!important}.ele-hours-card,.ele-appt{padding:1.3rem}.ele-hours-row{grid-template-columns:7rem 1fr}}

/* Team: Karte, Detail-Dialog, Slider */
.ele-member-open,.ele-member-static{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;cursor:default}
.ele-member-open{cursor:pointer;border-radius:var(--ele-radius)}
.ele-member-open:focus-visible{outline:3px solid var(--ele-accent);outline-offset:6px}
.ele-member-photo{display:block}.ele-member-name,.ele-member-role,.ele-member-text,.ele-member-more{display:block}
.ele-member-name{font-size:1.2rem;font-weight:700;color:var(--ele-ink)}.ele-member-role{margin:.2rem 0 .6rem;color:var(--ele-primary);font-weight:650}.ele-member-text{color:var(--ele-muted)}
.ele-member-more{margin-top:.7rem;color:var(--ele-primary);font-weight:650;font-size:.92rem}.ele-member-more .ic{width:1em;height:1em;vertical-align:-.15em;transition:transform .25s}.ele-member-open:hover .ele-member-more .ic{transform:translateX(4px)}
.ele-member-dialog{border:0;padding:0;border-radius:calc(var(--ele-radius) * 1.5);max-width:min(46rem,94vw);width:100%;background:#fff;color:#1b2430;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.ele-member-dialog::backdrop{background:rgba(12,20,28,.6);backdrop-filter:blur(3px)}
.ele-member-dialog[open]{animation:ele-pop .25s}@keyframes ele-pop{from{opacity:0;transform:translateY(14px) scale(.98)}}
.ele-member-dialog-in{display:grid;grid-template-columns:minmax(0,15rem) 1fr;gap:1.6rem;padding:1.8rem}
.ele-member-dialog-photo{border-radius:var(--ele-radius);overflow:hidden;aspect-ratio:4/5;background:var(--ele-soft)}.ele-member-dialog-photo img{width:100%;height:100%;object-fit:cover}
.ele-member-dialog h3{margin:.2rem 0 0;font-size:1.5rem}
.ele-member-motto{display:flex;gap:.7rem;margin:1.2rem 0 0;padding:1rem 1.2rem;border-radius:var(--ele-radius);background:var(--ele-soft,#f2f5f9);font-style:italic}.ele-member-motto .ic{flex:none;color:var(--ele-primary)}
.ele-dialog-close{position:absolute;right:.8rem;top:.8rem;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.06);cursor:pointer;color:inherit}.ele-dialog-close:hover{background:rgba(0,0,0,.14)}
@media (max-width:640px){.ele-member-dialog-in{grid-template-columns:1fr;padding:1.2rem}.ele-member-dialog-photo{max-width:12rem}}
.ele-team[data-layout=slider] .ele-team-grid{display:flex!important;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .2rem 1.2rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.ele-team[data-layout=slider] .ele-member{flex:0 0 min(78%,17rem);scroll-snap-align:start}
.ele-slider-nav{display:flex;gap:.6rem;justify-content:center;margin-top:.6rem}
.ele-slider-nav button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--ele-line);background:var(--ele-bg);color:var(--ele-ink);cursor:pointer}.ele-slider-nav button:hover{border-color:var(--ele-primary);color:var(--ele-primary)}.ele-slider-nav button[disabled]{opacity:.35;cursor:default}
/* Hinweis: Zeitplan, Schließen */
.ele-notice-box{position:relative}.ele-notice-close{position:absolute;right:.6rem;top:.6rem;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.ele-notice-close:hover{background:rgba(0,0,0,.08)}
.ele-notice[data-dismiss] .ele-notice-box{padding-right:3.4rem}
.ele-notice.is-scheduled-off .ele-notice-box{opacity:.65;border-style:dashed}.ele-notice-sched{margin:.5rem 0 0;font-size:.85rem;font-weight:650}
.ele-notice.is-hidden{display:none}
/* Notfall & Anfahrt */
.ele-hours-tiles{display:grid;gap:.9rem;margin-top:1.3rem}
.ele-tile{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:var(--ele-radius);background:var(--ele-soft);border:1px solid var(--ele-line)}
.ele-tile.is-emergency{background:#fdecea;border-color:#f0b3ae;color:#5f120d}.ele-tile.is-emergency h3{color:#5f120d}
.ele-tile-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:rgba(255,255,255,.7);flex:none}
.ele-tile h3{margin:0 0 .15rem;font-size:1rem}.ele-tile p{margin:0;font-size:.95rem}
.ele-tile-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;font-weight:650;color:var(--ele-primary);text-decoration:none}.ele-tile-link:hover{text-decoration:underline}

/* Seitenlayout „Boxed“: gesamte Seite als zentrierte Box (nur ab Box-Breite sichtbar) */
html:has(body.ele-boxed){background:var(--ele-box-bg,#e8ebe6)}
body.ele-boxed{max-width:var(--ele-box,1280px);margin-left:auto;margin-right:auto;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 20px 60px rgba(0,0,0,.12);position:relative}
@media (max-width:1280px){body.ele-boxed{box-shadow:none}}
/* Branchenvorschau (Standardausgabe) */
.ele-showcase-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}

/* Lesbarkeit: mittlere Hintergründe (data-bgstrict) → Texte in reinem Schwarz/Weiß, keine abgetönten Grautöne */
.ele-section[data-bgstrict][data-bgtext=dark]{color:#000;--ele-ink:#000;--ele-muted:#000;--ele-line:rgba(0,0,0,.35)}
.ele-section[data-bgstrict][data-bgtext=light]{color:#fff;--ele-ink:#fff;--ele-muted:#fff;--ele-line:rgba(255,255,255,.55)}
.ele-section[data-bgstrict][data-bgtext=dark] :is(h1,h2,h3,h4,.ele-heading,.ele-hero-title,.ele-card-title,.ele-plan-name,.ele-step-title,.ele-lead,.ele-intro,.ele-eyebrow,.ele-stat-value,.ele-stat-label,.ele-card-text,.ele-member-text,.ele-member-name,.ele-member-role,summary,p,li,dd,dt,label,small){color:#000}
.ele-section[data-bgstrict][data-bgtext=light] :is(h1,h2,h3,h4,.ele-heading,.ele-hero-title,.ele-card-title,.ele-plan-name,.ele-step-title,.ele-lead,.ele-intro,.ele-eyebrow,.ele-stat-value,.ele-stat-label,.ele-card-text,.ele-member-text,.ele-member-name,.ele-member-role,summary,p,li,dd,dt,label,small){color:#fff}
/* Bausteine mit eigenem Hintergrund (Termin-Kasten, Hinweis, Buttons) behalten ihre eigene Schriftfarbe – unabhängig vom Abschnittshintergrund */
.ele-section[data-bgtext] .ele-appt :is(.ele-appt-title,h3,p,li,span,dt,dd){color:#fff}
.ele-notice[data-bgtext] .ele-notice-box :is(.ele-notice-title,h2,h3,p,span){color:inherit}
.ele-notice[data-bgtext] .ele-notice-box{color:#173863}
.ele-notice[data-bgtext][data-style=warning] .ele-notice-box{color:#6b4200}
.ele-notice[data-bgtext][data-style=success] .ele-notice-box{color:#0c4a2b}

/* Navigation: Untermenüs (nav li.has-sub > ul.sub-menu). Desktop: Aufklappfeld bei Hover/Fokus/Knopf; Smartphone: eingerückte Liste, per Knopf geöffnet */
nav li.has-sub{position:relative;display:flex;align-items:center;flex-wrap:wrap}
nav .sub-toggle{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;margin-left:-.5rem;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;opacity:.75}
nav .sub-toggle:hover{opacity:1;background:rgba(127,127,127,.18)}nav .sub-toggle:focus-visible{outline:2px solid currentColor;outline-offset:1px;opacity:1}
nav .sub-toggle svg{width:15px;height:15px;transition:transform .2s}nav li.is-open>.sub-toggle svg{transform:rotate(180deg)}
nav ul.sub-menu{position:absolute;top:100%;left:0;z-index:1250;min-width:15rem;margin:0;padding:.4rem;list-style:none;display:none;flex-direction:column;gap:0;background:var(--ele-sub-bg,#fff);border:1px solid rgba(20,30,50,.12);border-radius:12px;box-shadow:0 14px 34px rgba(15,25,45,.16)}
nav li.has-sub:hover>.sub-menu,nav li.has-sub:focus-within>.sub-menu,nav li.has-sub.is-open>.sub-menu{display:flex}
nav li.has-sub:last-child>.sub-menu{left:auto;right:0}
nav .sub-menu li{display:block;margin:0}
nav .sub-menu a{display:block!important;padding:.6rem .9rem!important;border-radius:8px!important;color:var(--ele-sub-ink,#1b2430)!important;background:transparent!important;text-align:left!important;white-space:nowrap;font-size:.95rem!important;font-weight:500!important;font-family:var(--ele-font)!important;letter-spacing:0!important;text-transform:none!important;min-height:0!important;border:0!important}
nav .sub-menu a::after,nav .sub-menu a::before{display:none!important}
nav .sub-menu a:hover,nav .sub-menu a:focus-visible,nav .sub-menu .is-current>a{background:rgba(20,30,50,.07)!important}
nav .sub-menu .is-current>a{font-weight:650!important}
@media (max-width:820px){
  nav li.has-sub{display:flex}
  nav li.has-sub>a{flex:1}
  nav .sub-toggle{width:44px;height:44px;margin-left:0}
  nav ul.sub-menu{position:static;flex-basis:100%;min-width:0;padding:0 0 .3rem 1rem;background:transparent;border:0;border-radius:0;box-shadow:none}
  nav li.has-sub:hover>.sub-menu,nav li.has-sub:focus-within>.sub-menu{display:none}
  nav li.has-sub.is-open>.sub-menu{display:flex}
  nav .sub-menu a{color:inherit!important;white-space:normal;font-size:1rem!important;padding:.55rem .8rem!important}
}
@media (prefers-reduced-motion:reduce){nav .sub-toggle svg{transition:none}}
.ele-form,.ele-form-success{scroll-margin-top:calc(var(--ele-bar-h,0px) + 6.5rem)}
