/* ==========================================================================
   FEERIA Designsystem – Komponenten
   Alle Farben ausschließlich über --fee-* Rollen (PDF-Palette).
   Tokens werden inline (:root) vom Theme generiert.
   ========================================================================== */

/* ---------- Reset / Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--fee-font-base);font-size:var(--fee-fs-body);font-weight:var(--fee-fw-body);line-height:var(--fee-lh-body);color:var(--fee-text);background:var(--fee-bg-page);-webkit-font-smoothing:antialiased}
img,video,svg{max-width:100%;height:auto;display:block}
a{color:var(--fee-primary);text-decoration:none;transition:color var(--fee-transition)}
a:hover{color:var(--fee-hover)}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-family:var(--fee-font-display);font-weight:var(--fee-fw-heading);line-height:var(--fee-lh-heading);color:var(--fee-text);text-wrap:balance}
h1{font-size:var(--fee-fs-h1)}
h2{font-size:var(--fee-fs-h2)}
h3{font-size:var(--fee-fs-h3)}
h4{font-size:calc(var(--fee-fs-h3) * .85)}
p{margin:0 0 1em}
small,.fee-small{font-size:var(--fee-fs-small)}
hr{border:0;border-top:var(--fee-border-w) solid var(--fee-border);margin:2rem 0}
::selection{background:var(--fee-secondary);color:var(--fee-text)}
:focus-visible{outline:3px solid var(--fee-accent);outline-offset:3px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.fee-skip-link{position:absolute;left:-999px;top:8px;z-index:1000;padding:.6rem 1rem;background:var(--fee-primary);color:var(--fee-text-inverse);border-radius:var(--fee-radius-input)}
.fee-skip-link:focus{left:8px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
.fee-no-anim *,.fee-no-anim *::before,.fee-no-anim *::after{animation:none!important;transition:none!important}

/* ---------- Layout ---------- */
.fee-container{width:100%;max-width:var(--fee-container);margin-inline:auto;padding-inline:var(--fee-gutter)}
@media (min-width:768px){.fee-container{padding-inline:40px}}
.fee-container--narrow{max-width:800px}
.fee-section{position:relative;padding-block:var(--fee-section-y)}
.fee-section--page{background:var(--fee-bg-page)}
.fee-section--surface{background:var(--fee-surface)}
.fee-section--tint{background:var(--fee-bg-section)}
.fee-section--dark{background:var(--fee-bg-dark);color:var(--fee-text-inverse)}
.fee-section--dark h1,.fee-section--dark h2,.fee-section--dark h3,.fee-section--dark h4{color:var(--fee-text-inverse)}
.fee-section--dark a{color:var(--fee-secondary)}
.fee-section--dark a:hover{color:var(--fee-text-inverse)}
.fee-section--tight{padding-block:calc(var(--fee-section-y) * .5)}
.fee-center{text-align:center}
.fee-grid{display:grid;gap:2rem}
.fee-grid--4{grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.fee-grid--2{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.fee-grid--3{grid-template-columns:repeat(3,1fr)}.fee-grid--4{grid-template-columns:repeat(4,1fr)}}
.fee-grid--split{align-items:center}
@media (min-width:900px){.fee-grid--split{grid-template-columns:1fr 1fr;gap:4rem}.fee-grid--split.is-reverse>*:first-child{order:2}}
.fee-prose>*+*{margin-top:1em}
.fee-prose ul,.fee-prose ol{padding-left:1.4em}
.fee-prose img{border-radius:var(--fee-radius-img)}

/* ---------- Typo-Bausteine ---------- */
.fee-eyebrow{display:block;margin:0 0 .75rem;font-size:var(--fee-fs-small);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fee-primary)}
.fee-subtitle{font-size:calc(var(--fee-fs-body) * 1.25);font-weight:400;color:var(--fee-primary);margin:0 0 1.5rem;text-wrap:balance}
.fee-section-head{max-width:760px;margin:0 auto 3rem;text-align:center}
.fee-section-head .fee-subtitle{margin-bottom:0}
.fee-lead{font-size:calc(var(--fee-fs-body) * 1.125)}
.fee-muted{color:rgb(var(--fee-text-rgb) / .7)}
.fee-page-title{margin:0}

/* ---------- Kennzahlen ---------- */
.fee-stat{text-align:center}
.fee-stat__value{display:block;font-size:var(--fee-fs-stat);font-weight:700;line-height:1;color:var(--fee-primary);font-family:var(--fee-font-display)}
.fee-stat__label{display:block;margin-top:.5rem;font-size:var(--fee-fs-small);font-weight:600;color:var(--fee-primary)}

/* ---------- Buttons ---------- */
.fee-btn{--_bg:var(--fee-button);--_fg:var(--fee-button-text);--_bd:var(--fee-button);
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--fee-btn-h);padding:0 var(--fee-btn-px);
  border:var(--fee-border-w) solid var(--_bd);border-radius:var(--fee-radius-btn);background:var(--_bg);color:var(--_fg);
  font-family:var(--fee-font-base);font-size:calc(var(--fee-fs-body) * .9375);font-weight:600;line-height:1;text-align:center;cursor:pointer;
  box-shadow:var(--fee-shadow-btn);transition:transform var(--fee-transition),box-shadow var(--fee-transition),background var(--fee-transition),color var(--fee-transition),border-color var(--fee-transition),opacity var(--fee-transition);
  text-decoration:none;white-space:nowrap}
.fee-btn .fee-icon{font-size:1.1em}
.fee-btn:hover,.fee-btn:focus-visible{color:var(--_fg)}
.fee-hover-lift .fee-btn:hover{transform:translateY(-2px);box-shadow:var(--fee-shadow-btn-hover)}
.fee-hover-darken .fee-btn--primary:hover{--_bg:var(--fee-hover);--_bd:var(--fee-hover)}
.fee-hover-fade .fee-btn:hover{opacity:.88}
.fee-btn:active{transform:translateY(0)}
.fee-btn--secondary{--_bg:transparent;--_fg:var(--fee-primary);--_bd:var(--fee-primary);box-shadow:none}
.fee-btn--secondary:hover{--_bg:var(--fee-primary);--_fg:var(--fee-button-text)}
.fee-btn--ghost{--_bg:transparent;--_fg:var(--fee-primary);--_bd:transparent;box-shadow:none;padding-inline:calc(var(--fee-btn-px) * .5)}
.fee-btn--ghost:hover{--_fg:var(--fee-hover);text-decoration:underline;text-underline-offset:4px}
.fee-btn--dark{--_bg:var(--fee-bg-dark);--_fg:var(--fee-text-inverse);--_bd:var(--fee-bg-dark)}
.fee-btn--dark:hover{--_bg:var(--fee-primary);--_bd:var(--fee-primary)}
.fee-btn--light{--_bg:var(--fee-surface);--_fg:var(--fee-primary);--_bd:var(--fee-surface)}
.fee-btn--sm{min-height:calc(var(--fee-btn-h) - 10px);padding-inline:calc(var(--fee-btn-px) * .7);font-size:var(--fee-fs-small)}
.fee-btn--lg{min-height:calc(var(--fee-btn-h) + 8px);padding-inline:calc(var(--fee-btn-px) * 1.3);font-size:calc(var(--fee-fs-body) * 1.06)}
.fee-btn--block{display:flex;width:100%}
.fee-btn[disabled],.fee-btn.is-disabled{opacity:.5;pointer-events:none;box-shadow:none}
@media (max-width:640px){.fee-btn--mobile-block{display:flex;width:100%;max-width:360px;margin-inline:auto}}

