.yoomoney-payment-form {
    --border-color: var(--slate-200);
    --text-hint: var(--slate-400);
    --text-label: var(--slate-600);
    --bg-white: var(--white);

    box-sizing: border-box;
    width: 100%;
    font-family: 'Golos Text', sans-serif;

    & input[type=number] {
        appearance: textfield;
        &::-webkit-outer-spin-button,
        &::-webkit-inner-spin-button {
            appearance: none;
        }
    }

    & .ym-align-items-center { align-items: center; }
    & .ym-align-items-start { align-items: start; }
    & .ym-align-space-between { justify-content: space-between; }

    & .ym-block-title {
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--slate-900);
        margin-bottom: 1rem;
    }

    & .ym-label-text {
        color: var(--text-label);
        font-size: 0.875rem;
        margin-bottom: 0.5rem;
        display: block;
    }

    & :is(.ym-input, .ym-textarea) {
        box-sizing: border-box;
        width: 100%;
        border: 1px solid var(--border-color);
        border-radius: 0.75rem;
        background: var(--bg-white);
        padding: 0.75rem 1rem;
        font-size: 1rem;
        font-family: inherit;
        transition: border-color 0.3s ease;

        &:focus {
            outline: none;
            border-color: var(--primary-blue-dark);
        }

        &::placeholder {
            color: var(--text-hint);
        }
    }

    & .ym-input {
        height: 3.5rem;
    }

    & .ym-textarea {
        min-height: 100px;
        line-height: 1.5;
        margin-top: 1rem;
    }

    & .ym-input-icon-rub {
        position: relative;
        flex-grow: 1;
        width: 100%;

        &::after {
            content: '₽';
            position: absolute;
            right: 1.25rem;
            top: 50%;
            color: var(--slate-400);
            font-size: 1.25rem;
            font-weight: 500;
        }

        & input {
            padding-right: 3rem;
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--slate-900);
        }
    }

    & .ym-payment-btn-block {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        align-items: center;

        & .ym-btn-pay {
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 3.5rem;
            font-size: 1.125rem;
            font-weight: 700;
            border: none;
            color: var(--white);
            background: var(--primary-blue-dark);
            padding: 0 2rem;
            border-radius: 0.75rem;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: none;

            &:hover {
                background-color: var(--slate-900);
                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            }

            &:active {
                transform: translateY(0);
            }

            & .ym-text-crop {
                margin-right: 0.25rem;
            }
        }

        & .ym-logo {
            opacity: 0.5;
            transition: opacity 0.3s ease;
            &:hover {
                opacity: 0.8;
            }
        }

        & .ym-disabled-btn {
            background: var(--slate-200);
            color: var(--slate-400);
            pointer-events: none;
        }
    }

    @media (max-width: 480px) {
        & .ym-input { height: 3rem; }
        & .ym-btn-pay { height: 3rem; font-size: 1rem; }
    }
}

.ym-display-none { display: none !important; }

