/* =========================================================
   i18n.css – Ergänzungen für die Sprachversionen (tr / ru / pl)
   Wird ZUSÄTZLICH zu css/style.css geladen.
   Enthält ausschließlich neue Selektoren – überschreibt nichts
   aus der deutschen Originalversion.
   ========================================================= */

/* ---------- Sprachumschalter ---------- */
.lang-switch {
    background: #f4f7fa;
    border-bottom: 1px solid #d8e2ec;
    padding: 0.5rem 0;
}

.lang-switch-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.75rem;
    font-size: 0.92rem;
}

.lang-switch-label {
    color: #7f8c8d;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-right: 0.25rem;
}

.lang-switch a,
.lang-switch span.lang-current,
.lang-switch span.lang-off {
    display: inline-block;
    padding: 0.28rem 0.7rem;
    border-radius: 6px;
    text-decoration: none;
    line-height: 1.35;
    white-space: nowrap;
}

.lang-switch a {
    color: #1a5276;
    border: 1px solid #cbd8e4;
    background: #fff;
}

.lang-switch a:hover,
.lang-switch a:focus {
    background: #1a5276;
    border-color: #1a5276;
    color: #fff;
}

.lang-switch span.lang-current {
    background: #1a5276;
    border: 1px solid #1a5276;
    color: #fff;
    font-weight: 600;
}

/* Sprache noch nicht verfügbar – bewusst kein Link, kein toter Pfad */
.lang-switch span.lang-off {
    color: #a8b4c0;
    border: 1px dashed #d8e2ec;
    background: transparent;
}

/* ---------- Statischer medizinischer Disclaimer ---------- */
/* Bewusst ohne JavaScript, damit der Hinweis auch bei
   deaktiviertem JS oder fehlgeschlagenem fetch sichtbar bleibt. */
.i18n-disclaimer {
    background: #fff8e6;
    border-top: 1px solid #f0dca8;
    border-bottom: 1px solid #f0dca8;
    padding: 0.9rem 0;
}

.i18n-disclaimer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    font-size: 0.94rem;
    line-height: 1.6;
    color: #5c4a1a;
}

.i18n-disclaimer-inner .de-original {
    display: block;
    margin-top: 0.4rem;
    font-size: 0.82rem;
    color: #8a7644;
}

/* ---------- Hinweisbox: deutsche Fachbegriffe ---------- */
.term-note {
    background: #eef4fa;
    border-left: 4px solid #1a5276;
    border-radius: 6px;
    padding: 0.9rem 1.1rem;
    margin: 1.5rem 0;
    font-size: 0.95rem;
    line-height: 1.65;
}

.term-note strong {
    color: #1a5276;
}

/* ---------- Hinweis auf verbindliche deutsche Rechtsfassung ---------- */
.legal-notice-box {
    background: #f4f7fa;
    border: 1px solid #cbd8e4;
    border-radius: 8px;
    padding: 1.2rem 1.4rem;
    margin: 1.5rem 0;
    line-height: 1.7;
}

.legal-notice-box ul {
    margin: 0.8rem 0 0.8rem 1.2rem;
}

/* ---------- Cookie-Banner (statisch eingebunden) ---------- */
/* Nutzt die vorhandenen .cookie-* Klassen aus style.css.
   Hier nur Absicherung gegen lange Übersetzungen. */
.cookie-banner-text p {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* =========================================================
   MOBILE / MEHRSPRACHIGE TYPOGRAFIE
   Türkische Komposita, kyrillische Langwörter und polnische
   Sonderzeichen dürfen keine horizontalen Scrollbalken erzeugen.
   ========================================================= */

html[lang="tr"] body,
html[lang="ru"] body,
html[lang="pl"] body {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
}

html[lang="tr"] h1,
html[lang="ru"] h1,
html[lang="pl"] h1,
html[lang="tr"] h2,
html[lang="ru"] h2,
html[lang="pl"] h2,
html[lang="tr"] h3,
html[lang="ru"] h3,
html[lang="pl"] h3,
html[lang="tr"] .question-link,
html[lang="ru"] .question-link,
html[lang="pl"] .question-link,
html[lang="tr"] .ql-title,
html[lang="ru"] .ql-title,
html[lang="pl"] .ql-title {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none; /* keine Silbentrennung in Überschriften */
}

/* Kyrillisch wirkt bei gleicher Punktgröße etwas gedrängter */
html[lang="ru"] .article-content p,
html[lang="ru"] .article-content li {
    line-height: 1.8;
}

/* Navigation darf auf schmalen Displays umbrechen statt überzulaufen */
html[lang="tr"] nav ul,
html[lang="ru"] nav ul,
html[lang="pl"] nav ul {
    flex-wrap: wrap;
}

@media (max-width: 600px) {
    .lang-switch-inner {
        font-size: 0.86rem;
        gap: 0.35rem 0.5rem;
    }

    .lang-switch-label {
        width: 100%;
        margin-bottom: 0.1rem;
    }

    .lang-switch a,
    .lang-switch span.lang-current,
    .lang-switch span.lang-off {
        padding: 0.3rem 0.55rem;
    }

    .i18n-disclaimer-inner,
    .lang-switch-inner {
        padding: 0 16px;
    }

    html[lang="tr"] .header-title,
    html[lang="ru"] .header-title,
    html[lang="pl"] .header-title {
        font-size: 1.5rem;
    }
}