/* ---------- Karten ---------- */
.fee-card{background:var(--fee-surface);border-radius:var(--fee-radius-card);box-shadow:var(--fee-shadow-card);padding:2rem;transition:transform var(--fee-transition),box-shadow var(--fee-transition)}
.fee-card--hover:hover{transform:translateY(-4px);box-shadow:var(--fee-shadow-card-hover)}
.fee-card--bordered{box-shadow:none;border:var(--fee-border-w) solid var(--fee-border)}
.fee-card--flat{box-shadow:none;background:transparent;padding:0}
.fee-card__media{margin:-2rem -2rem 1.5rem;border-radius:var(--fee-radius-card) var(--fee-radius-card) 0 0;overflow:hidden;aspect-ratio:4/3}
.fee-card__media img{width:100%;height:100%;object-fit:cover}
.fee-card__title{margin-bottom:.5rem}
.fee-card__meta{color:rgb(var(--fee-text-rgb) / .7);font-size:var(--fee-fs-small)}
.fee-card__footer{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}

/* ---------- Preis ---------- */
.fee-price{font-weight:700;font-size:calc(var(--fee-fs-body) * 1.25);color:var(--fee-text)}
.fee-price--sale{color:var(--fee-primary)}
.fee-price__old{font-weight:400;text-decoration:line-through;color:rgb(var(--fee-text-rgb) / .55);margin-right:.5rem}
.fee-price__note{display:block;font-size:var(--fee-fs-small);font-weight:400;color:rgb(var(--fee-text-rgb) / .7)}

/* ---------- Listen mit Icon ---------- */
.fee-check-list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.75rem}
.fee-check-list li{display:flex;align-items:flex-start;gap:.75rem}
.fee-check-list .fee-icon{flex:0 0 auto;width:1.5em;height:1.5em;padding:.3em;border-radius:50%;background:var(--fee-primary);color:var(--fee-button-text);stroke-width:3}
.fee-check-list--cross .fee-icon{background:var(--fee-primary)}
.fee-check-list--plain .fee-icon{background:transparent;color:var(--fee-primary);padding:0}

/* ---------- Avatare / Bildformen ---------- */
.fee-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;overflow:hidden}
.fee-avatar--lg{width:200px;height:200px}
.fee-avatar--ring{outline:6px solid var(--fee-secondary);outline-offset:6px}
.fee-blob{border-radius:60% 40% 55% 45% / 50% 60% 40% 50%;overflow:hidden;aspect-ratio:1}
.fee-blob img,.fee-circle img{width:100%;height:100%;object-fit:cover}
.fee-circle{border-radius:50%;overflow:hidden;aspect-ratio:1}
.fee-frame{background:var(--fee-surface);padding:12px;box-shadow:var(--fee-shadow-card);border-radius:4px}
.fee-frame img{border-radius:0}
.fee-img{border-radius:var(--fee-radius-img);overflow:hidden}
.fee-decor-circle{position:relative;isolation:isolate}
.fee-decor-circle::before,.fee-decor-circle::after{content:"";position:absolute;z-index:-1;border-radius:50%;background:var(--fee-secondary);opacity:.45}
.fee-decor-circle::before{width:55%;aspect-ratio:1;left:-8%;top:-6%}
.fee-decor-circle::after{width:70%;aspect-ratio:1;right:-10%;bottom:-8%;background:var(--fee-bg-section);opacity:.9}

/* ---------- Testimonial ---------- */
.fee-testimonial{text-align:center;padding:1rem}
.fee-testimonial__quote{display:inline-block;font-size:3rem;color:var(--fee-accent);line-height:1;margin-bottom:.5rem}
.fee-testimonial .fee-avatar{margin:0 auto 1rem}
.fee-testimonial__text{max-width:32ch;margin-inline:auto}
.fee-testimonial__name{font-weight:700;margin-top:1rem}
.fee-stars{display:inline-flex;gap:2px;color:var(--fee-primary)}
.fee-stars__star{width:1em;height:1em;stroke:none}

/* ---------- Team ---------- */
.fee-team-card{text-align:center}
.fee-team-card .fee-avatar{margin:0 auto;width:180px;height:180px}
.fee-team-card__label{display:inline-block;margin-top:-1.5rem;position:relative;background:var(--fee-surface);border-radius:var(--fee-radius-card);box-shadow:var(--fee-shadow-card);padding:.75rem 1.5rem}
.fee-team-card__name{display:block;font-weight:700;color:var(--fee-primary)}
.fee-team-card__role{display:block;font-size:var(--fee-fs-small)}

/* ---------- Formulare ---------- */
.fee-form{display:grid;gap:1.25rem}
.fee-form--2col{grid-template-columns:1fr}
@media (min-width:640px){.fee-form--2col{grid-template-columns:1fr 1fr}.fee-form__full{grid-column:1/-1}}
.fee-field{display:grid;gap:.4rem}
.fee-label{font-weight:600;font-size:var(--fee-fs-small)}
.fee-label .fee-req{color:var(--fee-error)}
.fee-input,.fee-select,.fee-textarea,
.fee-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.fee-form select,.fee-form textarea{
  width:100%;min-height:46px;padding:.65rem .9rem;font:inherit;color:var(--fee-text);background:var(--fee-surface);
  border:var(--fee-border-w) solid var(--fee-border);border-radius:var(--fee-radius-input);transition:border-color var(--fee-transition),box-shadow var(--fee-transition)}
.fee-textarea,.fee-form textarea{min-height:140px;resize:vertical}
.fee-input:focus,.fee-select:focus,.fee-textarea:focus,.fee-form input:focus,.fee-form select:focus,.fee-form textarea:focus{outline:none;border-color:var(--fee-primary);box-shadow:0 0 0 3px rgb(var(--fee-primary-rgb) / .18)}
.fee-input::placeholder,.fee-textarea::placeholder{color:rgb(var(--fee-text-rgb) / .55)}
.fee-help{font-size:var(--fee-fs-small);font-style:italic;color:rgb(var(--fee-text-rgb) / .65)}
.fee-field.is-error .fee-input,.fee-field.is-error .fee-textarea,.fee-field.is-error .fee-select{border-color:var(--fee-error)}
.fee-field__error{font-size:var(--fee-fs-small);color:var(--fee-error);font-weight:600}
.fee-checkbox{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--fee-fs-small)}
.fee-checkbox input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--fee-primary);flex:0 0 auto}
.fee-form__actions{display:flex;justify-content:flex-end;gap:1rem}
.fee-search{display:flex;gap:.5rem;max-width:480px;margin-inline:auto}

