/* Body Styling */

/* color codes  */
:root {
    --signi-Btn-color: #0050b1;
    --blue-color: #0035aa;
    --gray-color: #f5f5f5;
}

body {
    background-color: #fff !important;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: Arial, sans-serif;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* General Container Styling */
.container {
    max-width: 500px;
    height: 100%;
    margin: 50px auto;
    padding: 20px;
}
.signin-btn {
    background: var(--signin-Btn-color) !important;
}

.login-logo img {
    width: 350px;
    height: auto;
}

.login-logo-footer img {
    width: 200px;
    height: auto;
}
/* Form Container */
.login-container,
.signup-container,
.otp-container,
.forget-container {
    width: 100%;
    padding: 50px 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Form Styling */
.login-form,
.signup-form,
.otp-form,
.forget-form {
    background-color: #ffffff;
    padding: 30px;
    position: relative;
    z-index: 1111;
    border-radius: 8px;
    /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
    width: clamp(300px, 40vw, 650px);
    padding: 40px 110px;
}

/* Form Title */
.login-form h2,
.signup-form h2,
.otp-form h2,
.forget-form h2 {
    text-align: center;
    margin-bottom: 20px;
}

/* Form Field Styling */
.form-control,
.otp-input {
    margin-bottom: 15px;
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 0px !important;
    font-size: 16px;
}

/* Focused Input Field */
.form-control:focus,
.otp-input:focus {
    border-color: #007bff;
    outline: none;
}

.btn-login {
    background-color: var(--blue-color) !important;
    border-radius: 30px !important;
    font-size: 14px !important;
    padding: 10px 50px !important;
}

.login-form input {
    background-color: var(--gray-color) !important;
    border: none !important;
    border-bottom: 1px solid var(--blue-color) !important;
    color: #111;
}

.login-form input:focus {
    background-color: var(--gray-color) !important;
    outline: none !important;
    box-shadow: none !important; /* removes blue glow */
    border-color: var(--blue-color); /* optional */
}

.login-form input:-webkit-autofill,
.login-form input:-webkit-autofill:hover,
.login-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: #111;
    -webkit-box-shadow: 0 0 0px 1000px #f5f5f5 inset !important; /* force bg */
    box-shadow: 0 0 0px 1000px #f5f5f5 inset !important;
    transition: background-color 9999s ease-in-out 0s;
}
/* Button Styling */
.btn-custom {
    width: 100%;
    padding: 10px;
    background-color: var(--signi-Btn-color) !important;
    color: white !important;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}

.btn-custom:hover {
    background-color: #0056b3;
}

/* Link Styling */
a {
    color: #007bff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Alert Styling */
.alert {
    /* display: none; */
    padding: 7px;
    background-color: #f8d7da;
    color: #721c24;
    border-radius: 6px;
    /* margin-bottom: 15px; */
}

/* Input Group for OTP */
.otp-input-group {
    display: flex;
    justify-content: center;
    gap: 10px;
}

/* OTP Input Styling */
.otp-input {
    width: 40px;
    height: 50px;
    text-align: center;
    font-size: 18px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.otp-input:focus {
    border-color: #007bff;
    outline: none;
}

.eye-icon,
.eye-slash-icon {
    width: 28px;
    top: 52%;
    right: 3%;
}

.eye-slash-icon {
    margin-top: 5px;
}

@media (max-width: 1399.98px) {
    .login-form,
    .signup-form,
    .otp-form,
    .forget-form {
        padding: 40px 60px;
    }
}

@media (max-width: 1199.98px) {
    .login-form,
    .signup-form,
    .otp-form,
    .forget-form {
        padding: 40px 40px;
    }
}
@media (max-width: 575.98px) {
    .login-form,
    .signup-form,
    .otp-form,
    .forget-form {
        padding: 40px 30px;
    }
}

@media (max-width: 575.98px) {
    .footer-text {
        font-size: 12px;
    }

    .eye-icon,
    .eye-slash-icon {
        width: 24px;
        top: 54%;
        right: 2%;
    }

    .eye-slash-icon {
        margin-top: 2px;
    }
}

/* Responsive Design */
@media (max-width: 480px) {
    .container {
        padding: 10px;
    }

    .login-container,
    .signup-container,
    .otp-container,
    .forget-container {
        padding: 30px 10px;
    }

    .otp-input-group {
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .otp-input {
        width: 35px;
        height: 45px;
        font-size: 16px;
    }
}
