/* Shared homepage and detail-page chrome. */
.topbar,.sidebar,.bottom-nav{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55;letter-spacing:normal}.topbar *,.sidebar *,.bottom-nav *{box-sizing:border-box}.topbar a,.sidebar a,.bottom-nav a{text-decoration:none}.topbar button,.sidebar button{font-family:inherit;cursor:pointer}.topbar img{display:block;max-width:100%}.sidebar p{margin:0}.topbar .logo-dark{display:none}
html:root{color-scheme:light;--bg:#f3f5f7!important;--card:#fff!important;--ink:#102b3e!important;--muted:#526879!important;--line:#dbe3e9!important;--navy:#062d47!important;--teal:#007c89!important;--accent:#65e5df!important;--tint:#e2f5f3!important;--shadow:0 4px 24px #12334806!important}
html:root[data-theme=dark]{color-scheme:dark;--bg:#0c1923!important;--card:#132735!important;--ink:#edf6fa!important;--muted:#b3c5d0!important;--line:#304653!important;--navy:#062d47!important;--teal:#76e5df!important;--tint:#173e46!important;--shadow:none!important}
svg.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.topbar{height:82px;position:sticky;top:0;z-index:30;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:24px}
.brand{width:185px;flex:none}
.brand img{width:185px;height:auto}
.logo-dark{display:none}
html[data-theme=dark] .logo-light{display:none}
html[data-theme=dark] .logo-dark{display:block}
.brand-context{font-size:14px;color:var(--muted);padding-left:28px;border-left:1px solid var(--line)}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.icon-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:50%}
.contact-top{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 19px;border-radius:30px;background:var(--navy);color:#fff;font-size:15px;font-weight:700}
.sidebar{position:sticky;top:114px;height:calc(100dvh - 146px);display:flex;flex-direction:column;min-width:0}
.nav-list{display:grid;gap:7px}
.nav-link{display:flex;align-items:center;gap:14px;min-height:52px;padding:13px 17px;color:var(--muted);font-weight:620;border-radius:12px}
.nav-link[aria-current=page]{background:var(--navy);color:white}
.nav-link:hover:not([aria-current=page]){background:var(--tint);color:var(--ink)}
.side-label{font-size:12px;letter-spacing:.12em;font-weight:750;color:var(--muted);margin:32px 17px 10px;text-transform:uppercase}
.side-links a{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:13px;font-size:14px;padding:10px 17px;min-height:44px}
.side-foot{margin-top:auto;padding:24px 17px 0;font-size:12px;color:var(--muted)}
.side-foot p{margin-bottom:10px}
.side-foot a{color:inherit;text-decoration:underline;display:inline-block;margin:0 12px 8px 0}
.bottom-nav{display:none}
@media(max-width:1220px){.topbar{padding-inline:28px}
.brand-context{display:none}}
@media(max-width:760px){.topbar{height:69px;padding:0 19px;gap:12px}
.brand,.brand img{width:150px}
.header-actions{gap:8px}
.header-actions .icon-button{min-width:40px;min-height:40px}
.contact-top{min-height:40px;padding:9px 14px;font-size:14px}
.contact-top .icon{display:none}
.sidebar{display:none}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--card);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -4px 24px #09263806}
.bottom-nav .nav-link{display:flex;flex-direction:column;gap:3px;min-height:54px;padding:7px 2px;font-size:12px;font-weight:700;border-radius:11px}
.bottom-nav .nav-link[aria-current=page]{background:var(--tint);color:var(--teal)}
.bottom-nav .icon{width:23px;height:23px}}
@media(max-width:370px){.brand,.brand img{width:132px}
.topbar{padding:0 14px;gap:8px}
.header-actions{gap:6px}
.contact-top{padding-inline:12px}}
.recommend-top{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:10px 16px;border:1px solid var(--teal);background:var(--tint);color:var(--teal);border-radius:24px;font-size:14px;font-weight:750;line-height:1.3;text-align:center}
@media(max-width:760px){.header-actions .contact-top{display:none}
.recommend-long{display:none}
.recommend-top{padding:10px 14px;min-height:42px;text-transform:capitalize}
.topbar{gap:8px}
.header-actions{gap:8px}
.topbar .brand,.topbar .brand img{width:140px}}
@media(max-width:370px){.topbar .brand,.topbar .brand img{width:112px}
.topbar{padding-inline:12px}
.header-actions{gap:6px}
.recommend-top{padding-inline:12px;font-size:13px}
.header-actions .icon-button{min-width:38px;min-height:38px}}
html[data-theme=dark] .topbar .logo-light{display:none}html[data-theme=dark] .topbar .logo-dark{display:block}.sidebar .side-foot{line-height:1.55}.sidebar .side-foot p{margin-bottom:10px}.topbar .brand{margin:0;padding:0}.topbar .icon-button{padding:0}.topbar .brand-context{font-size:14px;color:var(--muted);padding-left:28px;border-left:1px solid var(--line)}@media(max-width:1220px){.topbar .brand-context{display:none}}@media print{.topbar,.sidebar,.bottom-nav{display:none!important}}

.sidebar .side-label{margin:32px 17px 10px}.sidebar .nav-link{font-weight:620}.topbar .recommend-top{font-weight:750!important}.topbar .contact-top{font-weight:700!important}
html body .bottom-nav .nav-link{color:var(--muted)!important;font-weight:700!important}html body .bottom-nav .nav-link[aria-current=page]{background:var(--tint)!important;color:var(--teal)!important}html body .sidebar .nav-link{color:var(--muted)!important}html body .sidebar .nav-link[aria-current=page]{background:var(--navy)!important;color:#fff!important}
/* Stable mobile header geometry on every route. */
@media(max-width:760px){html body .topbar{height:69px!important;min-height:69px!important;padding:0 19px!important;gap:8px!important;display:flex!important;align-items:center!important}html body .topbar .brand,html body .topbar .brand img{width:140px!important;height:auto!important;flex:none!important}html body .topbar .header-actions{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 0 auto!important;flex:none!important}html body .topbar .header-actions .icon-button{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;flex:none!important;transform:none!important}html body .topbar .recommend-top{min-height:42px!important;padding:10px 14px!important;font-size:14px!important;line-height:1.3!important;flex:none!important}html body .topbar .contact-top,html body .topbar .brand-context{display:none!important}}
@media(max-width:370px){html body .topbar{padding-inline:12px!important}html body .topbar .brand,html body .topbar .brand img{width:112px!important}html body .topbar .header-actions{gap:6px!important}html body .topbar .header-actions .icon-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}html body .topbar .recommend-top{padding-inline:12px!important;font-size:13px!important}}

/* Compact shared page ending, independent of legacy footer layouts and logos. */
html body .ls-footer{margin:0;padding:20px 32px;background:var(--card);color:var(--muted);border-top:1px solid var(--line);font:13px/1.6 Inter,system-ui,sans-serif}
.ls-footer-inner{max-width:1396px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ls-footer nav{display:flex;gap:20px;flex-wrap:wrap}.ls-footer a{color:inherit;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){html body .ls-footer{padding:16px}.ls-footer-inner{align-items:flex-start;flex-direction:column;gap:4px}}

/* LANE SWITCH Partnerfahrschule badge (matches window sticker) */
.ls-partner-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--tint);border:1px solid var(--line);color:var(--teal);font:700 13px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap}
.ls-partner-badge svg{width:24px;height:24px;flex:none;border-radius:6px}
.partner-kicker--badge{margin-bottom:12px!important;letter-spacing:0!important;text-transform:none!important}
.partner-copy .ls-partner-badge{margin-bottom:12px}
/* Fahrschul-Login neben „Empfehlen“: führt zur Anmeldeseite des Navigators (dort auch „Kooperation anfragen“). Mobil kurz „Login“. */
.login-top{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:24px;font-size:14px;font-weight:750;line-height:1.3;white-space:nowrap;text-decoration:none}
.login-top:hover{border-color:var(--teal);color:var(--teal)}
@media(max-width:760px){html body .topbar .brand,html body .topbar .brand img{width:126px!important}html body .topbar .header-actions{gap:6px!important}html body .topbar .recommend-top{padding-inline:12px!important}html body .topbar .login-top{min-height:42px!important;padding:5px 12px!important;flex:none!important;flex-direction:column!important;gap:0!important;font-size:12px!important;line-height:1.15!important}html body .topbar .login-top .login-b{font-size:11px}}
@media(max-width:370px){html body .topbar .brand,html body .topbar .brand img{width:104px!important}html body .topbar .header-actions{gap:5px!important}html body .topbar .recommend-top{padding-inline:10px!important;font-size:13px!important}html body .topbar .login-top{padding-inline:9px!important}}
@media(max-width:340px){html body .topbar{padding-inline:10px!important}html body .topbar .brand,html body .topbar .brand img{width:92px!important}html body .topbar .header-actions{gap:4px!important}html body .topbar .recommend-top,html body .topbar .login-top{padding-inline:9px!important}}
/* Inhalte teilen (app/share.mjs): Knopf in der Kopfzeile des Inhalts und Dialog. Nur Theme-Variablen. */
.ls-share-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;white-space:nowrap}
.ls-share-button:hover{border-color:var(--teal);color:var(--teal)}
.ls-share-button .icon{width:17px;height:17px}
.ls-share-button:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.detail-context-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.detail-context .ls-share-button{color:var(--ink)!important}
.page-head .ls-share-button.on-navy{position:absolute;top:18px;right:18px;z-index:2;background:#ffffff14;border-color:#ffffff40;color:#fff}
.page-head .ls-share-button.on-navy:hover{background:#ffffff26;border-color:#fff;color:#fff}
.radar-toolbar-actions{justify-self:end;display:flex;align-items:center;gap:8px}
.radar-toolbar-actions #radar-fullscreen{justify-self:auto}
.radar-share{min-height:44px}
.ls-share{width:min(520px,calc(100% - 28px));max-height:90dvh;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:20px;padding:0;overflow:auto}
.ls-share::backdrop{background:#041b2ab8;backdrop-filter:blur(4px)}
.ls-share-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 6px}
.ls-share-kicker{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:13px;font-weight:700;color:var(--teal)}
.ls-share-kicker .icon{width:16px;height:16px}
.ls-share-head h2{margin:0;font-size:22px;line-height:1.2;color:var(--ink)}
.ls-share-close{flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.ls-share-body{padding:14px 24px 24px}
.ls-share-label{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--muted)}
.ls-share-preview{padding:16px 18px;border-radius:14px;background:var(--tint);color:var(--ink);font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.ls-share-preview p{margin:0 0 10px;color:var(--ink)}
.ls-share-preview p:last-child{margin:0}
.ls-share-url{color:var(--teal)!important;font-weight:650}
.ls-share-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin-top:18px}
.ls-share-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;text-align:center}
.ls-share-action:hover{border-color:var(--teal);color:var(--teal)}
.ls-share-action .icon{width:24px;height:24px}
.ls-share-action.is-whatsapp{background:var(--navy);border-color:var(--navy);color:#fff}
.ls-share-action.is-whatsapp:hover{color:#fff;opacity:.92}
.ls-share-status{margin:14px 0 0;font-size:13px;color:var(--muted)}
@media(max-width:760px){.page-head .ls-share-button.on-navy{top:12px;right:12px;padding:7px 11px;min-height:36px;font-size:13px}.page-head.has-share .hero-copy{padding-right:0}.page-head.has-share h1{padding-right:86px}.detail-context-actions{gap:10px}.ls-share-head{padding:18px 18px 4px}.ls-share-body{padding:12px 18px 20px}.ls-share-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.radar-share span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.radar-share{width:44px;padding:0}}

.login-top .login-a,.login-top .login-b{white-space:nowrap}
.coop-status{margin:16px 0 0;padding:14px 16px;border-radius:12px;background:var(--tint);color:var(--ink);font-size:14px;line-height:1.55}
.coop-status.is-error{border:1px solid var(--line);background:var(--card)}
.coop-status a{color:var(--teal);font-weight:700}
.form-coop{margin-top:4px}
@media(max-width:400px){html body .topbar .brand,html body .topbar .brand img{width:112px!important}html body .topbar .header-actions{gap:5px!important}html body .topbar .recommend-top{padding-inline:10px!important}html body .topbar .login-top{padding-inline:9px!important}}
@media(max-width:370px){html body .topbar .brand,html body .topbar .brand img{width:104px!important}}
@media(max-width:340px){html body .topbar .login-top .login-b{display:none}html body .topbar .login-top .login-a{font-size:0}html body .topbar .login-top .login-a::after{content:"Login";font-size:13px}}

.login-top{gap:.3em}
.partner.partner--text{grid-template-columns:minmax(0,1fr)}
@media(min-width:761px) and (max-width:900px){.topbar{padding-inline:20px;gap:16px}
.header-actions{gap:8px}
.contact-top{padding:9px 14px}}
@media(max-width:360px){html body .topbar{padding-inline:10px!important;gap:6px!important}html body .topbar .brand,html body .topbar .brand img{width:92px!important}html body .topbar .header-actions{gap:4px!important}html body .topbar .recommend-top,html body .topbar .login-top{padding-inline:8px!important}}
@media(max-width:315px){html body .topbar .brand,html body .topbar .brand img{width:78px!important}html body .topbar .icon-button{min-width:38px!important;min-height:38px!important}}
/* Logo may shrink on small screens so the header never overflows, whatever system font renders the buttons. */
@media(max-width:1000px){html body header.topbar .brand{flex:0 1 auto!important;min-width:64px!important}html body header.topbar .brand img{width:100%!important;height:auto}}

/* Nutzerfreundlichkeit 10/2026: Login nur dort, wo er gebraucht wird; größere Tippflächen */
@media(max-width:760px){
  html[data-audience=learner] body .topbar .login-top{display:none!important}
  html[data-audience=school] body .topbar .login-top .login-b{display:none}
  html[data-audience=school] body .topbar .login-top .login-a{font-size:0}
  html[data-audience=school] body .topbar .login-top .login-a::after{content:"Login";font-size:14px}
}
.side-foot a{display:inline-flex;align-items:center;min-height:32px}
.detail-context>a{white-space:nowrap}

/* Dezente Bewegung (motion.js) und Rückmeldung bei Hover/Antippen */
@media (prefers-reduced-motion:no-preference){
 .mo-on .mo{opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.2,.7,.2,1) var(--mo-d,0ms),transform .55s cubic-bezier(.2,.7,.2,1) var(--mo-d,0ms)}
 .mo-on .mo.mo-in{opacity:1;transform:none}
 .home-path{transition:transform .25s,box-shadow .25s,border-color .25s}
 .home-path .update-icon{transition:background-color .25s,color .25s}
 @media (hover:hover){.home-path:hover{transform:translateY(-2px);box-shadow:0 14px 30px -22px color-mix(in srgb,var(--navy) 55%,transparent)}.home-path:hover .update-icon{background:var(--teal);color:var(--card)}}
 .home-path:active,.chip:active,.tool-share:active,.ls-share-button:active{transform:scale(.97)}
}