/* ---------- Hinweise ---------- */
.fee-notice{display:flex;gap:.75rem;align-items:flex-start;padding:1rem 1.25rem;border-radius:var(--fee-radius-input);background:var(--fee-info-bg);color:var(--fee-text);border-left:4px solid var(--fee-primary)}
.fee-notice__icon{flex:0 0 auto;width:1.5em;height:1.5em;padding:.3em;border-radius:50%;background:var(--fee-primary);color:var(--fee-button-text);stroke-width:3}
.fee-notice--success{background:var(--fee-success-bg)}
.fee-notice--warning{background:var(--fee-warning-bg)}
.fee-notice--error{background:var(--fee-surface);border:var(--fee-border-w) solid var(--fee-error);border-left-width:4px}
.fee-notice--error strong{color:var(--fee-error)}
.fee-badge{display:inline-block;padding:.25em .75em;border-radius:999px;font-size:var(--fee-fs-small);font-weight:600;background:var(--fee-bg-section);color:var(--fee-text)}
.fee-badge--primary{background:var(--fee-primary);color:var(--fee-button-text)}

/* ---------- Akkordeon (FAQ) ---------- */
.fee-accordion{display:grid;gap:.75rem;max-width:760px;margin-inline:auto}
.fee-accordion__item{background:var(--fee-surface);border:var(--fee-border-w) solid var(--fee-border);border-radius:var(--fee-radius-input);overflow:hidden}
.fee-accordion__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-weight:600}
.fee-accordion__item summary::-webkit-details-marker{display:none}
.fee-accordion__item summary .fee-icon{flex:0 0 auto;width:1.4em;height:1.4em;padding:.25em;border-radius:50%;background:var(--fee-primary);color:var(--fee-button-text);stroke-width:3;transition:transform var(--fee-transition)}
.fee-accordion__item[open] summary .fee-icon{transform:rotate(45deg)}
.fee-accordion__body{padding:0 1.25rem 1.25rem 3.4rem}

/* ---------- Öffnungszeiten ---------- */
.fee-hours{width:100%;border-collapse:collapse}
.fee-hours th,.fee-hours td{padding:.6rem 0;border-bottom:var(--fee-border-w) solid var(--fee-border);text-align:left;font-size:var(--fee-fs-small)}
.fee-hours td:last-child{text-align:right}
.fee-hours tr:last-child th,.fee-hours tr:last-child td{border-bottom:0}
.fee-hours .is-closed{color:var(--fee-primary)}

/* ---------- Wellen / Deko ---------- */
.fee-wave{position:absolute;left:0;right:0;height:clamp(40px,6vw,90px);pointer-events:none;line-height:0}
.fee-wave--bottom{bottom:-1px}
.fee-wave--top{top:-1px;transform:scaleY(-1)}
.fee-wave svg{width:100%;height:100%}
.fee-wave__back{fill:var(--fee-secondary);opacity:.6}
.fee-wave__front{fill:var(--fee-accent)}
.fee-mist{position:relative;overflow:hidden}
.fee-mist::before{content:"";position:absolute;inset:auto -10% -20% -10%;height:60%;background:radial-gradient(ellipse at 30% 60%,var(--fee-bg-section) 0%,transparent 55%),radial-gradient(ellipse at 75% 40%,var(--fee-secondary) 0%,transparent 50%);opacity:.7;pointer-events:none}
.fee-mist>*{position:relative}
.fee-dots{display:flex;gap:.75rem}
.fee-dots i{width:44px;height:44px;border-radius:50%;background:var(--fee-secondary);opacity:.6}
.fee-double-ring{border-radius:50%;border:2px solid var(--fee-primary);box-shadow:inset 0 0 0 6px var(--fee-surface),inset 0 0 0 8px var(--fee-primary);padding:12px}
.fee-overlay{position:absolute;inset:0;background:rgb(var(--fee-black-rgb) / var(--fee-overlay-alpha,.35))}
.fee-line-deco{height:3px;background:linear-gradient(90deg,transparent,var(--fee-secondary),transparent)}

/* ---------- Video-Karte ---------- */
.fee-video-card{position:relative;border-radius:var(--fee-radius-img);overflow:hidden;aspect-ratio:3/4;background:var(--fee-bg-section)}
.fee-video-card img{width:100%;height:100%;object-fit:cover}
.fee-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:90px;height:90px;border-radius:50%;border:3px solid var(--fee-primary);background:rgb(var(--fee-surface-rgb) / .85);color:var(--fee-primary);display:grid;place-items:center;font-size:2.2rem;cursor:pointer;box-shadow:var(--fee-shadow-btn)}
.fee-play .fee-icon{stroke:none;margin-left:.15em}

/* ---------- Header (Basis, Phase 2 erweitert) ---------- */
.fee-header{position:sticky;top:0;z-index:100;background:var(--fee-surface);box-shadow:0 2px 12px rgb(var(--fee-black-rgb) / .06)}
.fee-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:84px}
.fee-header__logo img,.fee-header__logo .custom-logo{max-height:56px;width:auto}
.fee-logo-text{font-weight:700;font-size:1.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fee-text)}
.fee-nav{position:relative}
.fee-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 1.75rem;justify-content:center}
.fee-nav__list a{display:inline-block;padding:.5rem 0;font-weight:600;color:var(--fee-text);font-size:calc(var(--fee-fs-body) * 1.06)}
.fee-nav__list li+li::before{content:"•";color:var(--fee-primary);margin-right:1.75rem}
.fee-nav__list a:hover,.fee-nav__list .current-menu-item>a,.fee-nav__list .current-menu-ancestor>a{color:var(--fee-primary)}
.fee-nav__list .sub-menu{display:none}
.fee-nav__toggle{display:none;border:0;background:transparent;color:var(--fee-primary);font-size:1.8rem;padding:.25rem;cursor:pointer}
@media (max-width:1023px){
  .fee-nav__toggle{display:inline-flex}
  .fee-nav__list{display:none;position:absolute;right:0;top:calc(100% + .5rem);min-width:260px;flex-direction:column;gap:0;background:var(--fee-surface);border-radius:var(--fee-radius-card);box-shadow:var(--fee-shadow-card);padding:1rem 1.25rem}
  .fee-nav__list li+li::before{content:none}
  .fee-nav__list a{display:block;padding:.6rem 0;border-bottom:var(--fee-border-w) solid var(--fee-border)}
  .fee-nav.is-open .fee-nav__list{display:flex}
  .fee-header__cta{display:none}
}

