/* =========================================================
   EN ÜSTE KAYDIR – SAĞ ALT KÖŞE YÜZEN BUTON
   Tüm sınıf ve keyframe adları "eus-" öneklidir.
   ========================================================= */

.eus-btn {
    position: fixed;
    right: 22px;
    bottom: 22px;
    right: max(22px, env(safe-area-inset-right));
    bottom: max(22px, env(safe-area-inset-bottom));
    z-index: 9989;
    width: 56px;
    height: 56px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    color: var(--c-blue, #0A2B5E);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(10, 43, 94, 0.2);

    /* Başlangıçta gizli */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.85);
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s,
                background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.eus-btn.eus-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.eus-btn:focus-visible {
    outline: 3px solid rgba(255, 107, 0, 0.6);
    outline-offset: 3px;
}

/* --- İLERLEME HALKASI --- */
.eus-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);   /* ilerleme tepeden başlasın */
    pointer-events: none;
}

.eus-ring circle {
    fill: none;
    stroke-width: 3;
}

.eus-ring-track {
    stroke: #E2E8F0;
}

.eus-ring-bar {
    stroke: var(--c-orange, #FF6B00);
    stroke-linecap: round;
    transition: stroke-dashoffset 0.15s linear;
}

/* --- OK İKONU --- */
.eus-icon {
    position: relative;
    z-index: 2;
    font-size: 1.15rem;
    line-height: 1;
    transition: transform 0.3s ease;
}

/* --- SES DALGASI HALKALARI (hover'da yayılır) --- */
.eus-wave {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1.5px solid var(--c-orange, #FF6B00);
    opacity: 0;
    pointer-events: none;
}

.eus-wave-2 { border-color: var(--c-blue, #0A2B5E); }

.eus-btn:hover .eus-wave-1 { animation: eusWave 1.6s infinite cubic-bezier(0.215, 0.61, 0.355, 1); }
.eus-btn:hover .eus-wave-2 { animation: eusWave 1.6s 0.5s infinite cubic-bezier(0.215, 0.61, 0.355, 1); }

@keyframes eusWave {
    0%   { transform: scale(1);   opacity: 0.7; }
    100% { transform: scale(1.7); opacity: 0; }
}

/* --- HOVER --- */
.eus-btn:hover {
    background: var(--c-blue, #0A2B5E);
    color: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 43, 94, 0.35);
    transform: translateY(-4px) scale(1);
}

.eus-btn:hover .eus-ring-track { stroke: rgba(255, 255, 255, 0.2); }
.eus-btn:hover .eus-icon       { transform: translateY(-2px); }

.eus-btn:active { transform: translateY(0) scale(0.96); }

/* --- MOBİL --- */
@media (max-width: 680px) {
    .eus-btn {
        right: 14px;
        bottom: 14px;
        right: max(14px, env(safe-area-inset-right));
        bottom: max(14px, env(safe-area-inset-bottom));
        width: 52px;
        height: 52px;
    }
}

/* Hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce) {
    .eus-btn,
    .eus-icon,
    .eus-ring-bar { transition: none; }
    .eus-btn:hover .eus-wave { animation: none; }
}