.gitSwitcher {
    position: fixed;
    right: 0;
    z-index: 9999;
    display: block;
    opacity: 1;
    font-family: Arial, sans-serif;
    font-size: 0.8rem;
    transform: translateX(100%);
    transition: opacity 0.5s, transform 0.5s ease-in-out;
}

.gitSwitcher:hover, 
.gitSwitcher--show {
    transform: translateX(0);
}

.gitSwitcher .gitSwitcher__icon {
    position: absolute;
    left: -25px;
    width: 25px; /* unified width declaration */
    height: 100%;
    display: flex;
    cursor: pointer;
}

.gitSwitcher > .gitSwitcher__btn {
    background-color: #34495e;
    color: white;
    padding: 10px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

.gitSwitcher > .gitSwitcher__btn:hover {
    background-color: #2c3e50;
}

.gitSwitcher .gitSwitcher__list {
    display: none;
    position: absolute;
    right: 0;
    width: 100%;
    background-color: #ecf0f1;
    z-index: 1;
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
    border-radius: 5px;
}

.gitSwitcher.gitSwitcher--active .gitSwitcher__list {
    display: block;
}

.gitSwitcher .gitSwitcher__branch,
.gitSwitcher .gitSwitcher__hideBtn {
    display: block;
    width: 100%;
    padding: 10px;
    border: none;
    cursor: pointer;
    text-align: left;
    color: white;
    transition: background-color 0.3s;
}

.gitSwitcher .gitSwitcher__branch {
    background-color: #bdc3c7;
}

.gitSwitcher .gitSwitcher__branch:hover,
.gitSwitcher .gitSwitcher__hideBtn:hover {
    background-color: #aeb6bf;
}

.gitSwitcher.gitSwitcher--hide .gitSwitcher__hideBtn {
    background-color: #27ae60;
    transition: background-color 0.3s;
}

.gitSwitcher.gitSwitcher--hide .gitSwitcher__hideBtn:hover {
    background-color: #2ecc71;
}

.gitSwitcher:not(.gitSwitcher--hide) .gitSwitcher__hideBtn {
    background-color: #c0392b;
    transition: background-color 0.3s;
}

.gitSwitcher:not(.gitSwitcher--hide) .gitSwitcher__hideBtn:hover {
    background-color: #e74c3c;
}

.gitSwitcher.gitSwitcher--hide {
    display: none;
}