.hmv-otp-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.hmv-otp-code-input {
    width: 140px;
    flex-shrink: 0;
}

.hmv-send-otp,
.hmv-verify-otp {
    white-space: nowrap;
}

.hmv-otp-status,
.hmv-otp-countdown {
    flex-basis: 100%;
    margin-top: 5px;
}

.hmv-resend-link {
    color: #2fb5d2;
    text-decoration: underline;
    cursor: pointer;
}

.hmv-resend-link:hover {
    color: #1f8ca0;
    text-decoration: none;
}

.hmv-otp-status.text-success {
    color: #5cb85c;
    font-weight: bold;
    font-size: 14px;
}

.hmv-verified-badge {
    display: inline-block;
    background-color: #5cb85c;
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
    margin-top: 8px;
}

.hmv-loading {
    position: relative;
}

.hmv-loading::after {
    content: '';
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    animation: hmv-dots 1.4s infinite;
    min-width: 20px;
}

@keyframes hmv-dots {
    0%, 20% {
        content: '';
    }
    40% {
        content: '.';
    }
    60% {
        content: '..';
    }
    80%, 100% {
        content: '...';
    }
}

.hmv-otp-loader {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #999;
    font-size: 13px;
}

.hmv-otp-loader .icon-spin {
    animation: icon-spin 1s infinite linear;
}

@keyframes icon-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