/* ---------- Footer (Basis, Phase 2 erweitert) ---------- */
.fee-footer{background:var(--fee-bg-section);padding-block:3rem}
.fee-footer__inner{display:grid;gap:1.5rem;justify-items:center;text-align:center}
.fee-footer__logo img{max-height:60px;width:auto}
.fee-footer__legal-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:center}
.fee-footer__legal-list a{color:var(--fee-text);font-size:var(--fee-fs-small)}
.fee-footer__legal-list a:hover{color:var(--fee-primary)}
.fee-footer__copy{margin:0;font-size:var(--fee-fs-small);color:rgb(var(--fee-text-rgb) / .7)}

/* ---------- Diverses ---------- */
.fee-page-header{padding-block:calc(var(--fee-section-y) * .6);background:var(--fee-bg-page)}
.fee-entry+.fee-entry{margin-top:2rem;padding-top:2rem;border-top:var(--fee-border-w) solid var(--fee-border)}
.fee-pagination{margin-top:3rem;text-align:center}
.fee-pagination .page-numbers{display:inline-block;min-width:2.5rem;padding:.5rem;border-radius:var(--fee-radius-input);color:var(--fee-text)}
.fee-pagination .page-numbers.current{background:var(--fee-primary);color:var(--fee-button-text)}
.fee-404__search{margin:2rem auto}
.fee-404 h1{font-size:var(--fee-fs-h1)}
.fee-swatch{display:grid;gap:.5rem;text-align:center;font-size:var(--fee-fs-small)}
.fee-swatch i{display:block;height:80px;border-radius:var(--fee-radius-input);border:1px solid var(--fee-border)}
.fee-btn-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}

/* ---------- Elementor-Kompatibilität ---------- */
.elementor-page .fee-main{padding:0}
.elementor-button.fee-btn{line-height:1}
body.elementor-editor-active .fee-header{position:static}
.e-con,.elementor-section{--fee-local:1}

/* ==========================================================================
   Phase 2 – Header (konfigurierbar), Hero-Slider, Sektionen, Footer, Seiten
   ========================================================================== */
.fee-header{position:relative;background:var(--fee-header-bg,var(--fee-surface));box-shadow:0 2px 12px rgb(var(--fee-black-rgb) / .06);transition:background var(--fee-transition),box-shadow var(--fee-transition)}
.fee-header--sticky .fee-header{position:sticky;top:0;z-index:100}
.fee-header__full{width:100%;padding-inline:clamp(16px,3vw,48px)}
.fee-header__inner{min-height:var(--fee-header-h,88px)}
@media (max-width:767px){.fee-header__inner{min-height:var(--fee-header-h-m,68px)}}
.fee-header__logo{padding:var(--fee-logo-pad,0)}
.fee-header__logo a{display:inline-block;line-height:0}
.fee-logo{width:var(--fee-logo-w,150px);height:auto;max-height:calc(var(--fee-header-h,88px) - 12px);object-fit:contain}
.fee-logo--mobile{display:none}
@media (max-width:1023px){.fee-logo{width:var(--fee-logo-w-t,130px)}}
@media (max-width:640px){.fee-logo{width:var(--fee-logo-w-m,110px);max-height:calc(var(--fee-header-h-m,68px) - 12px)}.fee-logo--has-mobile{display:none}.fee-logo--mobile{display:inline-block}}
.fee-nav__list a{color:var(--fee-nav-color,var(--fee-text))}
.fee-nav__list a:hover,.fee-nav__list .current-menu-item>a,.fee-nav__list .current-menu-ancestor>a,.fee-nav__list .current_page_item>a{color:var(--fee-nav-hover,var(--fee-primary))}
.fee-nav__list li+li::before{color:var(--fee-nav-hover,var(--fee-primary))}
.fee-nav--nosep .fee-nav__list li+li::before{content:none}
.fee-nav--left .fee-nav__list{justify-content:flex-start}.fee-nav--right .fee-nav__list{justify-content:flex-end}
.fee-logo--center .fee-header__inner{flex-wrap:wrap;justify-content:center}.fee-logo--center .fee-header__logo{flex-basis:100%;text-align:center;padding-top:12px}
.fee-header__cta{display:flex;align-items:center;gap:.75rem}
.fee-header__wa{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--fee-primary);color:var(--fee-button-text);font-size:1.3rem}
.fee-header__wa:hover{color:var(--fee-button-text);background:var(--fee-hover)}
.fee-header--transparent{position:absolute;left:0;right:0;top:0;z-index:100;background:transparent;box-shadow:none}
.fee-header--transparent .fee-nav__list a,.fee-header--transparent .fee-nav__toggle{color:var(--fee-text-inverse)}
.fee-header--transparent .fee-nav__list li+li::before{color:var(--fee-secondary)}
.fee-header--transparent.is-scrolled{position:fixed;background:var(--fee-header-bg,var(--fee-surface));box-shadow:0 2px 12px rgb(var(--fee-black-rgb) / .08)}
.fee-header--transparent.is-scrolled .fee-nav__list a,.fee-header--transparent.is-scrolled .fee-nav__toggle{color:var(--fee-nav-color,var(--fee-text))}
.fee-nav-mobile--fullscreen .fee-nav.is-open .fee-nav__list{position:fixed;inset:var(--fee-header-h-m,68px) 0 0 0;border-radius:0;justify-content:center;align-items:center;font-size:1.3rem;z-index:99}

