

.otp-flex-wrapper {
    display: flex;
    flex-direction: column; /* Stacks children vertically into rows */
    align-items: center; /* Centers children horizontally */
    text-align: center; /* Centers text inside the children */
    gap: 15px; /* Creates equal spacing between "rows" */
    width: 100%;
    margin-top: 2rem;
}

/* Optional: Ensures the textbox doesn't hit the screen edges on mobile */
.otp-field {
    font-size:large;
    min-width: 150px;
    max-width: 300px;
}

.otp-footer-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.otp-label-small {
    font-size: 0.9rem;
    color: #666;
    margin-top: 10px; /* Extra breathing room above the resend section */
}
/* Removes arrows from Chrome, Safari, Edge, Opera */
.otp-box::-webkit-outer-spin-button,
.otp-box::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Removes arrows from Firefox */
.otp-box {
    -moz-appearance: textfield;
}

.summary-grid {
    display: grid;
    grid-template-columns: 33% 1fr;
    gap: 8px 4px;
    align-items: start;
    /*word-break: break-all;*/
}
    .summary-grid ul {
        display: inline-block;
        margin: 0; /* remove default top/bottom margin */
        padding-left: 16px; /* keep bullet spacing neat */
    }

    .summary-grid .section-header {
        grid-column: 1 / span 2;
    }

    .summary-grid.confirm-section {
        margin-bottom: 0; /* Margin won't collapse for flex. */
    }

.loadingOverlay {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 10000;
    display: flex; /* used when JS sets display:flex */
    justify-content: center;
    align-items: center;
}

    /* inner content */
    .loadingOverlay .loadingContent {
        background-color: #fff;
        padding: 20px 30px;
        border-radius: 8px;
        text-align: center;
        box-shadow: 0 4px 12px rgba(0,0,0,0.25);
        color: #333;
        font-size: 18px;
        width: 800px;
        max-width: 90vw;
        box-sizing: border-box;
    }

    /* fade-in */
    .loadingOverlay.show {
        display: flex;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

        .loadingOverlay.show.visible {
            opacity: 1;
        }

.loadingOverlay {
    align-items: center; /* center by default */
}

@media (max-height: 499px) {
    .loadingOverlay {
        align-items: flex-start; /* push to top if viewport is too short */
        width: 400px;
        padding-top: 20px;
    }
}


h3
{
    line-height:40px;
}

.d-flex-mobile
{
    display:flex;
    width:65%;
}

.section-header{
    color:#E62E62;
    margin: 2rem 0 1rem;
}

.input-container{
    filter: drop-shadow(0px 0px 16px rgba(65, 151, 217, 0.24));
    background-color: #fff;
    border-radius: 8px;
    width: 100%;
    padding: 1.5rem;
    max-width: 500px;
}

.input-container-item {
    margin-top: 1em;
}

    .input-container-item:first-child {
        margin-top: 0;
    }

.input-container-item .input-group-box {
    width: 100%;
    margin-top: 0.5em;
    box-sizing: border-box;
}

.select-container select {
    /* appearance: none; */
    /* safari */
    /* -webkit-appearance: none; */
    /* other styles for aesthetics */
    width: 100%;
    max-width: 550px;
    padding: 0.675em 1em;
    /* background-color: #fff; */
    border: 1px solid #A1A1B3;
    border-radius: 8px;
    color: #000;
    cursor: pointer;
    position: relative;
}

.result-box{
    /* border: 1px solid #AFE4FF; */
    border: 1px solid #A1A1B3;
    border-radius: 6px;
    padding: 15px;
    margin: 1rem 0;
}

.sig-pad{
    margin: 2rem 0;
}

.sig-pad canvas{
    border-bottom: 1px solid #A1A1B3;
    margin-bottom: 15px;
}

.image-text-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}

.image-text-container img{
    width: 60px;
    height: 65px;
}

.image-text-container p{
    width: 90%;
}

.icon-text-wrapper{
    display: flex;
    align-items: center;
}

.icon-wrapper{
    margin-right: 1rem;
    display: flex;
    align-items: center;
}

.icon-wrapper img{
    margin-right: 4px;
}

.input-group-box{
    border-radius: 8px;
    /* border: 1px solid #AFE4FF; */
    border: 1px solid #A1A1B3;
    padding: 10px;
    margin-right: 8px;
    display: flex;
    align-items: center;
    width: 45%;
}

.input-group-box input{
    border: none;
    width: 100%;
    font-size:16px;
}

.pdf-screenshot{
    width: 100%;
}

/* inner steps */
.step-form{
  
    margin: 2rem 0;
    transition: all ease 0.3s;
}

.step-container{
 
    transition: all ease 0.3s;
    padding:0px 50px;
}

.sub-step{
    /* border-radius: 8px; */
    background: #FCE8EE;
    color: #E62E62;
    padding: 8px 15px;
    /* margin-right: 6px; */
    text-align: center;
    flex: 1; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
}

.sub-step.active{
    background-color: #E62E62;
    color: #fff;
}

