.language-switch { display:flex; align-items:center; gap:3px; flex-shrink:0; padding:3px; border:1px solid var(--border); border-radius:10px; order:3; }
.language-switch a { padding:8px 9px; min-height:40px; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:650; color:var(--text); text-decoration:none; border-radius:7px; }
.language-switch a[aria-current] { background:var(--accent); color:#fff; }
.language-switch a:not([aria-current]):hover { background:#f0f2f5; }
.nav .brand { order:1; }
.nav .navlinks { order:2; }
.nav .nav-toggle { order:4; }
.language-suggestion { border-bottom:1px solid var(--border); background:#fff4ef; }
.language-suggestion[hidden] { display:none; }
.language-suggestion-inner { display:flex; align-items:center; gap:14px; padding-top:12px; padding-bottom:12px; }
.language-suggestion p { margin:0; flex:1; font-size:14px; }
.language-suggestion .btn { font-size:13px; padding:8px 14px; min-height:40px; }
.language-suggestion-close { border:0; background:none; color:var(--muted); font-size:24px; min-width:40px; min-height:40px; cursor:pointer; }
.language-contact-note { padding:12px 14px; border-left:3px solid var(--accent); background:#fff4ef; border-radius:8px; font-size:14px; line-height:1.65; }
.service-radius { font-size:14px; color:var(--muted); line-height:1.65; }
html[lang="de"] .hero-copy h1 { overflow-wrap:break-word; }
@media (max-width:980px) {
  .nav { gap:12px; }
  .nav-toggle { display:flex; }
  .navlinks { display:none; position:absolute; left:16px; right:16px; top:calc(100% + 8px); padding:12px; border:1px solid var(--border); background:#fff; box-shadow:0 12px 35px rgba(17,24,39,.14); border-radius:var(--radius); }
  body.nav-open .navlinks { display:grid; gap:4px; }
  .navlinks a { font-size:15px; padding:12px; }
  body:not(.has-js) .nav { flex-wrap:wrap; }
  body:not(.has-js) .nav-toggle { display:none; }
  body:not(.has-js) .navlinks { display:flex; flex-wrap:wrap; position:static; width:100%; order:5; box-shadow:none; }
}
@media (max-width:620px) {
  .nav { gap:8px; }
  .brand small { display:none; }
  .brand-name { max-width:150px; font-size:13px; line-height:1.3; }
  .language-switch a { padding:7px; font-size:12px; }
  .language-suggestion-inner { gap:8px; flex-wrap:wrap; }
  .language-suggestion p { flex-basis:calc(100% - 48px); }
  .language-suggestion-close { order:2; }
  .language-suggestion .btn { order:3; }
}
@media (max-width:440px) {
  .nav .brand-text { display:none; }
  .nav .brand-logo { width:78px; height:44px; }
  .nav { gap:6px; min-height:76px; }
}
