/* Klara Line – Stylesheet */
:root{
  --bg:#F4EFF7; --bg-soft:#F9F6FB; --bg-row:#FBF9FC; --surface:#FFFFFF;
  --ink:#2A1B33; --ink-2:#54465F; --muted:#6C5C78;
  --lila:#8A5A97; --lila-hover:#A273AF; --petrol:#2F7F8E; --gold:#F6E3A1;
  --line:#E4D8EA; --line-2:#D3C3DC; --line-soft:#F1EBF4;
  --online:#2F9E62; --pause:#E3B86A; --offline:#A99BB4;
  --ok-bg:#E3F3EA; --ok:#1F7A48; --err-bg:#F8E1E4; --err:#A83246;
  --serif:InstrumentSerif,Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif;
  --r-s:12px; --r-m:14px; --r-l:20px; --r-xl:24px; --r-xxl:28px; --pill:999px;
  --maxw:1200px;
  --klara-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
*{box-sizing:border-box}
.hide { display: none; } 
.campaign, .profile .campaign { color: var(--err); padding-left: 5px; font-weight: bold; } 
.switch input:before { display: none; }
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--petrol);text-decoration:none}a:hover{color:var(--ink)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.05;letter-spacing:-.01em}
/*.block h1 { padding-bottom: 10px; margin-bottom: 20px; border-bottom: 1px solid var(--petrol); }*/
h1 { margin-bottom: 30px; }
em{font-style:italic}
p{margin:0}
.container{max-width:var(--maxw);margin:0 auto;padding:0}
.page{min-height:100vh;}
.page>main{flex:1}
.text-lila{color:var(--lila)}.text-petrol{color:var(--petrol)}.text-muted{color:var(--muted)}
.kicker{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--petrol)}
.display{font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.02em}
.display em{color:var(--lila)}
.h2{font-size:clamp(36px,4.5vw,56px);line-height:1}
.h3{font-size:28px;line-height:1.1}
.lead{font-size:18px;line-height:1.6;color:var(--ink-2);max-width:600px;text-wrap:pretty}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}