/* ---------- Hero-Slider ---------- */
.fee-hero{position:relative;height:var(--fee-hero-h,78vh);min-height:420px;overflow:hidden;background:var(--fee-bg-section)}
.fee-hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity var(--fee-slide-trans,.8s) ease,transform var(--fee-slide-trans,.8s) ease,visibility 0s var(--fee-slide-trans,.8s);height:var(--fee-slide-h,78vh);display:flex}
.fee-hero__slide.is-active{opacity:1;visibility:visible;transition-delay:0s;position:relative}
.fee-hero__slide--slide{transform:translateX(30px)}.fee-hero__slide--slide.is-active{transform:none}
.fee-hero__slide--zoom .fee-hero__media img{transform:scale(1.08);transition:transform 8s linear}.fee-hero__slide--zoom.is-active .fee-hero__media img{transform:scale(1)}
@media (max-width:1023px){.fee-hero__slide{height:var(--fee-slide-h-t,70vh)}}
@media (max-width:640px){.fee-hero__slide{height:var(--fee-slide-h-m,70vh)}.fee-hero{min-height:360px}}
.fee-hero__media,.fee-hero__video{position:absolute;inset:0;width:100%;height:100%}
.fee-hero__media img,.fee-hero__video{width:100%;height:100%;object-fit:var(--fee-slide-size,cover);object-position:var(--fee-slide-focus,center)}
.fee-hero__overlay{position:absolute;inset:0;background:var(--fee-slide-overlay,rgb(29 29 27 / .2))}
.fee-hero__inner{position:relative;z-index:2;display:flex;width:100%;padding-block:clamp(48px,10vh,120px);padding-top:calc(clamp(48px,10vh,120px) + var(--fee-header-offset,0px))}
.fee-hero__slide--v-center .fee-hero__inner{align-items:center}.fee-hero__slide--v-top .fee-hero__inner{align-items:flex-start}.fee-hero__slide--v-bottom .fee-hero__inner{align-items:flex-end}
.fee-hero__slide--h-center .fee-hero__inner{justify-content:center}.fee-hero__slide--h-left .fee-hero__inner{justify-content:flex-start}.fee-hero__slide--h-right .fee-hero__inner{justify-content:flex-end}
.fee-hero__content{max-width:var(--fee-slide-max,760px);color:var(--fee-slide-text,var(--fee-text-inverse));padding:var(--fee-slide-pad,0)}
.fee-hero__slide--align-center .fee-hero__content{text-align:center}.fee-hero__slide--align-left .fee-hero__content{text-align:left}.fee-hero__slide--align-right .fee-hero__content{text-align:right}
.fee-hero__title{color:inherit;font-size:var(--fee-slide-fs,var(--fee-fs-h1));font-weight:var(--fee-slide-fw,700);line-height:var(--fee-slide-lh,1.15);text-shadow:0 2px 20px rgb(var(--fee-black-rgb) / .25)}
.fee-hero__subtitle{font-size:calc(var(--fee-fs-body) * 1.25);margin:0 0 1.5rem;text-shadow:0 1px 12px rgb(var(--fee-black-rgb) / .25)}
.fee-hero__note{font-size:var(--fee-fs-small);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:.75rem}
.fee-hero__buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}
.fee-hero__slide--align-center .fee-hero__buttons{justify-content:center}.fee-hero__slide--align-right .fee-hero__buttons{justify-content:flex-end}
.fee-hero__play{z-index:3}
.fee-hero__nav{position:absolute;top:50%;translate:0 -50%;z-index:5;width:48px;height:48px;border-radius:50%;border:0;background:rgb(var(--fee-surface-rgb) / .85);color:var(--fee-primary);display:grid;place-items:center;cursor:pointer;font-size:1.4rem;box-shadow:var(--fee-shadow-btn)}
.fee-hero__nav--prev{left:16px;transform:scaleX(-1)}.fee-hero__nav--next{right:16px}
.fee-hero__dots{position:absolute;left:0;right:0;bottom:clamp(40px,6vw,90px);z-index:5;display:flex;justify-content:center;gap:8px}
.fee-hero__dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgb(var(--fee-surface-rgb) / .6);cursor:pointer;padding:0}
.fee-hero__dots button.is-active{background:var(--fee-primary);width:26px;border-radius:999px}
.fee-hero .fee-wave{z-index:4}
@media (max-width:640px){.fee-hero__slide--hide-subtitle .fee-hero__subtitle,.fee-hero__slide--hide-buttons .fee-hero__buttons,.fee-hero__slide--hide-text .fee-hero__content{display:none}.fee-hero__nav{display:none}}
.fee-anim-fade-up{animation:feeFadeUp .9s ease both}.fee-anim-fade{animation:feeFade .9s ease both}
.fee-hero__slide:not(.is-active) .fee-anim-fade-up,.fee-hero__slide:not(.is-active) .fee-anim-fade{animation:none;opacity:0}
@keyframes feeFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes feeFade{from{opacity:0}to{opacity:1}}
.fee-header-style--transparent.home .fee-hero__inner,.fee-header-style--transparent_all .fee-hero__inner{--fee-header-offset:var(--fee-header-h,88px)}
.fee-video-modal{position:fixed;inset:0;z-index:1000;background:rgb(var(--fee-black-rgb) / .85);display:grid;place-items:center;padding:24px}
.fee-video-modal__box{width:min(960px,100%);aspect-ratio:16/9;background:#000;border-radius:var(--fee-radius-img);overflow:hidden;position:relative}
.fee-video-modal__box iframe,.fee-video-modal__box video{width:100%;height:100%;border:0}
.fee-video-modal__close{position:absolute;top:-48px;right:0;background:transparent;border:0;color:var(--fee-text-inverse);font-size:2rem;cursor:pointer}

/* ---------- Hero statisch ---------- */
.fee-hero-static .fee-check-list--lg li{font-size:calc(var(--fee-fs-body) * 1.06)}
.fee-hero-static__grid .fee-video-card{max-width:420px;margin-inline:auto}
.fee-check-list--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.fee-check-list--inline{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.fee-page-hero{position:relative;padding:calc(var(--fee-section-y) * .8) 0 calc(var(--fee-section-y) * 1.1);background:var(--fee-bg-page)}
.fee-page-hero h1{margin-bottom:.5rem}
.fee-breadcrumbs{font-size:var(--fee-fs-small);color:rgb(var(--fee-text-rgb) / .7);margin-top:1rem}
.fee-breadcrumbs i{font-style:normal;margin:0 .5rem;color:var(--fee-primary)}
.fee-header-style--transparent_all .fee-page-hero{padding-top:calc(var(--fee-section-y) * .8 + var(--fee-header-h,88px))}

/* ---------- Behandlungskarten ---------- */
.fee-tcard{text-align:center;display:flex;flex-direction:column;align-items:center}
.fee-tcard__media{display:block;width:min(100%,280px);margin-bottom:1.25rem}
.fee-tcard--big .fee-tcard__media{width:min(100%,360px)}
.fee-tcard__title{margin:.25rem 0}
.fee-tcard__title a{color:var(--fee-text)}.fee-tcard__title a:hover{color:var(--fee-primary)}
.fee-tcard__short{max-width:36ch;margin-inline:auto}
.fee-tcard__areas{color:rgb(var(--fee-text-rgb) / .7);font-size:var(--fee-fs-small)}
.fee-tcard__actions{justify-content:center;margin-top:.5rem}
.fee-packages{gap:3rem}
.fee-cat-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;justify-content:center}
.fee-cat-nav a.fee-badge{transition:background var(--fee-transition),color var(--fee-transition)}
.fee-cat-nav a.fee-badge:hover{background:var(--fee-primary);color:var(--fee-button-text)}
.fee-treatments__group+.fee-treatments__group{margin-top:var(--fee-section-y)}
.fee-treatments__group h2{text-align:center}.fee-treatments__group .fee-subtitle{text-align:center}
.fee-treatment__summary .fee-price--big{font-size:2rem}
.fee-treatment__facts{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;gap:.6rem}
.fee-treatment__facts li{display:flex;gap:.6rem;align-items:flex-start}.fee-treatment__facts .fee-icon{color:var(--fee-primary);flex:0 0 auto;margin-top:.2em}
.fee-treatment__side h3{margin-top:2rem;font-size:1.15rem}.fee-treatment__side h3:first-child{margin-top:0}
.fee-steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:.75rem}
.fee-steps li{display:flex;gap:.75rem;align-items:flex-start;counter-increment:s}
.fee-steps li::before{content:counter(s);flex:0 0 28px;height:28px;border-radius:50%;background:var(--fee-primary);color:var(--fee-button-text);display:grid;place-items:center;font-weight:700;font-size:.85rem}
.fee-video-card--wide{aspect-ratio:16/9}

