/* Globale Bausteine: Navigation, Fusszeile, Sprachwahl */

/* Navigation v2 */
header nav.mm{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600}
header nav.mm>a,header nav.mm .dd>button{border:0;background:none;font:inherit;color:var(--muted);text-decoration:none;cursor:pointer;padding:9px 12px;border-radius:10px;display:flex;align-items:center;gap:6px}
header nav.mm>a:hover,header nav.mm .dd>button:hover,header nav.mm .dd.open>button{color:var(--ink);background:var(--bg)}
header nav.mm>a,header nav.mm .dd>button,header .r .tel,header .r .btn{white-space:nowrap}
header nav.mm .cur{color:var(--ink)!important;box-shadow:inset 0 -2px 0 var(--coral);border-radius:0}
header nav.mm .dd>button.cur{border-radius:0}
header nav.mm .dd>button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
header nav.mm .dd.open>button::after{transform:translateY(1px) rotate(-135deg)}
header nav.mm .dd{position:relative}
header nav.mm .panel{display:none;position:absolute;top:calc(100% + 10px);left:-12px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 50px -20px rgba(16,42,48,.35);padding:22px;z-index:40}
header nav.mm .dd.open .panel{display:block}
header nav.mm .cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;width:560px}
header nav.mm .col h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
header nav.mm .panel a.it{display:grid;gap:2px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink)}
header nav.mm .panel a.it:hover,header nav.mm .panel a.it.cur{background:var(--petrol-2);box-shadow:none}
header nav.mm .panel a.it b{font-size:15px}
header nav.mm .panel a.it span{font-size:13px;font-weight:500;color:var(--muted)}
header nav.mm .steps2{width:330px;display:grid;gap:2px}
header nav.mm .steps2 a.it{grid-template-columns:28px 1fr;column-gap:12px;align-items:center}
header nav.mm .steps2 a.it i{grid-row:span 2;width:28px;height:28px;border-radius:9px;background:var(--bg);color:var(--petrol);font-style:normal;font-weight:800;font-size:13px;display:grid;place-items:center}
header nav.mm .pfoot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--muted)}
header nav.mm .pfoot a{color:var(--petrol);font-weight:700;text-decoration:none;white-space:nowrap}
header .burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:12px;cursor:pointer;place-items:center;flex:none}
header .burger span,header .burger span::before,header .burger span::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s,opacity .2s}
header .burger span::before,header .burger span::after{content:"";position:absolute;left:0}
header .burger span::before{top:-6px}header .burger span::after{top:6px}
header.open .burger span{background:transparent}
header.open .burger span::before{transform:translateY(6px) rotate(45deg)}
header.open .burger span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1240px){header .r .tel{display:none}}
@media (max-width:1120px){
  header .burger{display:grid}
  header .wrap{flex-wrap:wrap}
  header nav.mm{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:2px;padding:6px 0 10px;max-height:calc(100dvh - 90px);overflow-y:auto}
  header.open nav.mm{display:flex}
  header nav.mm>a,header nav.mm .dd>button{width:100%;justify-content:space-between;padding:14px 4px;border-radius:0;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink)}
  header nav.mm .cur{box-shadow:none;color:var(--petrol)!important}
  header nav.mm .panel{position:static;box-shadow:none;border:0;padding:6px 0 12px;border-radius:0}
  header nav.mm .cols{width:auto;grid-template-columns:1fr;gap:14px}
  header nav.mm .steps2{width:auto}
  header nav.mm .pfoot{flex-direction:column;align-items:flex-start}
}
@media (max-width:440px){header .r .btn-p{display:none}}

