/* STRAKE Sprachhinweis (GEN-434): Karte unten in der Mitte, Hausdunkel #0c0f06 mit Lime #baff39 fuer die
   Hauptaktion. Liegt unter Meldeblase und Dialogen (z-index), blockiert die Seite nicht. */
.sprachhinweis { position:fixed; left:50%; bottom:24px; z-index:9000; box-sizing:border-box;
                 width:min(560px, calc(100vw - 32px)); padding:18px 20px;
                 display:flex; align-items:center; gap:16px 20px; flex-wrap:wrap;
                 font-family:inherit; color:#fff; background:#0c0f06;
                 border:1px solid rgba(186,255,57,.35); border-radius:14px;
                 box-shadow:inset 4px 0 0 #baff39, 0 12px 36px rgba(0,0,0,.30);
                 opacity:0; transform:translateX(-50%) translateY(16px);
                 transition:opacity .25s ease, transform .25s ease; }
.sprachhinweis.sichtbar { opacity:1; transform:translateX(-50%) translateY(0); }
.sprachhinweis p { flex:1 1 240px; margin:0; color:#fff; font-size:15px; line-height:1.45; font-weight:500; text-wrap:pretty; }
.sprachhinweis-knoepfe { display:flex; gap:8px; flex:0 0 auto; flex-wrap:wrap; }
.sprachhinweis button { height:40px; padding:0 16px; border-radius:8px; font-family:inherit; font-size:14px; font-weight:600;
                        cursor:pointer; transition:background-color .15s ease, border-color .15s ease; }
.sprachhinweis-behalten { color:#0c0f06; background:#baff39; border:1px solid #baff39; }
.sprachhinweis-behalten:hover { background:#a8ec27; }
.sprachhinweis-anders { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.35); }
.sprachhinweis-anders:hover { border-color:#baff39; }
.sprachhinweis button:focus-visible { outline:2px solid #baff39; outline-offset:2px; }
@media (max-width:479px) {
  .sprachhinweis { bottom:16px; padding:16px; }
  .sprachhinweis-knoepfe { width:100%; }
  .sprachhinweis-knoepfe button { flex:1 1 0; padding:0 10px; }
}
@media (prefers-reduced-motion:reduce) { .sprachhinweis { transition:none; } }