/* ---------- Probleme / Technik / Angebot / Beratung / Über uns ---------- */
.fee-problems .fee-check-list{margin-bottom:2rem}
.fee-tech__row+.fee-tech__row{margin-top:var(--fee-section-y)}
.fee-tech .fee-blob,.fee-problems .fee-blob,.fee-problems .fee-circle,.fee-treatment .fee-blob{max-width:520px;margin-inline:auto;display:block}
.fee-offer{position:relative;min-height:520px;display:flex;align-items:center;background:var(--fee-bg-section);overflow:hidden}
.fee-offer__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fee-offer__inner{position:relative;z-index:2;display:flex;justify-content:flex-end;padding-block:var(--fee-section-y)}
.fee-offer__box{background:rgb(var(--fee-surface-rgb) / .92);border-radius:var(--fee-radius-card);padding:2.5rem;max-width:520px;box-shadow:var(--fee-shadow-card)}
.fee-offer__meta{font-size:1.15rem;font-weight:600;margin:1rem 0}
.fee-countdown{display:flex;gap:.75rem;margin:1.5rem 0}
.fee-countdown div{text-align:center}
.fee-countdown b{display:grid;place-items:center;width:64px;height:64px;border:2px dashed var(--fee-primary);border-radius:12px;font-size:1.5rem;color:var(--fee-primary)}
.fee-countdown span{font-size:.75rem;display:block;margin-top:.25rem}
@media (max-width:640px){.fee-offer__inner{justify-content:center}.fee-offer__box{padding:1.5rem}.fee-countdown b{width:52px;height:52px;font-size:1.2rem}}
.fee-consult__grid{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.fee-consult__grid{grid-template-columns:380px 1fr}}
.fee-consult__bubble{position:relative;aspect-ratio:1;max-width:380px;margin-inline:auto;border-radius:50%;background:var(--fee-bg-section);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem}
.fee-consult__bubble h3{font-size:1.15rem}
.fee-consult__icon{width:88px;height:88px;border-radius:50%;background:var(--fee-accent);color:var(--fee-primary);display:grid;place-items:center;font-size:2.4rem;margin-bottom:1rem}
.fee-consult__hours{border-radius:0 var(--fee-radius-card) var(--fee-radius-card) var(--fee-radius-card)}
.fee-consult__hours h3{display:flex;align-items:center;gap:.5rem;color:var(--fee-primary)}
.fee-about__contact{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;margin-top:2rem}
.fee-about__contact h4{margin-bottom:.5rem}.fee-about__contact p{display:flex;gap:.5rem;align-items:center;margin:.25rem 0}.fee-about__contact .fee-icon{color:var(--fee-primary)}
.fee-sign{display:flex;gap:1rem;align-items:center;padding:1rem 1.5rem}
.fee-sign__img{width:90px;height:auto;border-radius:0}
.fee-about__media .fee-img img{width:100%;height:auto}
.fee-gallery-sec .fee-dots{position:absolute;top:24px;left:24px}
.fee-carousel{position:relative;display:flex;align-items:center;gap:1rem}
.fee-carousel__track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:12px 4px;flex:1}
.fee-carousel__track::-webkit-scrollbar{display:none}
.fee-carousel__item{flex:0 0 min(100%,360px);scroll-snap-align:center;margin:0}
.fee-carousel__nav{flex:0 0 44px;height:44px;border-radius:50%;border:0;background:var(--fee-primary);color:var(--fee-button-text);display:grid;place-items:center;cursor:pointer;font-size:1.3rem;box-shadow:var(--fee-shadow-btn)}
.fee-carousel__nav--prev{transform:scaleX(-1)}
.fee-contact-grid{align-items:flex-start}
.fee-legal-hero{position:relative;background-size:cover;background-position:center}
.fee-legal-hero__overlay{position:absolute;inset:0;background:var(--fee-legal-overlay)}
.fee-legal-hero .fee-container{position:relative}
.fee-legal{background:var(--fee-legal-bg);color:var(--fee-legal-text);font-size:var(--fee-legal-fs)}
.fee-legal__inner{max-width:var(--fee-legal-width)}
.fee-legal h2,.fee-legal h3{color:var(--fee-legal-heading)}.fee-legal a{color:var(--fee-legal-link)}
.fee-page-content{background:var(--fee-surface)}