/* Fusszeile v2 */
footer.ft{background:#0f2a30;color:#a9c3c8;padding:0;font-size:15px;margin-top:40px}
footer.ft a{color:#dbe9eb;text-decoration:none}
footer.ft a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
footer.ft .top{display:grid;grid-template-columns:1.3fr 1fr auto;gap:30px;align-items:center;padding-block:46px 34px;border-bottom:1px solid rgba(255,255,255,.1)}
footer.ft .brand img{height:30px;width:auto;filter:brightness(0) invert(1);margin-bottom:12px}
footer.ft .brand p{margin:0;max-width:44ch;color:#a9c3c8}
footer.ft .reach{display:grid;gap:4px}
footer.ft .reach span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7fa2a8}
footer.ft .reach a{font-size:20px;font-weight:800;color:#fff}
footer.ft .reach a+span{margin-top:8px}
footer.ft .cta2{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
footer.ft .apps{display:flex;gap:8px}
footer.ft .apps img{height:36px;width:auto;display:block}
footer.ft .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-block:38px}
footer.ft h4{margin:0 0 12px;color:#fff;font-size:15px}
footer.ft ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
footer.ft .regs{padding-block:28px;border-top:1px solid rgba(255,255,255,.1)}
footer.ft .regs h4{margin-bottom:14px}
footer.ft .regs .row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
footer.ft .regs .rg{background:rgba(255,255,255,.05);border-radius:14px;padding:14px 16px;display:grid;gap:2px;font-size:14px;line-height:1.4}
footer.ft .regs .rg b{color:#fff;font-size:15px}
footer.ft .regs a.rg{text-decoration:none;color:#a9c3c8}
footer.ft .regs a.rg:hover{background:rgba(255,255,255,.1);text-decoration:none}
footer.ft .regs a.rg b::after{content:" →";color:var(--coral)}
footer.ft .bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:22px 26px;border-top:1px solid rgba(255,255,255,.1);font-size:14px}
footer.ft .soc,footer.ft .law{display:flex;gap:16px;flex-wrap:wrap}
@media (max-width:1000px){footer.ft .top{grid-template-columns:1fr 1fr}footer.ft .cta2{grid-column:1/-1}footer.ft .cols{grid-template-columns:1fr 1fr}footer.ft .regs .row{grid-template-columns:1fr 1fr}}
@media (max-width:760px){footer.ft{padding-bottom:80px}}
@media (max-width:560px){footer.ft .top{grid-template-columns:1fr}footer.ft .regs .row{grid-template-columns:1fr}}

/* Sprachwahl */
header .lang{display:flex;align-items:center;gap:2px;font-size:13px;font-weight:700;letter-spacing:.04em;border:1px solid var(--line);border-radius:10px;padding:3px;flex:none}
header .lang a,header .lang span{padding:5px 8px;border-radius:7px;text-decoration:none;color:var(--muted);line-height:1}
header .lang span{background:var(--bg);color:var(--ink)}
header .lang a:hover{color:var(--ink)}
@media (max-width:1320px){header:has(nav.mm) .r .tel{display:none}}
@media (min-width:1121px) and (max-width:1280px){header nav.mm>a,header nav.mm .dd>button{padding:9px 9px}header nav.mm{gap:2px}}

/* Kunden-Login (Umbau-Cockpit) */
.news .wrap{position:relative}
.nwx{display:contents}
.lg-c{display:inline-flex;align-items:center;gap:6px;color:#fff!important;font-weight:700;text-decoration:none;white-space:nowrap;padding-left:14px;border-left:1px solid rgba(255,255,255,.25)}
.lg-c:hover{color:#bfe0e6!important}
@media (min-width:1440px){.news:not(.ubar) .lg-c{position:absolute;right:20px;top:50%;transform:translateY(-50%)}}
.ubar{background:var(--ink);color:#d4e4e7}
.ubar .wrap{display:flex;justify-content:flex-end;align-items:center;padding-block:7px;font-size:14px}
.ubar .lg-c{border-left:0;padding-left:0}
header nav.mm>a.lg-m{display:none}
@media (max-width:1120px){.lg-c,.ubar{display:none!important}
  header.open nav.mm>a.lg-m{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 4px;padding:14px;border:1px solid var(--line);border-radius:12px;font-weight:700;font-size:16px;color:var(--ink);text-decoration:none;background:var(--paper)}}