/* Buttons */
.btn,.submit,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:15px;font-weight:600;padding:13px 22px;border-radius:var(--pill);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn--primary,.submit,.button{background:var(--lila);color:#fff;border-color:var(--lila)}.btn--primary:hover{background:var(--lila-hover);border-color:var(--lila-hover);color:#fff}
.btn--accent{background:var(--petrol);color:#fff}.btn--accent:hover{background:var(--ink);color:#fff}
.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover{background:var(--lila);color:#fff}
.btn--outline{background:transparent;color:var(--petrol);border-color:var(--petrol)}.btn--outline:hover{background:var(--petrol);color:#fff}
.btn--outline-lila{background:transparent;color:var(--lila);border-color:var(--lila)}.btn--outline-lila:hover{background:var(--lila);color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn--ghost:hover{border-color:var(--lila);color:var(--lila)}
.btn--white{background:#fff;color:var(--lila)}.btn--white:hover{background:var(--gold);color:var(--ink)}
.btn--sm{font-size:14px;padding:10px 16px}.btn--lg{font-size:16px;padding:16px 28px}.btn--block{display:flex;width:100%}
.btn[disabled]{background:#C9B6D3;border-color:#C9B6D3;cursor:not-allowed}
.passreset { font-size: 12px;margin: 0 auto; }

/* Header */
.site-header{position:relative;z-index:20}
.site-header__inner{max-width:var(--maxw);margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:16px 24px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);flex-shrink:0}
.logo span{font-family:var(--serif);font-size:30px;line-height:1;white-space:nowrap}.logo em{color:var(--lila)}
.logo svg{width:32px;height:32px}
.nav{display:flex;gap:22px;font-size:15px;flex:1;justify-content:center;white-space:nowrap}
.nav li { display: inline-block; list-style-type: none; margin: 0 10px; }
.hero .nav a{color:var(--ink);padding:4px 0}.nav a:hover,.nav a.active{color:var(--lila)}
.nav .level_2 { display: none; }
.header-actions{display:flex;gap:8px;align-items:center}
.header-actions .link{font-size:15px;color:var(--ink);padding:10px 14px}
.menu-toggle{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.7);font-size:18px;cursor:pointer;color:var(--ink)}
.mobile-menu{display:none;position:absolute;left:16px;right:16px;top:84px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:10px;flex-direction:column;box-shadow:0 24px 48px -24px rgba(42,27,51,.35)}
.mobile-menu a{color:var(--ink);font-size:17px;padding:14px 16px;border-radius:var(--r-m)}
.mobile-menu.is-open{display:flex}
.header-actions .btn--mobile{display:none;width:46px;height:46px;line-height: 46px;padding:0;}
@media (max-width:1039px){
    .nav,.header-actions .link,.header-actions .btn--primary{display:none}.header-actions{margin-left:auto}.header-actions .btn--primary.btn--mobile{display:inline-flex}.menu-toggle{display:block}
    .header-actions { height: 46px; }
}

/* Hero (Startseite) */
.hero{position:relative;overflow:hidden;background:#F3EEF6 url('img/hero-karten.jpg') top center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 45% 40% at 50% 40%,rgba(244,239,247,.55),rgba(244,239,247,0))}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(180deg,rgba(243,238,246,0),var(--bg));pointer-events:none}
.hero>*{position:relative;z-index:1}
.full-hero .hero::before { background: linear-gradient(180deg,rgba(244,239,247,.30) 0%,rgba(244,239,247,.62) 40%,var(--bg) 82%),radial-gradient(ellipse 50% 60% at 50% 45%,rgba(244,239,247,.7),rgba(244,239,247,0)); }
.hero header { z-index: 1000; }
.hero__content{max-width:980px;margin:0 auto;padding:112px 24px 72px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.hero__content .display{font-size:clamp(56px,9vw,120px);line-height:.95}
.hero__content .display em{color:var(--petrol)}
.hero-stats{margin-top:36px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;font-size:15px;color:var(--ink-2)}
.hero-stats .num{font-family:var(--serif);font-size:30px;line-height:1;color:var(--lila)}
.hero-stats .sep{width:1px;height:28px;background:var(--line-2)}
.avatar-stack{display:flex;padding-left:30px;}
.avatar-stack .avatar{width:44px;height:44px;border:3px solid var(--bg);margin-left:0;font-size:18px;}
.avatar-stack .avatar { margin-left: -30px; }
.hero .avatar-stack .more { display: none; }
@media (max-width:699px){.hero{background-position:62% 100%}.hero-stats{flex-direction:column}.hero-stats .sep{display:none}}

/* Band (Unterseiten-Kopf) */
.band{position:relative;background:var(--bg) url('../img/hero-karten.png') center top/cover no-repeat}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,239,247,.30) 0%,rgba(244,239,247,.62) 40%,var(--bg) 82%),radial-gradient(ellipse 50% 60% at 50% 45%,rgba(244,239,247,.7),rgba(244,239,247,0))}
.band::before{main-height: 300px; }
.band>*{position:relative;z-index:1}
.band__content{max-width:var(--maxw);margin:0 auto;padding:56px 24px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.band--full{min-height:100vh;display:flex;flex-direction:column;background-size:100% auto}

/* Ticker (Neue Berater) */
.ticker-wrap{max-width:var(--maxw);width:calc(100% - 48px);margin:0 auto;padding-bottom:72px}
.ticker-head{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px;text-align:center}
.ticker-head strong{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.ticker{background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--pill);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.ticker__track{display:flex;gap:12px;width:max-content;padding:12px;animation:kl-ticker 60s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__item{display:flex;align-items:center;gap:14px;padding:8px 22px 8px 8px;border-radius:var(--pill);background:var(--bg);border:1px solid var(--line);color:var(--ink);white-space:nowrap;width:300px;}
.ticker__item:hover{border-color:var(--lila);color:var(--ink)}
.ticker__item .avatar{width:64px;height:64px;font-size:26px}
.ticker__name{display:block;font-family:var(--serif);font-size:22px;line-height:1.1}.ticker__sub{display:block;font-size:13px;color:var(--muted)}
@keyframes kl-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Sections */
.section{max-width:var(--maxw);margin:0 auto;padding:40px 0 96px}
.section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}
.section__head--plain{border:0;padding-bottom:0;margin-bottom:28px}
.more{margin-top:36px;text-align:center;font-size:15px}

/* Avatar & Status */
.advisor .avatar, .hero__content .avatar, .ticker__item .avatar, .mod_favorites .avatar{width:64px;height:64px;border-radius:50%;background:#D9C3E3 center 20%/cover no-repeat;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:26px;color:var(--ink);flex-shrink:0;position:relative}
.avatar .dot{position:absolute;right:0;bottom:0;width:15px;height:15px;border-radius:50%;border:3px solid #fff;background:var(--offline)}
.dot.is-online,.is-online .dot{background:var(--online)}.dot.is-pause{background:var(--pause)}
.tone-1{background-color:#BFE2E8}.tone-2{background-color:#D9C3E3}.tone-3{background-color:#F6E3A1}.tone-4{background-color:#C8DDE6}.tone-5{background-color:#E6D0EC}
.fav_add { position: absolute; top: 26px; right: 26px; color: #ccc; }
.fav_add:hover { color: var(--petrol); }
.fa-heart.is-on { color: var(--lila); }
.advisor { position: relative; }

/* Filter */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font:inherit;font-size:14px;padding:8px 15px;border-radius:var(--pill);border:1px solid var(--line-2);background:transparent;color:var(--ink);cursor:pointer}
.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.tabs-line{display:flex;gap:28px;flex-wrap:wrap;margin:24px 0 16px;font-size:15px}
.tabs-line a{background:none;border:0;border-bottom:1px solid transparent;font:inherit;padding:4px 0;color:var(--muted);cursor:pointer}
.tabs-line a.is-active{color:var(--ink);border-bottom-color:var(--petrol)}
.switch{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-2);cursor:pointer}
.switch input{appearance:none;width:44px;height:26px;border-radius:var(--pill);background:var(--line-2);position:relative;cursor:pointer;margin:0;transition:background .2s}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .2s}
.switch input:checked{background:var(--petrol)}.switch input:checked::after{left:21px}
.filterbar{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:16px}
.filterbar__row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.search{flex:1 1 260px;min-width:0;font:inherit;font-size:15px;padding:13px 18px;border-radius:var(--pill);border:1px solid var(--line-2);background:var(--bg-soft);color:var(--ink);outline:none}
.search:focus{border-color:var(--lila)}
.dropdown{position:relative}
.dropdown__btn{display:flex;align-items:center;gap:10px;font:inherit;font-size:15px;padding:12px 16px 12px 20px;border-radius:var(--pill);border:1px solid var(--line-2);background:#fff;color:var(--ink);cursor:pointer}
.dropdown__btn span:first-child{color:var(--muted)}.dropdown__btn strong{font-weight:600}
.dropdown__menu{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:6px;box-shadow:0 20px 40px -20px rgba(42,27,51,.35);z-index:10;flex-direction:column}
.dropdown.is-open .dropdown__menu{display:flex}.dropdown.is-open .dropdown__btn{border-color:var(--lila)}
.dropdown__menu button{display:flex;justify-content:space-between;font:inherit;font-size:15px;text-align:left;padding:12px 14px;border-radius:var(--r-m);border:0;background:transparent;color:var(--ink);cursor:pointer}
.dropdown__menu button:hover,.dropdown__menu button.is-active{background:var(--bg)}.dropdown__menu button.is-active{font-weight:600}
.dropdown__menu button.is-active::after{content:"✓";color:var(--lila)}


/* Grid & Karten */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:28px}
.advisor{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:26px;display:flex;flex-direction:column;gap:18px}
.advisor:hover{border-color:var(--lila)}
.advisor__head{display:flex;gap:18px;align-items:center;color:var(--ink)}
.advisor__name{font-size:28px;line-height:1.1}
.advisor__meta{font-size:13px;color:var(--muted);margin-top:4px}
.advisor__text{font-size:15px;line-height:1.55;height:4.65em;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.advisor__tags{font-size:13px;color:var(--lila);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:10px}
.advisor__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;border-top:1px solid var(--line);padding-top:18px;align-items:start}
.advisor__actions .action{display:flex;flex-direction:column;gap:5px}
.advisor__actions .action--wide{grid-column:span 2}
.advisor__actions .btn{font-size:14px;padding:12px 10px}
.price{font-size:12px;color:var(--muted);text-align:center}
.badge-new{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:3px 8px;border-radius:var(--pill)}
.promo{background:var(--lila);border-radius:var(--r-xl);padding:28px;display:flex;flex-direction:column;gap:16px;color:#fff}
.promo__kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.promo h3{font-size:36px;line-height:1.02;color:#fff}
.promo p{font-size:15px;line-height:1.55;color:#F4EEF6;flex:1}
.cta-box{background:#fff;border:1px solid var(--line);border-radius:var(--r-xxl);padding:40px;display:flex;gap:24px 40px;align-items:center;justify-content:space-between;flex-wrap:wrap}

/* Bewertungen */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px}
.review{margin:0;border-top:1px solid var(--petrol);padding-top:24px;display:flex;flex-direction:column;gap:16px}
.review blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.35}
.review figcaption{font-size:14px;color:var(--muted)}
.stars{color:var(--lila);letter-spacing:.12em}

/* Profil */
.profile-hero{max-width:var(--maxw);margin:0 auto;padding:20px 0 0}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:28px;display:flex;gap:8px}
.profile-grid{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:stretch}
.profile-photo{position:relative;height:250px;width:250px;border-radius:32px;background:#D9C3E3 center 20%/cover no-repeat;overflow:hidden}
.profile-photo .status{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.92);padding:8px 14px;border-radius:var(--pill);font-size:14px;font-weight:600}
.status .dot{width:9px;height:9px;border-radius:50%;background:var(--offline)}
.profile-info{display:flex;flex-direction:column;gap:24px}
.profile-info h1{font-size:clamp(52px,6vw,80px);line-height:.95;letter-spacing:-.02em}
.profile-facts{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}.profile-facts strong{color:var(--ink)}
.profile-quote{font-family:var(--serif);font-size:28px;line-height:1.3}
.contact-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:18px}
.contact-box .action{display:flex;flex-direction:column;gap:6px}
.profile .notice{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:28px 32px;display:flex;gap:16px 32px;flex-wrap:wrap;align-items:baseline}
.notice__label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lila)}
.profile .notice p{flex:1 1 420px;font-family:var(--serif);font-size:26px;line-height:1.35}
.bio{display:flex;flex-wrap:wrap;gap:24px 56px}
.bio__side{flex:1 1 220px;display:flex;flex-direction:column;gap:16px}
.bio__text{flex:3 1 460px;min-width:0;display:flex;flex-direction:column;gap:18px;font-size:17px;line-height:1.75}
.dash-list{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-2);list-style:none;margin:0;padding:0}
.dash-list li::before{content:"— ";color:var(--petrol)}
.offer{border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;background:var(--bg-row)}
.offer__head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.offer h3{font-size:24px}.offer__price{font-size:17px;font-weight:600;color:var(--lila);white-space:nowrap}
.offer p{font-size:14px;line-height:1.55;color:var(--ink-2);flex:1}
.review-list{border-top:1px solid var(--line)}
.review-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:8px 32px;padding:22px 0;border-bottom:1px solid var(--line)}
.review-row__meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.review-row p{font-family:var(--serif);font-size:22px;line-height:1.4}
@media (max-width:599px){.review-row{grid-template-columns:1fr}.profile-grid{display: block;}}

/* Pagination */
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:28px;flex-wrap:wrap}
.pagination li { display: inline-block; list-style-type: none; }
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:var(--pill);border:1px solid var(--line-2);color:var(--ink);font-size:14px}
.pagination .active a{background:var(--ink);border-color:var(--ink);color:#fff}
.pagination .disabled{color:#C9B6D3}

/* Formulare */
.form{display:flex;flex-direction:column;gap:16px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.form-grid .row{grid-column:1/-1}
form label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2)}
form .asterisk { display: inline; }
.field__row{display:flex;justify-content:space-between}.field__row span,.field__row a{font-weight:400}
.text,.textarea,.select{width:100%;font:inherit;font-weight:400;font-size:15px;padding:14px 16px;border-radius:var(--r-m);border:1px solid var(--line-2);background:var(--bg-soft);color:var(--ink);outline:none}
.text:focus,.textarea:focus,.select:focus{border-color:var(--lila)}
.textarea{resize:vertical;line-height:1.6}.textarea--fixed{resize:none;overflow:hidden}
.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;color:var(--ink-2);cursor:pointer;font-weight:400}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--lila);flex-shrink:0}
.dropzone{border:1px dashed var(--line-2);border-radius:var(--r-m);padding:18px;text-align:center;font-weight:400;font-size:14px;color:var(--muted)}
.dropzone strong{color:var(--lila)}
.success{background:var(--bg);border-radius:18px;padding:22px}
.success strong{display:block;font-family:var(--serif);font-weight:400;font-size:28px;margin-bottom:6px}
.hint{font-size:14px;background:var(--gold);color:var(--ink);padding:10px 14px;border-radius:var(--r-s);align-self:flex-start}
.placeholder{font-size:13px;color:var(--muted);background:var(--gold);border-radius:var(--r-s);padding:10px 14px;align-self:flex-start}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px;align-items:start}
.list-lines{display:flex;flex-direction:column;border-top:1px solid var(--line);list-style:none;margin:0;padding:0}
.list-lines li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;font-size:17px}
.list-lines li::before{content:"—";color:var(--petrol)}

