/* Preserve each button's exact dimensions and accessible label while pending. */
body .adria-is-adding {
    position: relative !important;
    color: transparent !important;
    text-shadow: none !important;
    cursor: progress !important;
}
body .adria-is-adding > * { opacity: 0 !important; }
body .adria-is-adding::before { opacity: 0 !important; }
body .adria-is-adding::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 50% auto auto 50% !important;
    width: 21px !important;
    height: 21px !important;
    margin: -10.5px 0 0 -10.5px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 2px solid rgba(255,255,255,.36) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;
    background: none !important;
    opacity: 1 !important;
    animation: adria-feedback-spin .7s linear infinite !important;
    pointer-events: none;
}
@keyframes adria-feedback-spin { to { transform: rotate(360deg); } }
#adria-navigation-feedback {
    position: fixed;
    inset: 0 0 auto;
    height: 3px;
    z-index: 2147483646;
    overflow: hidden;
    background: rgba(4,61,245,.12);
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease;
}
#adria-navigation-feedback::after {
    content: "";
    display: block;
    width: 38%;
    height: 100%;
    background: linear-gradient(90deg, #043df5, #3695ff);
    border-radius: 0 2px 2px 0;
    animation: adria-feedback-travel 1.2s ease-in-out infinite;
    animation-play-state: paused;
}
html.adria-is-navigating #adria-navigation-feedback { opacity: 1; }
html.adria-is-navigating #adria-navigation-feedback::after { animation-play-state: running; }
@keyframes adria-feedback-travel {
    from { transform: translateX(-100%); }
    to { transform: translateX(365%); }
}
@media (prefers-reduced-motion: reduce) {
    body .adria-is-adding::after { animation: none !important; }
    #adria-navigation-feedback { transition: none; }
    #adria-navigation-feedback::after { animation: none; width: 100%; }
}
