.c-social-fixed {
    position: fixed;
    top: 50%;
    right: 0.5rem;
    z-index: 900;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transform: translateY(-50%);
    z-index: 3;
}

/* Initial State (unsichtbar + rechts) */
.c-social-fixed__link {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    background: var(--vt-color-primary, #003b78);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: var(--vt-box-shadow-light);

    opacity: 1;
    transform: translateX(0);

    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.4s ease;
}

html:not(.is-ready) .c-social-fixed__link {
    opacity: 0;
    transform: translateX(20px);
}

/* Animation Trigger */
.c-social-fixed.is-visible .c-social-fixed__link {
    opacity: 1;
    transform: translateX(0);
}

/* Stagger */
.c-social-fixed.is-visible .c-social-fixed__link:nth-child(1) {
    transition-delay: 0.05s;
}
.c-social-fixed.is-visible .c-social-fixed__link:nth-child(2) {
    transition-delay: 0.1s;
}
.c-social-fixed.is-visible .c-social-fixed__link:nth-child(3) {
    transition-delay: 0.15s;
}
.c-social-fixed.is-visible .c-social-fixed__link:nth-child(4) {
    transition-delay: 0.2s;
}
.c-social-fixed.is-visible .c-social-fixed__link:nth-child(5) {
    transition-delay: 0.25s;
}

/* Icons */
.c-social-fixed__icon {
    width: 25px;
    height: 25px;
    display: block;
    filter: brightness(0) invert(1);
    transition: filter 0.2s ease;
}

.c-social-fixed__link svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
}

/* Hover */
.c-social-fixed__link:hover,
.c-social-fixed__link:focus-visible {
    background: #fff;
    transform: translateX(-4px);
    box-shadow: var(--vt-box-shadow);
}

.c-social-fixed__link:hover .c-social-fixed__icon,
.c-social-fixed__link:focus-visible .c-social-fixed__icon {
    filter: none;
}

/* Accessibility: Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .c-social-fixed__link {
        transition: none;
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 767px) {
    .c-social-fixed {
        display: none;
    }
}