@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

:root {
    --main-gradient: radial-gradient(at bottom right, 
        #50c9ff,  
        #3fb5f5, 
        #2ea1e4, 
        #1D8CCD, 
        #185c89, 
        #124c75   
    );
}

main {
    background: var(--main-gradient);
    min-height: 100vh;
    overflow-y: hidden;
}

/* Header Styles */
.header-text {
    font-size: 1.1rem;
    letter-spacing: 0.5px;
}

#currentDate {
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: rgba(255, 255, 255, 0.6);
}

#currentTime {
    font-style: normal;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    font-size: 18px;
    line-height: 28px;
}

.radio-inputs {
    position: relative;
    display: flex;
    border-radius: 0.75rem;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0.25rem;
    width: 150px;
    font-size: 1rem;
    backdrop-filter: blur(10px);
}

.radio-inputs .radio {
    flex: 1 1 auto;
    text-align: center;
}

.radio-inputs .radio input {
    display: none;
}

.radio-inputs .radio .name {
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    padding: 0.5rem 0;
    color: #cbd5e1;
    transition: all 0.3s ease;
    background-color: transparent;
}

.radio-inputs .radio input:checked + .name {
    background: #FF8A00 !important;
    color: white !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
}

@media (max-width: 768px) {
    .header-text { font-size: 0.8rem; }
    #currentTime { font-size: 1.5rem !important; }
    .radio-inputs { width: 150px; }
}

/* Main Content Styles */
.welcome {
    min-height: 45vh;
    padding: 40px 0;
}

.welcome-top i {
    padding: 15px 20px;
    border: none;
    box-shadow: 0px 0px 23px 2px rgba(106, 89, 240, 0.82);
    background-color: #6A59F0;
    font-size: clamp(1.5rem, 5vw, 2rem);
    font-weight: 900;
    border-radius: 10px;
    color: white;
    display: inline-block;
}

.welcome-top h1 {
    font-style: normal;
    font-weight: 700;
    color: white;
    font-size: clamp(30px, 7vw, 62px);
    line-height: 1.1;
    margin: 0;
}

.welcome-top p {
    font-style: normal;
    font-weight: 400;
    font-size: clamp(18px, 3vw, 24px);
    line-height: 1.4;
    color: rgba(355, 210, 254, 0.8);
    max-width: 800px;
    margin: 0 auto;
}

/* ✅ BUTTON STYLES - COMPLETE FIX */
.button {
    position: relative;
    transition: all 0.3s ease-in-out;
    height: 90px;
    padding: 25px clamp(35px, 15vw, 135px);
    background: #FF8A00;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    gap: 10px;
    font-weight: 700;
    line-height: 1;
    border: none;
    outline: none;
    overflow: hidden;
    font-size: clamp(18px, 2.5vw, 24px);
    cursor: pointer;
    margin: 0 auto;
    text-align: center;
}

/* ✅ CRITICAL FIX: Button Text Styling */
.button span {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: clamp(18px, 2.5vw, 24px) !important;
    line-height: 1 !important;
    display: inline-block;
    z-index: 10;
    position: relative;
    text-transform: none;
}

.button .icon {
    width: clamp(20px, 3vw, 24px);
    height: clamp(20px, 3vw, 24px);
    transition: all 0.3s ease-in-out;
    z-index: 10;
    position: relative;
}

.button:hover {
    transform: scale(1.05);
}

.button:hover .icon {
    transform: translate(4px);
}

.button::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 100%;
    background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%);
    top: 0;
    left: -100px;
    opacity: 0.6;
    z-index: 1;
}


.welcome-top span {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    animation: spananimation 1s infinite ease-in-out alternate;
}

@keyframes spananimation {
    from { color: rgba(165, 180, 252, 1); }
    to { color: rgba(165, 180, 252, 0.5); }
}

@media (max-width: 768px) {
    .welcome { min-height: auto; }
    .button { width: 90%; max-width: 400px; }
}

/* Cards Styles */
.bottom_cards {
    min-height: 30vh;
}

.bottom_cards .card {
    padding: 20px 15px;
    text-align: center;
    background-color: transparent;
    backdrop-filter: blur(0px);
}

.bottom_cards .card i {
    color: #FF8A00;
    font-size: 2rem;
}

.bottom_cards .card h3 {
    font-weight: 600;
    color: white;
    font-size: 16px;
    line-height: 24px;
}

.bottom_cards .card p {
    font-weight: 400;
    color: white;
    font-size: 14px;
    line-height: 20px;
}



/* <----------------------------------------------------------------------------------------------------------------------------------> */
/* <========================================================Application form start=====================================================> */
/* <----------------------------------------------------------------------------------------------------------------------------------> */