/* Schritte & FAQ */
.step{display:flex;flex-direction:column;gap:10px}
.step--card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:28px}
.step--line{border-top:1px solid var(--lila);padding-top:22px}
.step__num{font-family:var(--serif);font-size:44px;color:var(--lila);line-height:1}
.step p{font-size:15px;line-height:1.55;color:var(--ink-2)}
.faq{border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-size:18px;font-weight:500;padding:22px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--lila)}.faq details[open] summary::after{content:"−"}
.faq p{margin:0 0 22px;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:720px}

/* Rechtliches */
.legal{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.legal-nav{flex:0 1 240px;display:flex;flex-direction:column;gap:4px;position:sticky;top:20px}
.legal-nav a{font-size:15px;padding:12px 16px;border-radius:var(--r-m);color:var(--ink)}
.legal-nav a.is-active{background:#fff;font-weight:600}
.legal-body{flex:1 1 520px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-xxl);padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:28px}
.dl{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:14px 24px;font-size:15px;margin:0}
.dl dt{color:var(--muted)}.dl dd{margin:0}
.lines{display:flex;flex-direction:column;gap:8px}.lines span{height:10px;border-radius:5px;background:#EFE8F3}

/* Footer */
.site-footer{border-top:1px solid var(--line);margin-top:auto}
.site-footer__inner{max-width:var(--maxw);margin:0 auto;padding:48px 24px 32px;display:flex;flex-direction:column;gap:32px}
.site-footer__top{display:flex;justify-content:space-between;gap:24px 32px;flex-wrap:wrap;align-items:center}
.footer-links{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:14px;}.footer-links a{color:var(--ink)}
.footer-links a{padding: 5px 0; }
.payments{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}
.payments span{padding:5px 10px;border:1px solid var(--line);border-radius:8px}
.site-footer__legal{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px;line-height:1.6;color:var(--muted)}
.site-footer .button { color: #fff; padding: 5px 10px; }

/* Dashboard (Berater- & Kundenbereich) */
.app-bar{border-bottom:1px solid var(--line);background:rgba(255,255,255,.75);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.app-bar__inner{max-width:1320px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}
.app-bar .logo span{font-size:26px}.app-bar .logo svg{width:28px;height:28px}
.app-bar__label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-left:14px;border-left:1px solid var(--line-2)}
.app-bar__spacer{flex:1}
.status-pill{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:9px 14px;border-radius:var(--pill);background:var(--ok-bg);color:var(--ok)}
.status-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--online)}
.dashboard{flex:1;max-width:1320px;width:100%;margin:0 auto;padding:28px 24px 72px;display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.sidebar{flex:1 1 260px;max-width:300px;display:flex;flex-direction:column;gap:16px;position:sticky;top:92px}
.content{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:18px}
main h1{font-size:clamp(40px,5vw,60px);line-height:1}
.content__head { margin-bottom: 30px; }
.content__head .kicker{font-size:12px;letter-spacing:.14em;margin-bottom:10px;display:block;}
.content__head p{margin-top:14px;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:720px;}
aside .block{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;display:flex;flex-direction:column;gap:14px}
.account__user{display:flex;align-items:center;gap:14px}
.account__user .avatar{width:52px;height:52px;font-size:22px}
.account__name{font-family:var(--serif);font-size:24px;line-height:1.1}
.account__sub{font-size:13px;color:var(--muted)}
.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px}
.mini-stat{background:var(--bg);border-radius:var(--r-m);padding:10px 12px;color:var(--ink)}
.mini-stat strong{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1}
.mini-stat span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.balance{display:flex;justify-content:space-between;align-items:center;background:var(--lila);color:#fff;border-radius:16px;padding:14px 16px}
.balance:hover{color:#fff;background:#7A4D87}
.balance small{display:block;font-size:12px;opacity:.85}.balance strong{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1}
.balance span{font-size:13px;font-weight:600;background:#fff;color:var(--lila);padding:7px 12px;border-radius:var(--pill)}
aside nav{margin:-20px -20px -10px -20px;display:flex;flex-direction:column;gap:2px}
aside nav a{display:flex;justify-content:space-between;font-size:15px;padding:10px 14px;border-radius:var(--r-s);color:var(--ink)}
aside nav a:hover{background:var(--bg)}
aside nav li { margin-bottom: 1px; }
aside nav .active a{background:var(--lila);color:#fff;font-weight:600}
aside nav .active a:hover { color: #fff; }
aside nav .count{font-size:12px;font-weight:600;color:var(--lila)}.side-nav a.is-active .count{color:#fff}
.referral{display:flex;border:1px solid var(--line-2);border-radius:var(--pill);overflow:hidden;background:var(--bg-soft)}
.referral span{flex:1;min-width:0;font-size:13px;padding:10px 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.referral button{font:inherit;font-size:13px;font-weight:600;padding:0 14px;border:0;background:var(--petrol);color:#fff;cursor:pointer}
@media (max-width:959px){.sidebar{max-width:100%;position:static}.side-nav{flex-direction:row;overflow-x:auto;border-radius:var(--pill);padding:6px;scrollbar-width:none}.side-nav::-webkit-scrollbar{display:none}.side-nav a{flex-shrink:0;white-space:nowrap;border-radius:var(--pill)}.sidebar .referral-card{display:none}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px}
.stat span{display:block;font-size:13px;color:var(--muted)}
.stat strong{display:block;font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.1;margin-top:6px}
.stat small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px;}
.toolbar .spacer { flex: 1; }
.toolbar .search input{max-width:380px;background:#fff;padding:12px 18px}
.toolbar__spacer{flex:1}
.footform { display: flex; }
.footform .select { width: 300px; }
.month{display:flex;align-items:center;background:#fff;border:1px solid var(--line-2);border-radius:var(--pill)}
.month a{width:42px;height:44px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--lila)}
.month span{font-size:15px;font-weight:600;min-width:140px;text-align:center}
.tabnav{margin: 20px 0;display:flex;gap:4px;background:#EDE5F1;padding:4px;border-radius:var(--pill);align-self:flex-start;max-width:100%;overflow-x:auto;border:none;height:auto;line-height:inherit;}
.tabnav li { display: inline-block; height: auto; line-height: inherit; float: none; }
.tabnav a{font:inherit;font-size:14px;padding:9px 16px;border-radius:var(--pill);border:0;background:transparent;color:var(--ink);white-space:nowrap;cursor:pointer;height:auto;line-height:inherit;}
.tabnav .active a{background:#fff;font-weight:600;color:var(--lila);}
.table{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow-x:auto;margin: 20px 0;}
.table table{width:100%;border-collapse:collapse;font-size:14px}
.table th{text-align:left;padding:13px 12px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg-row);border-bottom:1px solid var(--line);white-space:nowrap}
.table td{padding:11px 12px;border-bottom:1px solid var(--line-soft);white-space:nowrap}
.table tr:hover td{background:var(--bg-row)}
.table tfoot td{background:var(--bg);font-weight:600;border:0}
.table .r{text-align:right}.table .b{font-weight:600}.table .muted{color:var(--muted)}.table a{color:var(--lila)}
.table tr.is-unread td{font-weight:600}.table tr.is-unread td a{color:var(--lila)}
.table tfoot td { background: var(--bg-row); }
.pill{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--pill);background:#EFE8F3;color:var(--muted)}
.pill--ok{background:var(--ok-bg);color:var(--ok)}.pill--err{background:var(--err-bg);color:var(--err)}.pill--gold{background:var(--gold);color:var(--ink)}
.pill--silver{background:#E8E4EC;color:var(--ink-2)}.pill--bronze{background:#F1DCCB;color:#7A4A2A}
.bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#EFE8F3;min-width:160px}
.bar i{display:block}.bar .on{background:var(--online)}.bar .pa{background:var(--pause)}.bar .ta{background:var(--petrol)}
.empty{padding:48px 24px;text-align:center;border:1px dashed var(--line-2);border-radius:var(--r-l);color:var(--muted);font-size:15px;background:rgba(255,255,255,.5);display:flex;flex-direction:column;gap:14px;align-items:center}
.notes{display:flex;gap:8px;flex-wrap:wrap}.notes span{font-size:14px;background:var(--gold);padding:9px 14px;border-radius:var(--r-s)}
.status-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.status-option{text-align:left;background:#fff;border:2px solid var(--line);border-radius:var(--r-xl);padding:24px;display:flex;flex-direction:column;gap:10px;color:var(--ink);cursor:pointer;font:inherit}
.status-option.is-active{border-color:var(--lila)}
.status-option .dot{width:14px;height:14px;border-radius:50%}
.status-option strong{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1}
.status-option span{font-size:14px;color:var(--ink-2)}
.calendar-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:18px;overflow-x:auto}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:8px;min-width:680px}
.calendar__wd{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;padding:6px 0}
.day{min-height:88px;border-radius:16px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:var(--bg);font-size:13px;color:var(--muted)}
.day strong{font-size:14px;color:var(--ink)}
.day--free{background:#fff;border:1px solid var(--line-2)}.day--mine{background:var(--lila);color:#fff}.day--mine strong{color:#fff}.day--blank{background:transparent}
.cat-list{display:flex;gap:8px;flex-wrap:wrap}
.cat{font:inherit;font-size:14px;padding:9px 16px;border-radius:var(--pill);border:1px solid var(--line-2);background:transparent;color:var(--ink);cursor:pointer}
.cat::before{content:"+ "}.cat.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.cat.is-active::before{content:"✓ "}
.editor{border:1px solid var(--line-2);border-radius:var(--r-m);overflow:hidden;background:var(--bg-soft)}
.editor__bar{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);background:#fff}
.editor__bar span{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg)}
.editor textarea{width:100%;display:block;font:inherit;font-size:15px;line-height:1.65;padding:16px;border:0;background:transparent;color:var(--ink);outline:none;resize:vertical}
.pic{background:#fff;border:2px solid var(--line);border-radius:var(--r-xl);padding:12px;display:flex;flex-direction:column;gap:12px}
.pic.is-active{border-color:var(--lila)}
.pic__img{aspect-ratio:3/4;border-radius:16px;background:#D9C3E3 center/cover;position:relative}
.pic__img .pill{position:absolute;left:10px;top:10px;background:var(--lila);color:#fff}
.pic__file{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pic__meta{font-size:12px;color:var(--muted)}
.timeline-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:18px;overflow-x:auto}
.timeline{min-width:640px;display:flex;flex-direction:column;gap:6px}
.timeline__hours{display:grid;grid-template-columns:70px repeat(24,1fr);font-size:11px;color:var(--muted)}
.timeline__row{display:grid;grid-template-columns:70px 1fr;align-items:center;font-size:13px;color:var(--ink-2)}
.timeline__track{position:relative;height:18px;border-radius:6px;background:#EFE8F3;overflow:hidden}
.timeline__track i{position:absolute;top:0;bottom:0}
.fav{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:20px;display:flex;flex-direction:column;gap:16px}
.fav:hover{border-color:var(--lila)}
.fav__head{display:flex;gap:16px;align-items:center}
.fav__name{font-family:var(--serif);font-size:26px;line-height:1.1;color:var(--ink);display:block}
.fav__heart{font-size:16px;background:none;border:0;color:var(--lila);cursor:pointer;align-self:flex-start;margin-left:auto}
.fav__actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:14px}.fav__actions .btn{flex:1;font-size:14px;padding:11px}
.amounts{display:flex;gap:8px;flex-wrap:wrap}
.amount{font:inherit;font-size:16px;font-weight:600;padding:12px 20px;border-radius:var(--pill);border:1px solid var(--line-2);background:#fff;color:var(--ink);cursor:pointer}
.amount.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.amount-input{display:flex;align-items:center;gap:6px;padding:0 18px;border-radius:var(--pill);border:1px solid var(--line-2);background:#fff;min-height:48px}
.amount-input input{width:150px;font:inherit;font-size:16px;font-weight:600;border:0;background:transparent;color:var(--ink);outline:none}
.amount-input span{font-weight:600;color:var(--muted)}
.method{background:#fff;border:2px solid var(--line);border-radius:var(--r-xl);padding:22px;display:flex;flex-direction:column;gap:12px}
.method__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.method h3{font-size:26px;line-height:1.1}
.method__tag{font-size:11px;font-weight:600;padding:5px 10px;border-radius:8px;background:#EFE8F3;color:var(--muted);white-space:nowrap}
.method p{font-size:14px;line-height:1.55;color:var(--ink-2);flex:1}
.radio-card{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:#fff;font-size:15px;cursor:pointer}
.radio-card input{width:20px;height:20px;accent-color:var(--lila);margin:0}
.radio-card:has(input:checked){border-color:var(--lila);background:var(--bg)}

/* Anrufmonitor */
.monitor{min-height:100vh;padding:14px;display:flex;flex-direction:column;gap:12px;max-width:420px;margin:0 auto}
.monitor__status{border-radius:var(--r-xl);padding:20px 22px;background:#fff;color:var(--ink);display:flex;flex-direction:column;gap:14px}
.monitor__status.is-online{background:var(--petrol);color:#fff}.monitor__status.is-pause{background:var(--gold)}.monitor__status.is-call{background:var(--lila);color:#fff}
.monitor__top{display:flex;align-items:center;justify-content:space-between}
.monitor__brand{font-family:var(--serif);font-size:22px;line-height:1}.monitor__brand em{color:var(--lila)}.is-online .monitor__brand em,.is-call .monitor__brand em{color:var(--gold)}
.monitor__label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.monitor__main{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.monitor__main small{display:block;font-size:13px;opacity:.8}.monitor__main strong{display:block;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}
.monitor__timer{font-family:var(--serif);font-size:64px;line-height:.9;font-variant-numeric:tabular-nums}
.monitor__switch{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:6px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.monitor__switch button{font:inherit;font-size:14px;padding:11px 6px;border-radius:var(--r-m);border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}
.monitor__switch button.is-active{background:var(--ink);color:#fff;font-weight:600}
.monitor__switch .dot{width:8px;height:8px;border-radius:50%}
.monitor__list{flex:1;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;display:flex;flex-direction:column;min-height:260px}
.monitor__list-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:22px}

input[type=checkbox]        { -webkit-appearance: none; appearance: none; margin:0; }
input[type=checkbox]:before { content: '\f0c8'; font: normal 18px 'Font Awesome 5 Pro'; color: var(--lila); margin-right: 5px; position: relative; top: -4px; }
input[type=checkbox]:checked:before  { content: '\f14a'; font-weight: bold; color: var(--lila); }
input[type=radio]           { -webkit-appearance: none; appearance: none; margin:0; }
input[type=radio]:before    { content: '\f111'; font: normal 18px 'Font Awesome 5 Pro'; color: var(--lila); margin-right: 5px; position: relative; }
input[type=radio]:checked:before  { content: '\f058'; font-weight: bold; color: var(--lila); }

main .block { margin: 0 auto; max-width: calc(var(--maxw) - 48px); }
ul { list-style-type: none; }
.cte_text ul { list-style-type: disc; }
.member #wrapper { display: grid; grid-template-columns: 280px 1fr; max-width: 1320px; margin: 0 auto; grid-gap: 30px; padding: 0 30px; padding-top: 12px; }
.member .block .bh { display: none; }
.member #berater { padding: 0; }
aside .block { margin-bottom: 20px; }
aside ul { list-style-type: none; }
aside .fas { color: var(--lila); }
main .block { margin-bottom: 20px; } 
aside .nav li { display: block; }
main table { width: 100%; border-collapse: collapse; }
form div.phone { display: grid; grid-template-columns: 1fr 3fr; grid-gap: 10px; }
form div.phone > * { width: auto !important; margin: 0 !important; }
.form .ctrl_firstname, .form .ctrl_street, .form .ctrl_city, .form .ctrl_password, .form .ctrl_bankName, .form .ctrl_iban { grid-column: 1; }
.form .ctrl_lastname, .form .ctrl_postal, .form .ctrl_country, .form .ctrl_password + .ctrl_password, .form .ctrl_dateOfBirth, .form .ctrl_bankAccountHolder, .form .ctrl_bic { grid-column: 2; }
.form .pw_input .pw_toggle { right: 15px; top: calc(50% + 2px); }
.tooblar .search { flex: 1 1 260px; }
.mod_logout .submit { padding: 7px 20px; }
.filterbar { margin: 0 auto; max-width: 1200px; }

main .free_agent { display: none; }
main .planner table	{ border-left: 1px solid var(--line); border-top: 1px solid var(--line); text-align: center; background: #fff; }
main .planner th		{ border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 10px; }
main .planner td		{ border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 10px; height: 100px; }
main .planner .date	{ display: block; color: #aaa; margin-bottom: 10px;  }
main .ctrl_status label, .ctrl_chatStatus label, .ctrl_mailconStatus label { display: block; }
main .switcher { background: #fff; height: 40px; padding: 5px; margin-bottom: 20px; }
main .switcher .highlight { background: var(--lila); color: #fff; top: 5px; }
main .switcher .active { color: #fff; transition-delay: 300ms; transition: all 200ms; }
main .label_block label { display: block; }
.member .formbox .bh { display: block; margin-bottom: 15px; }
.block p { padding-bottom: 15px; }
.pm_subject a { white-space: nowrap; overflow: hidden; display: block; text-overflow: ellipsis; position: relative; max-width: 200px; }

#pmWrite { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 14px; margin-top: 20px; }
#pmWrite .row:nth-child(5) { grid-column: 1 / span 2; }
.flex_editor { border-radius: var(--r-m); }
.flex_editor .fx_bar { border-radius: var(--r-m) var(--r-m) 0 0; }
.flex_editor .fx_cnt { border-radius: 0 0 var(--r-m) var(--r-m); }

form .row { margin-bottom: 10px; }
.ctrl_paylines { background: #fff; border: 1px solid var(--line); padding: 20px; border-radius: var(--r-m); }
.input_curr { display: none; }
table .bar { display: none; }

.formbox { background: #fff; padding: 20px; border: 1px solid var(--line); border-radius: var(--r-m); margin-bottom: 20px; position: relative; }
.formbox h3 { margin-bottom: 20px; font-size: 24px; }
.formbox .img, .formbox img { position: absolute; top: 20px; right: 20px; }
.mod_recharge .formbox, .mod_recharge .formbox form { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 14px; }
.mod_recharge .formbox form { grid-column: 1 / span 2; }
.mod_recharge .formbox p { grid-column: 1 / span 2; font-size: 14px; }
.ctrl_profileNotice label { display: none; }
#main .ctrl_profileNotice .textdiv { width: 100%; display: block; }
#main .textdiv { display: block; }
.ctrl_profileNotice textarea { width: 100%; }
#main span.maxbar { background: #e3d7e9; border-radius: 3px; }
#main span.maxbar span { background: #895a96; border-radius: 3px; }

.mod_clickcall { background: #fff; padding: 20px; border: 1px solid var(--line); border-radius: var(--r-m); max-width: 600px; margin: 0 auto; }

/* ---- Window ---- */
#window .inside         { padding: 32px; border-radius: 16px; }
#window                 { animation: winIn 520ms var(--klara-ease) forwards; border-radius: 20px; }
#window                 { box-shadow: 0 24px 80px rgba(50, 30, 55, 0.28); background: #fff; }
#window .bh             { margin-bottom: 15px; font-weight: 500; color: var(--klara-purple); letter-spacing: -0.02em; }
#window .mod_clickcall  { margin: 0; padding: 0; border: none; }
#window .mod_login      { text-align: center; }
#window .button         { width: 100%; }
#window .row            { margin-bottom: 10px; }
#window .split          { display: block; height: 1px; background: var(--klara-line); margin: 20px auto; }
#window .mod_register   { text-align: center; }
#window .mod_register .row > label:first-child { display: none; }
#window .check          { color: var(--klara-muted); }
#window .check label    { margin-left: 5px; }
#window .fa-close       { position: absolute; top: 16px; right: 16px; opacity: 0.45; font-size: 18px; cursor: pointer; }
#window .fa-close:hover { opacity: 0.85; }
#window .mod_register form   { text-align: left; max-width: 100%; }
#window .mod_register .row   { margin: 0; }
#window .text, #window .select { width: 100%; box-sizing: border-box; }
#window .mod_register .submit { width: 100%; }
#window .mod_login .text     { width: 400px; }

.sysmsg.error,
.sysmsg.success,
.sysmsg.notice {
  display: block;
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid transparent;
  border-radius: var(--r-m);
  font-size: 15px;
  line-height: 1.5;
  max-width: var(--maxw);
  margin: 0 auto;
}
.sysmsg.error {
  color: var(--err);
  background: var(--err-bg);
  border-color: #e7bcc3;
}
.sysmsg.success {
  color: var(--ok);
  background: var(--ok-bg);
  border-color: #b7dcc6;
}
.sysmsg.notice {
  color: var(--ink);
  background: var(--gold);
  border-color: var(--pause);
}
.sysmsg.error a,
.sysmsg.success a,
.sysmsg.notice a {
  color: inherit;
  font-weight: 700;
}
.sysmsg .btn { padding: 0; float: right; line-height: 20px; }


@keyframes winIn {
  0% {
    opacity: 0;
    transform: translate(-50%, calc(-50% + 22px)) scale(0.92);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

/* Klara Line – mobile Navigation
   Geladen nach dem kompilierten Layout. Gilt, sobald das Menü zum
   Hamburger wird (bis 1039px). Desktop bleibt unangetastet. */

.site-header .mobile_menu,
.site-header .mobile_login,
.site-header .mobile_close {
  display: none;
}

.free_agent                 { background: #f6dce5 url('/files/content/Fotolia_161965816_S.jpg') top left no-repeat; height: 270px; position: relative; }
.free_agent                 { border-radius: var(--r-xl); padding: 30px; }
.member .free_agent .bh     { display: block; font-size: 30px; margin-bottom: 20px; }

@media (max-width: 1039px) {
  :root {
    --nav-ease: cubic-bezier(0.22, 1, 0.36, 1);
  }

  /* Hero schneidet position:fixed ab und erzeugt den Stapel für das Menü.
     Sichtbarer Überlauf lässt die Schublade die ganze Seite bedecken.
     Das ::before darf dabei nicht über den Hero hinauslaufen. */
  .hero {
    overflow: visible;
  }

  .hero::before {
    min-height: 0;
    height: auto;
  }

  /* Der Hero darf das Menü nicht abschneiden, die Laufschrift und die
     Avatar-Reihe aber auch nicht aus der Seite herausragen. */
  .ticker-wrap,
  .ticker {
    overflow: hidden;
    max-width: 100%;
  }

  .hero-stats,
  .avatar-stack {
    max-width: 100%;
    min-width: 0;
  }

  body:has(.site-header .nav.show) {
    overflow: hidden;
  }

  .site-header .menu-toggle {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--line-2);
    background: rgba(255, 255, 255, 0.92);
    color: transparent;
    font-size: 0;
    line-height: 0;
    box-shadow: 0 8px 22px rgba(42, 27, 51, 0.08);
    cursor: pointer;
  }

  .site-header .menu-toggle::before,
  .site-header .menu-toggle::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    height: 1.5px;
    border-radius: 2px;
    background: var(--ink);
    transition: transform 220ms var(--nav-ease), top 220ms var(--nav-ease), box-shadow 220ms var(--nav-ease);
  }

  .site-header .menu-toggle::before {
    top: 18px;
    box-shadow: 0 6px 0 var(--ink);
  }

  .site-header .menu-toggle::after {
    top: 30px;
  }

  .site-header:has(.nav.show) .menu-toggle {
    position: fixed;
    z-index: 5200;
    top: calc(18px + env(safe-area-inset-top));
    right: calc(16px + env(safe-area-inset-right));
  }

  .site-header:has(.nav.show) .menu-toggle::before {
    top: 22px;
    box-shadow: none;
    transform: rotate(45deg);
  }

  .site-header:has(.nav.show) .menu-toggle::after {
    top: 22px;
    transform: rotate(-45deg);
  }

  .site-header .nav {
    display: block;
    flex: none;
    gap: 0;
    justify-content: flex-start;
    white-space: normal;
    position: fixed;
    z-index: 5000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    color: var(--ink);
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s linear 320ms;
  }

  .site-header .nav.show {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .site-header .nav::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(42, 27, 51, 0.46);
    opacity: 0;
    transition: opacity 280ms var(--nav-ease);
  }

  .site-header .nav.show::before {
    opacity: 1;
  }

  .site-header .nav > nav {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    width: min(420px, 100%);
    margin: 0;
    padding:
      calc(22px + env(safe-area-inset-top))
      18px
      calc(148px + env(safe-area-inset-bottom))
      18px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background:
      radial-gradient(120% 70% at 100% -10%, rgba(138, 90, 151, 0.18), transparent 52%),
      radial-gradient(80% 50% at 0% 110%, rgba(47, 127, 142, 0.12), transparent 46%),
      #fbf7fc;
    border-radius: 28px 0 0 28px;
    box-shadow: -28px 0 70px rgba(42, 27, 51, 0.18);
    transform: translate3d(100vw, 0, 0);
    transition: transform 380ms var(--nav-ease);
  }

  .site-header .nav.show > nav {
    transform: translate3d(0, 0, 0);
  }

  .site-header .nav > nav::before {
    content: "Nah  ·  Einfühlsam  ·  Ehrlich";
    display: block;
    flex: none;
    margin: 8px 52px 22px 8px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
    color: var(--petrol);
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    line-height: 1.45;
    text-transform: uppercase;
  }

  .site-header .nav .level_1 {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 8px 0 0;
    list-style: none;
  }

  .site-header .nav li {
    display: block;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
  }

  .site-header .nav .level_1 > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 56px;
    margin: 0;
    padding: 10px 16px;
    border-radius: 16px;
    background: transparent;
    color: var(--ink);
    font-family: var(--serif);
    font-size: clamp(26px, 7vw, 34px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.02em;
    text-decoration: none;
  }

  .site-header .nav .level_1 > li > a::after {
    content: "";
    flex: none;
    width: 8px;
    height: 8px;
    margin-left: 12px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    opacity: 0.35;
    transform: rotate(45deg);
  }

  .site-header .nav .level_1 > li > a:hover,
  .site-header .nav .level_1 > li > a:focus-visible {
    background: rgba(255, 255, 255, 0.72);
    color: var(--lila);
    outline: none;
  }

  .site-header .nav li.active > a,
  .site-header .nav a.active {
    background: #fff;
    color: var(--lila);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(138, 90, 151, 0.12);
  }

  .site-header .nav li.active > a::after,
  .site-header .nav a.active::after {
    opacity: 0.7;
  }

  .site-header .nav .level_2 {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0 8px 8px 18px;
    padding: 0 0 4px 14px;
    border-left: 1px solid var(--line);
  }

  .site-header .nav .level_2 a {
    display: block;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 12px;
    background: transparent;
    color: var(--ink-2);
    font-family: var(--sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .site-header .nav .level_2 a::after {
    display: none;
  }

  .site-header .nav .level_2 a:hover,
  .site-header .nav .level_2 a:focus-visible {
    background: rgba(255, 255, 255, 0.72);
    color: var(--lila);
  }

  .site-header:has(.nav.show) .header-actions {
    display: flex;
    position: fixed;
    z-index: 5100;
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: min(420px, 100%);
    height: auto;
    margin: 0;
    padding: 28px 22px calc(18px + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(251, 247, 252, 0), #fbf7fc 36%);
    box-sizing: border-box;
  }

  .site-header:has(.nav.show) .header-actions .link,
  .site-header:has(.nav.show) .header-actions .btn--primary {
    display: inline-flex;
  }

  .site-header:has(.nav.show) .header-actions .btn--mobile {
    display: none;
  }

  .site-header:has(.nav.show) .header-actions .btn--primary {
    order: 1;
    width: 100%;
    min-height: 48px;
    color: #fff;
  }

  .site-header:has(.nav.show) .header-actions .btn--primary:hover {
    color: #fff;
  }

  .site-header:has(.nav.show) .header-actions .link {
    order: 2;
    justify-content: center;
    padding: 10px 14px 2px;
    color: var(--ink-2);
    font-size: 15px;
    font-weight: 600;
    text-align: center;
  }
}

@media (max-width: 699px) {
  .site-header .nav > nav {
    width: 100%;
    border-radius: 0;
  }

  .site-header:has(.nav.show) .header-actions {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .site-header .logo span {
    font-size: 26px;
  }

  .site-header__inner {
    gap: 8px;
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .nav,
  .site-header .nav::before,
  .site-header .nav > nav,
  .site-header .menu-toggle::before,
  .site-header .menu-toggle::after {
    transition: none;
  }
}