/* ---------- Footer (konfigurierbar) ---------- */
.fee-footer{position:relative;background:var(--fee-footer-bg,var(--fee-bg-section)) center/cover;color:var(--fee-footer-text,var(--fee-text));padding-block:var(--fee-footer-pad,64px)}
.fee-footer__overlay{position:absolute;inset:0;background:var(--fee-footer-overlay,transparent);pointer-events:none}
.fee-footer[style] .fee-footer__overlay{display:block}
.fee-footer:not([style]) .fee-footer__overlay{display:none}
.fee-footer--border{border-top:var(--fee-border-w) solid var(--fee-border)}
.fee-footer__inner{position:relative;display:block;text-align:left}
.fee-footer__grid{display:grid;gap:2.5rem}
@media (min-width:640px){.fee-footer--cols-t-2 .fee-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.fee-footer--cols-2 .fee-footer__grid{grid-template-columns:repeat(2,1fr)}.fee-footer--cols-3 .fee-footer__grid{grid-template-columns:repeat(3,1fr)}.fee-footer--cols-4 .fee-footer__grid{grid-template-columns:repeat(4,1fr)}}
.fee-footer__logo{margin-bottom:1rem}.fee-footer__logo img{width:var(--fee-footer-logo-w,140px);height:auto}
.fee-footer__logo--center{text-align:center;margin-bottom:2.5rem}.fee-footer__logo--center img{margin-inline:auto}
.fee-footer__title{font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;color:var(--fee-footer-text)}
.fee-footer a{color:var(--fee-footer-link,var(--fee-text))}.fee-footer a:hover{color:var(--fee-footer-hover,var(--fee-primary))}
.fee-footer__nav{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.fee-footer .fee-hours th,.fee-footer .fee-hours td{border-color:rgb(var(--fee-text-rgb) / .15)}
.fee-footer__bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgb(var(--fee-text-rgb) / .15);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.fee-footer__legal-list{justify-content:flex-start}
.fee-footer__copy{color:var(--fee-footer-text)}
.fee-footer .fee-newsletter-form--compact .fee-btn{white-space:nowrap}
.fee-footer .fee-socials a{margin-right:1rem}
@media (max-width:639px){.fee-footer__bottom{justify-content:center;text-align:center}.fee-footer__legal-list{justify-content:center}}

/* ---------- WhatsApp / Nach oben (Größen aus Optionen) ---------- */
.fee-wa{background:var(--fee-wa-color,var(--fee-primary));min-height:var(--fee-wa-size,48px);bottom:var(--fee-wa-offset,24px)}
.fee-wa--right{right:var(--fee-wa-offset,24px)}.fee-wa--left{left:var(--fee-wa-offset,24px)}
.fee-totop{width:var(--fee-totop-size,44px);height:var(--fee-totop-size,44px);border-color:var(--fee-totop-color,var(--fee-primary));color:var(--fee-totop-color,var(--fee-primary));bottom:calc(var(--fee-wa-offset,24px) + var(--fee-wa-size,48px) + 16px)}
.fee-totop--right{right:var(--fee-wa-offset,24px)}.fee-totop--left{left:var(--fee-wa-offset,24px)}
.fee-elementor-full{width:100%}

/* ---------- Mobile Feinschliff ---------- */
html,body{overflow-x:clip}
.fee-gallery-sec,.fee-carousel{overflow:hidden;min-width:0}
.fee-carousel__track{min-width:0}
.fee-nav__list{gap:0 .15rem;font-size:15px}
@media (max-width:640px){
  .fee-btn{white-space:normal;text-align:center;max-width:100%;line-height:1.3}
  .fee-btn--lg{padding:.9rem 1.4rem;font-size:1rem}
  .fee-hero__title{font-size:clamp(1.6rem,7vw,2.2rem)}
  .fee-price--big{font-size:1.6rem!important}
  .fee-consult__bubble{padding:2rem}
}
.fee-nav__list li+li::before{margin:0 .5rem}
@media (min-width:1024px) and (max-width:1279px){.fee-nav__list{font-size:14px}.fee-nav__list li+li::before{margin:0 .3rem}}

/* ---------- Individuelle Beauty-Konzepte ---------- */
.fee-concepts__title{letter-spacing:.06em}
.fee-concepts__row+.fee-concepts__row{margin-top:var(--fee-section-y)}
.fee-concepts__h{font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:.75rem}
.fee-concepts__strong{font-weight:700;color:var(--fee-primary);font-size:1.05em}
.fee-concepts .fee-blob,.fee-concepts .fee-circle{max-width:480px;margin-inline:auto;display:block}
.fee-features{margin-top:var(--fee-section-y)}
.fee-feature{background:var(--fee-bg-page);border:var(--fee-border-w) solid var(--fee-border);border-radius:var(--fee-radius-card);padding:1.75rem 1.5rem;transition:transform var(--fee-transition),box-shadow var(--fee-transition),border-color var(--fee-transition)}
.fee-feature:hover{transform:translateY(-4px);box-shadow:var(--fee-shadow-card);border-color:var(--fee-secondary)}
.fee-feature__icon{width:52px;height:52px;border-radius:50%;background:var(--fee-secondary);color:var(--fee-primary);display:grid;place-items:center;font-size:1.4rem;margin-bottom:1rem}
.fee-feature__title{font-size:1.05rem;margin-bottom:.5rem}
.fee-feature p{font-size:var(--fee-fs-small);margin:0}
.fee-cta-band{margin-top:var(--fee-section-y);background:var(--fee-bg-section);border-radius:var(--fee-radius-card);padding:clamp(2rem,5vw,3.5rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem;position:relative;overflow:hidden}
.fee-cta-band::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:var(--fee-secondary);opacity:.5}
.fee-cta-band__title{position:relative;font-size:clamp(1.5rem,3vw,2.2rem);margin:0}
.fee-cta-band .fee-btn{position:relative}
/* Behandlungen: Filter + Karten */
.fee-cat-nav a.fee-badge.is-active{background:var(--fee-primary);color:var(--fee-button-text)}
.fee-treatments__item{display:contents}
.fee-treatments__item[hidden]{display:none}
.fee-treatments__grid>.fee-treatments__item>.fee-tcard{animation:feeFade .35s ease both}
.fee-tcard__cat{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fee-primary);font-weight:600}
.fee-tcard__featured{margin:.25rem 0}
/* FAQ */
.fee-faq__more[aria-expanded="true"] .fee-icon{transform:rotate(45deg)}
/* Über uns – Seitenkopf */
.fee-about-hero{padding-bottom:calc(var(--fee-section-y) * 1.2)}
.fee-about-hero__inner{max-width:860px;margin-inline:auto;text-align:center}
.fee-about-hero__text{margin:1.5rem auto;font-size:1.05rem}
.fee-about-hero .fee-breadcrumbs{margin-top:2rem}
.fee-about__intro{margin-bottom:1.5rem}
/* Standorte */
.fee-location h3{margin:.75rem 0 .5rem}
.fee-location .fee-btn-row{margin-top:1rem}
@media (max-width:640px){.fee-features{gap:1rem}.fee-cta-band{padding:1.75rem 1.25rem}}
.fee-video-note{margin:.5rem 0 0;text-align:center}
.fee-hero .fee-video-note{position:absolute;bottom:12px;left:0;right:0;z-index:5;color:var(--fee-text-inverse);text-shadow:0 1px 6px rgb(var(--fee-black-rgb) / .4)}

