.otp-hidden-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.otp-container {
    position: relative;
    display: flex;
    gap: 10px;
    justify-content: center;
}

/* Добавим каретку к активной ячейке */
.otpFormContainer__digit.cursor::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 10px;
    width: 1px;
    height: 20px;
    background: #000;
    animation: blink 1s infinite;
    transform: translateX(-50%);
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

@media screen and (max-width: 575px) {
    .fast-payment-switcher {
      margin: 20px auto !important;
    }

    .fast-payment-switcher__container .actions {
        flex-direction: column;
    }

    .visa-pay-method {
        height: 45px;
    }

    .visa-pay-method .title span {
        font-size: 14px;
    }

    .payment-popup {
        padding: 15px 20px !important;
    }

    .payment-popup .card-payment {
        height: 60px !important;
    }

    div#bdy div.bdy div.agreedGroup {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #pmntVisaPay #pmntVisaPayContainer #showEntryForm {
        font-size: 20px !important;
    }

    .otpFormContainer__digit {
        width: 35px;
        height: 35px;
    }

    #visa-pay-loader .title {
        font-size: 20px !important;
        line-height: 24px !important;
    }

    .loader-container {
        height: 150px !important;
    }

    .fast-payment-container {
        padding: 0 !important;
    }

    #otpFormContainer {
        padding: 20px !important;
    }

    #otpErrorMessage {
        top: 80px !important;
        left: 80px !important;
    }

    .user-info-pay__container .user-info__values {
        flex-wrap: wrap;
    }
}