
    :root{
        --qetra--onboarding-grey: #F8F8FC;
    }

    /**/

    label-input{
        width: 100%;
        position: relative;
        display: block;
        opacity: .6;
        user-select: none;
        text-align: left;
        font-size: 13px;
        margin-top: 20px;
        margin-bottom: 9px;
    }

    .ui-input{
        width: 100%;
        border: 0px;
        padding: 18px;
        font-size: 16px;
        border-radius: 12px;
        background: var(--qetra--onboarding-grey);
        outline: 0px;
        transition: all 200ms ease;
    }
    .ui-input:focus, #price_input:focus{
        background: #FFF !important;
        outline: 3px solid #bebebe !important;
    }

    .ui-input-with-icon{
        padding-left: calc(20px * 2);
    }

    .ui-input-icon{
        box-sizing: unset;
        width: 16px;
        user-select: none;
        pointer-events: none;
        position: absolute;
        left: 15px;
        opacity: .6;
    }

    .ui-input-side{
        width: 100%;
        display: flex;
        align-items: center;
        align-content: center;
        justify-content: space-between;
        gap: 20px;
    }
    .ui-input-side p{
        margin: 0;
        width: max-content;
        display: flex;
        align-items: center;
        align-content: center;
        user-select: none;
        pointer-events: none;
    }
    .ui-input-side img{
        box-sizing: unset;
        width: 26px;
        border-radius: 4px;
        margin-right: 4px;
        border: 0.5px solid #DEDEDE;
    }

    .ui-input-side-money p{
        position: absolute;
        right: 20px;
        opacity: .6;
    }

    .ui-input-wrong{
        outline: 2px solid red;
    }

    /**/


    .ui-btn{
        border-radius: 9999px;
        background: #010101;
        color: #FFF;
        width: 100%;
        height: 50px;
        text-align: center;
        display: flex;
        align-content: center;
        align-items: center;
        justify-content: center;
        margin: 0;
        font-size: 15px;
        cursor: pointer;
        user-select: none;
        transition: all 200ms ease;
        -webkit-tap-highlight-color: transparent;
    } 
    .ui-btn-secondary{
        background: #FFF;
        color: #010101;
        opacity: .8;
    }

    .ui-btn-disabled{
        opacity: .4;
        pointer-events: none;
    }

    .ui-btn-margin{
        margin: 20px 0;
    }

    .ui-btn-after-content{
        width: 100%;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin: 20px 0;
    }

    /**/


    .ui-container-radio {
        width: 100%;
        position: relative;
        display: block;
        cursor: pointer;
        border-radius: 16px;
        border: 1px solid #E9E9EE;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    .ui-container-radio:has(.ui-radio-circle input[type=radio]:checked) {
        outline: 2px solid #010101;
        outline-offset: -1px;
    }

    .ui-radio[type=radio] {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
        -webkit-tap-highlight-color: transparent;
    }

    .ui-radio-box {
        box-sizing: unset;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        position: relative;
        padding: 15px;
        text-align: left !important;
        cursor: pointer;
    }

    .ui-radio-box-icon{
        aspect-ratio: 1/1;
        padding: 11px;
        background: #F8F8FD;
        border-radius: 99999px;
        user-select: none;
        pointer-events: none;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 15px;
    }
    .ui-radio-box-icon p{
        margin: 0;
        font-size: 14px;
    }
    .ui-radio-box-icon img{
        box-sizing: unset;
        width: 20px;
    }

    .ui-radio-circle-img-full{
        width: 42px;
        box-sizing: unset;
        margin-right: 15px;
        aspect-ratio: 1/1;
        border-radius: 9999px;
        user-select: none;
        pointer-events: none;
    }

    .ui-radio-title {
        width: 100%;
        font-size: 17px;
        color: #010101;
        margin: 0;
        font-weight: 500;
    }
    .ui-radio-title-center{
        text-align: center;
    }

    .ui-radio-title span{
        position: relative;
        display: block;
        width: 100%;
        margin-top: 3px;
        font-size: 12px;
        opacity: .6;
    }

    .ui-radio-text-center{
        font-size: 14px;
        text-align: center;
        width: 100%;
        margin: 0;
    }

    .ui-radio-grid{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
    }
    .ui-radio-grid img{
        box-sizing: unset;
        width: 38px;
        user-select: none;
        pointer-events: none;
        outline: 1px solid #ebebeb;
        border-radius: 11px;
    }
    .ui-radio-grid-icon-qetra img{
        outline: none;
        opacity: .4;
    }
    .ui-radio-grid p{
        width: 100%;
    }

    .ui-container-radio-grid-space{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        align-content: flex-end;
    }

    /**/

    /**/
    .ui-haptic-visual:active {
        transform: scale(0.94);
        transition: all 0.18s ease;
    }

    .ui-haptic-visual-mobile{
        animation: ui-haptic-visual-mobile 0.18s ease;
    }
    @keyframes ui-haptic-visual-mobile{
        0%{
            transform: scale(1);
        }
        50%{
            transform: scale(0.94);
        }
        100%{
            transform: scale(1);
        }
    }


    /**/
    
    .ui-shimmer {
      background-image: linear-gradient(
        90deg,
        #e0e0e0 25%,
        #f0f0f0 50%,
        #e0e0e0 75%
      ) !important;
      background-size: 200% 100% !important;
      background-repeat: no-repeat !important;
      animation: shimmer 1.2s infinite linear;
      pointer-events: none;
    }

    @keyframes shimmer {
      0%   { background-position: 200% 0; }
      100% { background-position: -200% 0; }
    }

    /**/

    .ui-shimmer-text {
        color: #b4b4b4;
        
        /* O truque está no background-clip */
        background: linear-gradient(
            90deg, 
            #b4b4b4 0%, 
            #b4b4b4 40%, 
            #111 50%, 
            #b4b4b4 60%, 
            #b4b4b4 100%
        );
        background-size: 200% auto;
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        
        /* Animação infinita */
        animation: shimmer-text 1.7s linear infinite;
    }

    @keyframes shimmer-text {
        to {
            background-position: -200% center;
        }
    }