/* @import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");


        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "Inter", sans-serif;
        }

        .btn-orange {
            color: #ffffff;
            font-weight: 700;
            font-size: 18px;
            line-height: 28px;
            border: none;
            padding: 20px 76px;
            cursor: pointer;
            border-radius: 20px;
            background-color: #ff8a00;
        }

        #form-page .icon { border: none; }

        .icon strong {
            padding: 10px;
            background-color: #ff8a00;
            color: white;
            border-radius: 10px;
        }

        .top_heading h5 i {
            padding: 5px 10px;
            background-color: #2ea1e4;
            color: white;
            font-size: 1rem;
            font-weight: 900;
            border-radius: 10px;
        }

        .top_heading h5 { font-weight: 700; }

        .steps p:first-child {
            color: rgb(100, 116, 139);
            font-size: 14px;
            line-height: 20px;
            font-weight: 600;
        }

        .percent {
            color: #2ea1e4 !important;
            font-size: 14px;
            line-height: 20px;
            font-weight: 700;
        }

        .progress-container {
            width: 100%;
            background-color: #e0e0e0;
            border-radius: 25px;
            overflow: hidden;
        }

        .progress-bar {
            width: 25%;
            height: 10px;
            background: linear-gradient(90.5deg, #4facfe 0%, #00f2fe 100%);
            color: white;
            border-radius: 25px;
            transition: width 0.5s ease-in-out;
        }

        .icons {
            display: flex;
            justify-content: space-evenly;
            gap: 20px;
            margin-top: 15px;
        }

        .step-icon {
            font-size: 24px;
            color: #ccc;
            transition: all 0.3s ease-in-out;
            cursor: default;
            height: 50px;
            width: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 1.3rem;
            border-radius: 50%;
            font-weight: 900;
        }

        .step-icon.active {
            height: 50px;
            width: 50px;
            background-color: #2ea1e4;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 1.3rem;
            border-radius: 50%;
            font-weight: 900;
        }

        .step-icon.inactive { opacity: 0.4; }

        .step-icon.completed {
            height: 50px;
            width: 50px;
            background-color: #28a745;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 1.3rem;
            border-radius: 50%;
            font-weight: 900;
        }

        .main-form {
            min-height: 75vh;
            width: 100%;
        }

        .main-form h2 {
            font-weight: 700;
            font-size: 24px;
            line-height: 32px;
        }

        .main-form h2 i {
            background-color: #2ea1e4;
            color: #ffffff;
            padding: 5px 10px;
            border-radius: 10px;
        }

        .main-form p {
            font-weight: 400;
            font-size: 16px;
            color: rgb(100, 116, 139);
            line-height: 24px;
        }

        form label span { color: #ff8a00; font-weight: 700; font-size: 1rem; }
        form label { font-weight: 600; font-size: 16px; line-height: 24px; }

        form input {
            width: 50%;
            font-weight: 400;
            font-size: 18px;
            color: rgb(2, 8, 23);
            border: 1px solid #E2E8F0 !important;
            border-radius: 8px;
        }

        form input:focus {
            border: 1px solid #4facfe;
            outline: none;
        }

        ::placeholder { color: rgb(175, 169, 169) !important; }

        .form_btns { height: 20vh; }

        .cancel-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 600;
            font-size: 18px;
            line-height: 18px;
            border: 2px solid rgb(71, 85, 105);
            color: rgb(71, 85, 105);
            padding: 20px 35px;
            background-color: transparent;
            cursor: pointer;
            border-radius: 20px;
            transition: all 0.3s ease;
        }

        .cancel-button:hover { background-color: rgb(71, 85, 105); color: white; }

        .submit-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background-color: #ff8a00;
            color: #ffffff;
            font-weight: 700;
            font-size: 18px;
            line-height: 28px;
            border: none;
            padding: 20px 76px;
            cursor: pointer;
            border-radius: 20px;
            transition: all 0.3s ease;
        }

        .submit-button:hover { background-color: #e67e00; transform: translateY(-2px); }
        .submit-button:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

        .errorInput { background-color: #ffd6d6 !important; border: 1px solid red !important; }
        #errorMsg { font-size: 14px; color: red; margin-top: 5px; }

        .loader-container { display: none; text-align: center; padding: 15px; }
        .loader-container img { width: 30px; height: 30px; }

        .form-step { display: none; width: 100%; animation: fadeIn 0.5s; }
        .form-step.active { display: block; }

        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        .virtual-keyboard {
            display: none;
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #f8f9fa;
            border-top: 3px solid #2ea1e4;
            padding: 15px;
            z-index: 9999;
            box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        }

        .key-row {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-bottom: 10px;
            flex-wrap: wrap;
        }

        .key-btn {
            width: 80px;
            height: 80px;
            border: 1px solid #2ea1e4;
            background: white;
            border-radius: 8px;
            font-size: 20px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            user-select: none;
            font-weight: bold;
            transition: all 0.2s;
        }

        .key-btn:active { background-color: #2ea1e4; color: white; transform: scale(0.95); }
        .key-btn.action { background-color: #2ea1e4; color: white; width: 100px; }
        .key-btn.backspace { background-color: #dc3545; color: white; width: 100px; }

        input { height: 70px !important; }


        #idleModal .modal-content {
            border: none !important;
            border-radius: 30px !important;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }

        .modal-content i {
            padding: 15px;
            background-color: #FEF3C7;
            color: #F59E0B;
            border-radius: 50%;
            height: 80px;
            width: 80px;
            margin: 0px auto;
            font-size: 2rem;
            font-weight: 900;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .modal-header h5 { font-size: 1.5rem; font-weight: 700; }

        .reach-options { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-start; }
        .reach-option { position: relative; cursor: pointer; }
        .reach-option input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }

        .reach-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 18px;
            background: #fff;
            border: 2px solid #e9ecef;
            border-radius: 50px;
            font-size: 14px;
            font-weight: 500;
            color: #6c757d;
            transition: all 0.3s ease;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        }

        .reach-label i { font-size: 14px; transition: all 0.3s ease; }

        .reach-option input[type="radio"]:checked + .reach-label {
            background: #007bff;
            border-color: #007bff;
            color: #fff;
            box-shadow: 0 4px 15px rgba(0,123,255,0.3);
        }

        .reach-option input[type="radio"]:checked + .reach-label i { transform: scale(1.1); }

        .custom-label { color: #003366; font-size: 1.1rem; }
        .section-title { font-weight: 800; color: #003366; font-size: 1.6rem; margin-bottom: 2px; }
        .divider { margin: 40px 0; opacity: 0.1; border-top: 2px solid #000; }
        .helper-text { font-size: 0.85rem; color: #b0b0b0; margin-top: 5px; }

        .custom-input {
            border-radius: 4px;
            border: 1px solid #ced4da;
            padding: 12px 15px;
            color: #555;
            font-size: 0.95rem;
        }

        .custom-input:focus { box-shadow: none; border-color: #0d6efd; }

        .form-card { max-width: 900px; background: #fff; padding: 30px; border: 1px solid #eee; }

        .custom-check { margin-bottom: 15px; font-size: 0.85rem; color: #555; }
        .custom-check .form-check-input { margin-top: 0.3em; }

        .content-text { font-size: 0.85rem; text-align: justify; }

        .custom-list { list-style-type: disc; padding-left: 20px; font-size: 0.85rem; color: #555; }
        .custom-list li { margin-bottom: 5px; }

        .sig-tabs { border-bottom: none; }

        .sig-tab {
            border: 1px solid #dee2e6;
            background: #f8f9fa;
            padding: 5px 20px;
            font-size: 0.85rem;
            cursor: pointer;
            transition: 0.2s;
        }

        .sig-tab.active { background: #0066cc; color: white; border-color: #0066cc; }

        .sig-input-container {
            border: 1px solid #dee2e6;
            background: #fff;
            min-height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .sig-input {
            font-family: 'Cursive', 'Brush Script MT', cursive;
            font-size: 1.5rem;
            border: none !important;
            text-align: center;
            width: 100% !important;
            height: auto !important;
        }

        .sig-canvas {
            cursor: crosshair;
            width: 100%;
            height: 150px;
            touch-action: none;
        }

        #bqp-section { display: none; }

        .step-error {
            color: red;
            font-size: 14px;
            text-align: center;
            padding: 8px;
            display: none;
        }

        @media (max-width: 768px) {
            form input { width: 100% !important; }
            .submit-button { padding: 15px 50px; }
            .reach-options { flex-direction: column; gap: 8px; }
            .reach-label { width: 100%; justify-content: center; padding: 12px 20px; }
        }


        #thankYouModal .modal-content {
            border: none !important;
            border-radius: 30px !important;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }

        #thankYouModal .modal-content .modal-icon {
            background-color: #D1FAE5;
            color: #10B981;
        }


        .form-select { height: 50px !important; }


        #step3 .form-control { height: 50px !important; }

   
        #addrLoader { display: none; font-size: 13px; color: #555; margin-top: 8px; } */