/* Shared AXIA login CTA. Authenticated avatar/menu styles stay untouched. */
.site-nav #login-btn.axia-login-cta {
    position: relative !important;
    isolation: isolate;
    min-width: 188px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 12px 0 8px !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 15px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #7280ff 0%, #5865f2 48%, #4752c4 100%) !important;
    box-shadow: 0 10px 28px rgba(88,101,242,.25), inset 0 1px 0 rgba(255,255,255,.2) !important;
    text-decoration: none !important;
    transform: translateZ(0);
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease, filter .35s ease !important;
}

.site-nav #login-btn.axia-login-cta::before {
    content: '';
    position: absolute;
    inset: -60% -25%;
    z-index: -1;
    background: linear-gradient(110deg, transparent 37%, rgba(255,255,255,.3) 49%, transparent 61%);
    transform: translateX(-70%) rotate(4deg);
    transition: transform .75s cubic-bezier(.16,1,.3,1);
}

.site-nav #login-btn.axia-login-cta:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #7e8aff 0%, #6470f5 48%, #4d58ce 100%) !important;
    border-color: rgba(255,255,255,.34) !important;
    box-shadow: 0 16px 42px rgba(88,101,242,.4), inset 0 1px 0 rgba(255,255,255,.28) !important;
    transform: translateY(-2px) scale(1.025) !important;
    filter: saturate(1.08);
}

.site-nav #login-btn.axia-login-cta:hover::before { transform: translateX(70%) rotate(4deg); }
.site-nav #login-btn.axia-login-cta:active { transform: translateY(0) scale(.985) !important; }
.site-nav #login-btn.axia-login-cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.site-nav #login-btn.axia-login-cta.hidden { display: none !important; }

.axia-login-cta .axia-login-icon {
    width: 30px !important;
    height: 28px !important;
    flex: 0 0 30px;
    padding: 7px 6px;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    color: #fff;
    background: rgba(10,12,35,.17);
    transition: transform .35s cubic-bezier(.16,1,.3,1), background .35s ease;
}

.axia-login-cta:hover .axia-login-icon { background: rgba(10,12,35,.25); transform: rotate(-4deg) scale(1.05); }

.axia-login-cta .axia-login-label,
.axia-login-cta .axia-login-label-short {
    font: 750 11px/1 'Plus Jakarta Sans', sans-serif !important;
    letter-spacing: -.01em !important;
    white-space: nowrap;
}

.axia-login-cta .axia-login-label-short { display: none; }

.axia-login-cta .axia-login-arrow {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin-left: 1px;
    border-radius: 999px;
    color: rgba(255,255,255,.9);
    background: rgba(255,255,255,.13);
    font: 800 13px/1 'Plus Jakarta Sans', sans-serif;
    transition: transform .35s cubic-bezier(.16,1,.3,1), background .35s ease;
}

.axia-login-cta:hover .axia-login-arrow { background: rgba(255,255,255,.2); transform: translateX(3px); }

.axia-login-cta .axia-login-spinner {
    display: none;
    width: 15px;
    height: 15px;
    margin-left: 3px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: axiaLoginSpin .65s linear infinite;
}

.axia-login-cta.is-loading { pointer-events: none; filter: saturate(.7) !important; }
.axia-login-cta.is-loading .axia-login-arrow { display: none; }
.axia-login-cta.is-loading .axia-login-spinner { display: block; }

@keyframes axiaLoginSpin { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
    .site-nav #login-btn.axia-login-cta {
        min-width: 111px !important;
        width: auto !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 10px 0 7px !important;
        gap: 7px !important;
        border-radius: 14px !important;
    }
    .axia-login-cta .axia-login-label { display: none; }
    .axia-login-cta .axia-login-label-short { display: inline; font-size: 10px !important; }
    .axia-login-cta .axia-login-arrow { width: 16px; height: 16px; font-size: 11px; }
    .axia-login-cta .axia-login-icon { width: 27px !important; height: 27px !important; flex-basis: 27px; padding: 7px 5px; }
}

@media (max-width: 380px) {
    .site-nav #login-btn.axia-login-cta { min-width: 94px !important; }
    .axia-login-cta .axia-login-arrow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .site-nav #login-btn.axia-login-cta,
    .site-nav #login-btn.axia-login-cta::before,
    .axia-login-cta .axia-login-icon,
    .axia-login-cta .axia-login-arrow { transition: none !important; }
}