.step-flow{
 
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.sub-form{
    margin: 2rem 0;
    transition: all ease 0.3s;
}

.confirm-section{
    margin-bottom: 1rem;
}

.new_signup_label
{
    margin-right:10px;
    width:280px;
}

.price_plan_heading
{
    margin:0px;
    margin-bottom:5px;
}

.sd_pointer
{
    width:50%;
}

.fill_up_btn
{
    padding:15px;
    border:1px solid #A1A1B3;
    margin:5px 20px;
    border-radius:5px;
    cursor: pointer;
}

.singpass_btn
{
    background-color:#f4333d;
    color:#FFF;
}

#MainContent_txtPassport
{
   
}

input[type=text]:disabled {
  background: #dddddd;
}

.birth_flex_box
{
    width:50%;
}

.contact_no_container input
{
    width:100%!important;
}

.warning-h4
{
    margin:0px;
}

.reduce_padding
{
    padding:10px;
}

.info-box, .warning-box
{
    border-left: none;
}

.cb_padding_left
{
    padding-left:5px;
}

.required_red:before
{
    content: "*";
    color: red;
    position: absolute;
    /* left: 35px; */
    left:-5px;
}

.required_red_left::before
{
    left:18px;
}

.required_red_left_2::before
{
    left:30px;
}

.small_circle_transparent
{
    border:1px solid #19191B;
    height:10px;
    width:10px;
    border-radius:50%;
}


.smaller_font_size
{
    font-size:14px;
    line-height:18px;
}

#sub_step_form_2b, #sub_step_form_2c, #sub_step_form_2d
{
    width:60%;
    margin:auto;
}

/* .required_cb:after {
    content: "*";
    color: red;
} */

button:disabled,
button[disabled]{
  border: 1px solid #999999;
  background-color: #cccccc;
  color: #666666;
}

.t-otp {
    display: flex;
    justify-content: center;
    gap: 6px;
}

.t-otp input
{
    width: 50px!important;
    height: 64px;
    font-size: 32px;
    text-align: center;
    padding: 3px;
    border: 2px solid #ddd;
    transition: 0.3s ease;
    border-radius: 3px;
}

.ul_ol_span
{
    width:15px;
}

.green_checked_bg
{
    background-color:#00d26a;
    color:#FFF;
    padding:10px;
    width: 65px;
    margin:auto;
    font-size: 55px;
    border-radius: 8px;
}

.smallest_font_size
{
    font-size:10px;
}

.select_w_50
{
    width:50%;
}

.plain-box
{
    padding:10px;
    border:1px solid #19191B;
}

.smaller_mt
{
    margin-top:5px;
}

.f3b_1
{
    display:none;
}

.f3b_1, .f3b_2
{
    font-size: 18px!important;
}

#sub_step_form_3b .contact_no_container
{
    width:50%;
}

.longer_width
{
    width:75%;
}

.contact_no_container select
{
    width:100%;
}

.rr_start_text
{
   
}

.rr_content_container
{
    padding:0px 30px;
}

.rr_content_container ol li
{
    margin-top:3px;
}

.rr_content_container ol li > ul > li
{
    margin-left:10px;
}

.agent_main_container, .agent_field_container, .agent_field_container input, .agent_field_container select
{
    width:100%!important;
}

.final_ack_ul_li li
{
    margin-bottom:8px;
    line-height:20px;
}

.cb_relative
{
    position:relative;
}

.italic-font
{
    font-style: italic;
}

@media screen and (max-width: 764px)
{
    .sub-step{
        width:95%;
        margin-bottom:10px;
    }
    .new_signup_label
    {
        width:95%;
        margin-bottom:5px;
    }
    .new_signup_label
    {
        width:98%;
    }
    .d-flex-mobile
    {
        width:100%;
    }
    .select-container select
    {
        width:100%;
    }
    .input-group-box {
        width: 100%;
    }
    .price_plan_heading
    {
        margin:3px;
    }
    .result-box {
        line-height: 20px;
    }
    .sd_pointer
    {
        width:100%;
    }
    .birth-flex
    {
        flex-flow: unset;
    }
    #sub_step_form_2b, #sub_step_form_2c, #sub_step_form_2d
    {
        width:100%;
        margin:auto;
    }
    #sub_step_form_3b .contact_no_container
    {
        width:100%;
    }
    #MainContent_verifyPhoneNo
    {
        width:50%;
    }
    .sub-step{
        flex: auto;
    }
    .sub-step-arrow
    {
        display:none;
    }
    .singpass_or_manual_container
    {
        flex-direction: column;
    }
}

@media screen and (max-width: 600px) {

    .step-container {
        padding: 0 15px;
    }
    .icon-text-wrapper{
        flex-direction: column;
        justify-content: space-around;
        align-items: flex-start;
    }

    .icon-wrapper{
        display: block;
    }
    
    .image-text-container img{
        width: 15%;
        height: auto;
    }

    .image-text-container p{
        width: 80%;
    }

    .input-container{
        max-width: none;
        width: 300px;
    }
}