/* Taunus Multilingual Frontend – v1.0.0 */

/* ── Switcher ─────────────────────────────────────────────────────────── */
.tm-sw { position:relative; display:inline-flex; align-items:center; z-index:9999; font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif; }

.tm-toggle { display:flex; align-items:center; gap:5px; background:transparent; border:1.5px solid rgba(255,255,255,.35); border-radius:20px; padding:5px 10px 5px 8px; cursor:pointer; color:inherit; font-size:13px; font-weight:600; transition:background .15s,border-color .15s; white-space:nowrap; line-height:1; }
.tm-toggle:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.6); }
.tm-toggle .tm-flag { font-size:18px; line-height:1; }
.tm-chev { width:12px; height:12px; opacity:.7; transition:transform .2s; }
.tm-sw.tm-open .tm-chev { transform:rotate(180deg); }

.tm-drop { position:absolute; top:calc(100% + 8px); right:0; background:rgba(255,255,255,.96); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(0,0,0,.1); border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,.15); padding:6px; min-width:160px; opacity:0; transform:translateY(-6px) scale(.97); pointer-events:none; transition:opacity .18s,transform .18s; }
.tm-sw.tm-open .tm-drop { opacity:1; transform:translateY(0) scale(1); pointer-events:all; }

.tm-opt { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; text-decoration:none!important; color:#1a1a1a!important; font-size:13px; transition:background .12s; cursor:pointer; }
.tm-opt:hover { background:rgba(0,113,227,.08); color:#0071e3!important; }
.tm-opt.tm-active { background:rgba(0,113,227,.1); color:#0071e3!important; font-weight:600; }
.tm-opt .tm-flag { font-size:20px; flex-shrink:0; }

.tm-nav-item { display:flex!important; align-items:center; list-style:none; }

@media(max-width:400px){ .tm-drop{right:auto;left:0;} .tm-code{display:none;} }

/* ── Nav fix für längere Übersetzungen ────────────────────────────────── */
body:not(.tm-lang-de) .tp-nav-menu { gap:18px!important; }
body:not(.tm-lang-de) .tp-nav-menu a { font-size:11.5px!important; }
body:not(.tm-lang-de) .tp-nav-cta { font-size:11.5px!important; padding:6px 12px!important; }

body.tm-lang-it .tp-nav-menu,
body.tm-lang-fr .tp-nav-menu,
body.tm-lang-es .tp-nav-menu { gap:14px!important; }

body.tm-lang-it .tp-nav-menu a,
body.tm-lang-fr .tp-nav-menu a,
body.tm-lang-es .tp-nav-menu a { font-size:11px!important; }