/* ---------- Hero v0.4: Video/Embed als Hintergrund, Auto-Höhe, Slide-Effekt ---------- */
.fee-hero__slide--auto{height:auto;min-height:320px}
.fee-hero__video{object-fit:cover;object-position:var(--fee-slide-focus,center)}
.fee-hero__embed{position:absolute;inset:0;overflow:hidden;background:#1D1D1B center/cover no-repeat}
.fee-hero__embed iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78vh;min-height:100vh;transform:translate(-50%,-50%);border:0;pointer-events:none}
.fee-hero__slide:not(.fee-hero__slide--full) .fee-hero__embed iframe{min-height:var(--fee-slide-h,78vh);min-width:calc(var(--fee-slide-h,78vh) * 1.7778)}
.fee-hero--fx-slide .fee-hero__slide{transform:translateX(40px)}
.fee-hero--fx-slide .fee-hero__slide.is-active{transform:none}
.fee-hero--fx-slide .fee-hero__slide.is-leaving{transform:translateX(-40px)}
@media (max-width:640px){.fee-hero__embed iframe{min-height:var(--fee-slide-h-m,70vh);min-width:calc(var(--fee-slide-h-m,70vh) * 1.7778)}}
/* Adminbar-Abstand für Sticky-Header */
body.admin-bar .fee-header--sticky .fee-header,body.admin-bar .fee-header--transparent.is-scrolled{top:32px}
@media (max-width:782px){body.admin-bar .fee-header--sticky .fee-header,body.admin-bar .fee-header--transparent.is-scrolled{top:46px}}
/* Seitenkopf mit optionalem Kopfbild */
.fee-page-hero--image{background-size:cover;background-position:center;position:relative}
.fee-page-hero__overlay{position:absolute;inset:0;background:rgb(var(--fee-surface-rgb) / .78)}
.fee-page-hero__inner{position:relative;z-index:1}
.fee-page-hero .fee-ie-img{position:absolute;top:12px;left:12px;z-index:5;width:40px;height:40px}
.fee-page-hero__imgslot{display:block;width:40px;height:40px}
.fee-gallery .fee-ie-img{display:block}
.fee-ie-addimg{display:none;margin:.75rem .5rem 0 0;background:#B34E62;color:#fff;border:0;border-radius:999px;padding:.4rem 1rem;font-size:13px;cursor:pointer;font-family:inherit}
body.fee-ie-on .fee-ie-addimg{display:inline-block}

/* ---------- Social-Media-Icons ---------- */
.fee-social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--fee-social-gap,10px);align-items:center}
.fee-social__link{display:inline-flex;align-items:center;justify-content:center;width:var(--fee-social-size,40px);height:var(--fee-social-size,40px);border-radius:var(--fee-social-radius,50%);border:var(--fee-social-border,1.5px) solid var(--fee-social-color,var(--fee-primary));background:var(--fee-social-bg,transparent);color:var(--fee-social-color,var(--fee-primary));font-size:calc(var(--fee-social-size,40px) * .5);transition:transform var(--fee-transition),background var(--fee-transition),color var(--fee-transition),border-color var(--fee-transition);text-decoration:none}
.fee-social__link:hover,.fee-social__link:focus-visible{background:var(--fee-social-hover-bg,var(--fee-primary));color:var(--fee-social-hover,var(--fee-button-text));border-color:var(--fee-social-hover-bg,var(--fee-primary));transform:translateY(-3px)}
.fee-social__link svg{width:1em;height:1em}
.fee-social__img{width:1.1em;height:1.1em;object-fit:contain;border-radius:0}
.fee-social--header{margin-right:.5rem}
.fee-social--header .fee-social__link{--fee-social-size:34px}
.fee-social--footer{margin-top:1rem}
.fee-social--mobile{display:none;justify-content:center;padding:1rem 0 .25rem}
.fee-nav.is-open .fee-social--mobile{display:flex}
@media (min-width:1024px){.fee-social--mobile{display:none!important}}
@media (max-width:1023px){.fee-social--header{display:none}}
.fee-nav__social{width:100%;list-style:none}
.fee-nav__social::before{content:none!important}
@media (min-width:1024px){.fee-nav__social{display:none}}
.fee-social--header{flex-wrap:nowrap;gap:4px}
.fee-social--header .fee-social__link{--fee-social-size:32px;border-width:0;background:transparent}
.fee-social--header .fee-social__link:hover{background:var(--fee-social-hover-bg,var(--fee-primary))}
@media (max-width:1199px){.fee-social--header{display:none}}

/* ---------- Angebot: konfigurierbarer Hintergrund ---------- */
.fee-offer--no-image{background:var(--fee-bg-section)}
.fee-offer--no-image .fee-offer__overlay{display:none}
.fee-offer__bg{position:absolute;inset:0;width:100%;height:100%;display:block}
.fee-offer__bg img{width:100%;height:100%;object-fit:var(--fee-offer-size,cover);object-position:var(--fee-offer-pos,center)}
.fee-offer__bg--empty{background:var(--fee-bg-section)}
.fee-offer__overlay{background:var(--fee-offer-overlay,rgb(29 29 27 / .25))}
.fee-offer .fee-ie-img{position:absolute;inset:0;display:block}
.fee-offer .fee-ie-img__btn{top:16px;left:16px}
.fee-offer--has-image .fee-offer__box{background:rgb(var(--fee-surface-rgb) / .92)}
/* Über uns ohne Bild */
.fee-about__media--empty .fee-about__imgslot{display:block;min-height:120px;border:2px dashed var(--fee-border);border-radius:var(--fee-radius-card);padding:2rem;text-align:center;color:var(--fee-muted,#777);font-size:var(--fee-fs-small)}
.fee-about__media--empty{display:none}
body.fee-ie-on .fee-about__media--empty{display:block}
/* Galerie-Slider: Pagination, Bildunterschrift, Spaltenanzahl */
.fee-carousel__item{flex:0 0 calc((100% - (var(--fee-gal-cols,3) - 1) * 1.5rem) / var(--fee-gal-cols,3));scroll-snap-align:start}
@media (max-width:1023px){.fee-carousel__item{flex-basis:calc((100% - 1.5rem) / 2)}}
@media (max-width:640px){.fee-carousel__item{flex-basis:100%}}
.fee-carousel__item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.fee-carousel__caption{padding:.6rem .25rem 0;font-size:var(--fee-fs-small);display:flex;flex-direction:column;gap:.15rem}
.fee-carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:1.25rem}
.fee-carousel__dots button{width:10px;height:10px;border-radius:50%;border:0;background:var(--fee-border);cursor:pointer;padding:0}
.fee-carousel__dots button.is-active{background:var(--fee-primary);width:26px;border-radius:999px}
.fee-about__grid:has(> :only-child){grid-template-columns:1fr}

/* ---------- Über uns: Marke + Vision ---------- */
.fee-brand__head{text-align:center;margin-bottom:2rem}
.fee-brand__title{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.15;color:var(--fee-primary);position:relative;display:inline-block;padding-bottom:1rem}
.fee-brand__title::after{content:"";position:absolute;left:50%;bottom:0;width:72px;height:3px;border-radius:999px;background:var(--fee-secondary);transform:translateX(-50%)}
.fee-brand__text{font-size:1.08rem;line-height:1.75;text-align:center}
.fee-brand__text p{margin:0 0 1.1rem}
.fee-brand__strong{font-weight:600;color:var(--fee-text)}
.fee-vision{position:relative;margin-top:var(--fee-section-y);background:linear-gradient(135deg,var(--fee-bg-page),var(--fee-bg-section));border-radius:var(--fee-radius-card);padding:clamp(2rem,5vw,4rem);display:grid;gap:2.5rem;align-items:center;overflow:hidden;box-shadow:var(--fee-shadow-card)}
.fee-vision--image{grid-template-columns:minmax(220px,1fr) 2fr}
@media (max-width:899px){.fee-vision--image{grid-template-columns:1fr}}
.fee-vision__mark{position:absolute;top:18px;right:24px;font-size:5rem;color:var(--fee-secondary);opacity:.55;line-height:1}
.fee-vision__mark svg{width:1em;height:1em}
.fee-vision__media .fee-circle{max-width:320px;margin-inline:auto}
.fee-vision__imgslot{display:block}
body:not(.fee-ie-on) .fee-vision__media:has(.fee-vision__imgslot){display:none}
.fee-vision__body{position:relative;max-width:68ch}
.fee-vision__title{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:1rem}
.fee-vision__body p{line-height:1.75;margin:0 0 1rem}
.fee-vision__body p:first-of-type{font-size:1.1rem;font-weight:500}
@media (max-width:640px){.fee-vision{padding:1.75rem 1.25rem}.fee-vision__mark{font-size:3.5rem;top:10px;right:12px}.fee-brand__text{text-align:left}}
