.floating-actions {
    position: fixed;
    top: max(1rem, env(safe-area-inset-top));
    right: max(1rem, env(safe-area-inset-right));
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.back-to-top,
.contact-shortcut,
.language-picker {
    --floating-glass-highlight: linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04));
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: var(--glass-radius-pill);
    background:
        var(--floating-glass-highlight),
        rgba(8, 13, 18, 0.32);
    box-shadow: none;
    -webkit-backdrop-filter: blur(var(--glass-blur-subtle)) saturate(130%);
    backdrop-filter: blur(var(--glass-blur-subtle)) saturate(130%);
}

.back-to-top,
.contact-shortcut {
    display: inline-grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: var(--primary);
    text-decoration: none;
    touch-action: manipulation;
    transition: background-color var(--motion-fast) ease;
}

.contact-shortcut {
    border-radius: var(--glass-radius-pill);
    background:
        var(--floating-glass-highlight),
        linear-gradient(rgba(8, 13, 18, 0.18), rgba(8, 13, 18, 0.18)),
        #25d366;
}

.back-to-top[hidden] {
    display: none;
}

.back-to-top:focus-visible {
    outline: none;
    background-color: rgba(255, 255, 255, 0.2);
    box-shadow: none;
}

.contact-shortcut:focus-visible {
    outline: none;
    box-shadow: none;
}

.back-to-top i {
    font-size: 0.95rem;
    line-height: 1;
}

.contact-shortcut i {
    color: #fff;
    font-size: 1.28rem;
    line-height: 1;
}

.language-picker {
    display: inline-flex;
    overflow: hidden;
}

.language-picker__option {
    position: relative;
    display: inline-grid;
    width: 42px;
    height: 40px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--primary);
    cursor: pointer;
    font: inherit;
    line-height: 1;
    touch-action: manipulation;
    transition: background-color var(--motion-fast) ease;
}

.language-picker__option[aria-pressed="true"] {
    background-color: rgba(255, 255, 255, 0.11);
}

.language-picker__option:focus-visible {
    outline: none;
    background-color: rgba(255, 255, 255, 0.2);
    box-shadow: none;
}

.language-picker__flag {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    transition: filter var(--motion-fast) ease;
}

.language-picker__label {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

@media (hover: hover) {
    .back-to-top:hover {
        background-color: rgba(255, 255, 255, 0.14);
    }

    .contact-shortcut:hover {
        background-color: #25d366;
    }

    .language-picker__option:hover .language-picker__flag {
        filter: brightness(1.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    .back-to-top,
    .contact-shortcut,
    .language-picker__option,
    .language-picker__flag {
        transition: none;
    }
}

@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
    .back-to-top,
    .contact-shortcut,
    .language-picker {
        background: rgba(8, 13, 18, 0.9);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}
