/* ============================================================
   PARLAMENTS-LEISTE
   ============================================================ */

.parlament-leiste {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 150;

    height: 100vh;
    width: 64px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;

    padding: 16px 0;

    background: var(--farbe-oberflaeche);
    border-right: 1px solid var(--farbe-rahmen);
}

.parlament-eintrag {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.parlament-logo {
    --parlament-farbe: var(--farbe-primaer);

    width: 44px;
    height: 44px;
    flex-shrink: 0;
    padding: 7px;

    display: flex;
    align-items: center;
    justify-content: center;

    font: inherit;

    background: #FFFFFF;
    border: 2px solid var(--farbe-rahmen);
    border-radius: 50%;

    cursor: pointer;

    box-shadow: var(--schatten-klein);

    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        border-color 0.15s ease;
}

.parlament-logo-bild {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Nur sichtbar, wenn das Logo-Bild nicht geladen werden kann (siehe
   onerror im Markup) - zeigt dann wie zuvor den Anfangsbuchstaben auf
   farbigem Grund. */
.parlament-logo-fallback {
    display: none;
    width: 100%;
    height: 100%;

    align-items: center;
    justify-content: center;

    font-size: 1.05rem;
    font-weight: 700;
    color: #FFFFFF;

    background: var(--parlament-farbe);
    border-radius: 50%;
}

.parlament-logo:hover {
    transform: scale(1.06);
    box-shadow: var(--schatten-normal);
}

.parlament-eintrag.aktiv .parlament-logo {
    border-color: var(--parlament-farbe);
}

.parlament-eintrag[data-implementiert="false"] .parlament-logo {
    opacity: 0.5;
}

/* Kurzer "Ankunfts-Puls": zeigt nach der Umsortier-Animation an, welcher
   Kreis jetzt aktiv ist - ganz ohne Text-Label. */
@keyframes parlament-ankunft-puls {
    0% { transform: scale(1); }
    40% { transform: scale(1.18); }
    100% { transform: scale(1); }
}

.parlament-logo.angekommen {
    animation: parlament-ankunft-puls 0.4s ease;
}


/* ------------------------------------------------------------
   Hinweis-Toast (nicht implementiertes Parlament angeklickt)
   ------------------------------------------------------------ */

.parlament-hinweis-toast {
    position: fixed;
    left: 76px;
    bottom: 20px;
    z-index: 300;

    padding: 10px 16px;

    font-size: 0.84rem;
    color: #FFFFFF;

    background: var(--farbe-text);
    border-radius: 10px;

    box-shadow: var(--schatten-normal);

    opacity: 0;
    transform: translateY(6px);

    pointer-events: none;

    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

.parlament-hinweis-toast.sichtbar {
    opacity: 1;
    transform: translateY(0);
}


/* ------------------------------------------------------------
   Platz für die Leiste reservieren
   ------------------------------------------------------------ */

.hauptbereich {
    margin-left: 64px;
}


/* ------------------------------------------------------------
   Mobil: horizontale Leiste oben statt vertikal links
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .parlament-leiste {
        position: sticky;
        top: 0;
        left: auto;

        width: 100%;
        height: auto;

        flex-direction: row;
        justify-content: center;
        gap: 10px;

        padding: 8px 10px;

        border-right: none;
        border-bottom: 1px solid var(--farbe-rahmen);
    }

    .parlament-logo {
        width: 36px;
        height: 36px;
        font-size: 0.9rem;
    }

    .parlament-hinweis-toast {
        left: 50%;
        transform: translate(-50%, 6px);
    }

    .parlament-hinweis-toast.sichtbar {
        transform: translate(-50%, 0);
    }

    .hauptbereich {
        margin-left: 0;
    }
}
