* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif; /* A more modern font */
}

body{
    min-height:100vh;
    background:#7f00ff;
    background:linear-gradient(to right,#e100ff,#7f00ff);
    overflow-x:hidden;
}

.main-container{
    width:min(1200px,95%);
    margin:30px auto 60px;
    padding:35px;
    background:rgba(255,255,255,.95);
    border-radius:20px;
    box-shadow:0 8px 32px rgba(31,38,135,.25);
}

.navbar-brand {
    font-size: 28px;
    font-weight: 700;
    color: #333 !important;
}

html{
    scroll-behavior:smooth;
}

.navbar{
    padding:15px 0;
}

.navbar-brand{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:30px;
    font-weight:700;
    color:#4b0082 !important;
}

.navbar-brand i{
    color:#7f00ff;
}

.navbar .nav-link:not(.btn){
    position:relative;
    transition:.3s;
}

.navbar .nav-link:not(.btn)::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:#7f00ff;
    transition:.3s;
}

.navbar .nav-link:not(.btn):hover::after{
    width:100%;
}

.navbar .nav-link:not(.btn):hover{
    color:#7f00ff !important;
}

.navbar .nav-link {
    font-weight: 500;
    color: #333 !important;
    margin: 0 5px;
}

.navbar .btn {
    background-color: #7f00ff !important;
    color: #fff !important;
    border-radius: 20px;
    padding:8px 22px;
    border-radius:30px;
    font-weight: 500;
    border: none;
    transition: background-color 0.3s ease;
}

.navbar .btn:hover {
    background-color: #6a00d9 !important;
}

.form-wrapper {
    width: 100%;
    /* UPDATED: Darker, more opaque background for better contrast */
    background: rgba(45, 23, 79, 0.85); 
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:0 15px 40px rgba(0,0,0,.18);
    color: #fff;
    border-radius: 18px;
    padding: 30px 40px;
}

.form-wrapper h1 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 25px;
    color: #fff;
    font-weight: 600;
}

.input-box {
    position: relative;
    width: 100%;
    min-height: 50px;
    margin: 25px 0;
}

.input-box input, .input-box textarea {
    width: 100%;
    height: 100%;
    background: transparent;
    border: none;
    outline: none;
    border: 2px solid rgba(255, 255, 255, 0.4); /* Brighter border */
    border-radius: 40px;
    font-size: 16px;
    color: #ffffff; /* Solid white text */
    padding: 12px 20px 12px 45px;
    transition: border-color 0.3s ease;
}

.input-box input:focus, .input-box textarea:focus {
    border-color: rgba(255, 255, 255, 0.8);
}


.input-box textarea {
    border-radius: 20px;
    padding-top: 12px;
    min-height: 80px;
    resize: none;
}

.input-box input::placeholder, .input-box textarea::placeholder {
    color: #d1d1d1; /* Lighter placeholder text for contrast */
}

.input-box i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: #d1d1d1; /* Icon color to match placeholder */
}

.input-box textarea + i {
    top: 20px;
}

.form-btn {
    background: #fff !important;
    color: #333 !important;
    font-weight: 600 !important;
    border-radius: 40px !important;
    box-shadow: none !important;
    height: 45px;
    font-size: 16px !important;
    border: none !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.form-btn:hover {
    background: #f0f0f0 !important;
}

/* Form Toggling Logic */
.login-box, .signup-box {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.login-box.active, .signup-box.active {
    display: block;
    opacity: 1;
}

/* NEW: Styling for the navigation link */
.user-link {
    font-size: 14.5px;
    text-align: center;
    margin-top: 20px;
    color: #e0e0e0;
}

.user-link a {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.user-link a:hover {
    text-decoration: underline;
}
/* ---------------- HERO SECTION ---------------- */

.hero-section{

    padding:40px 20px;

}

.hero-image{

    max-width:320px;
    width:100%;
    animation: floatImage 4s ease-in-out infinite;

}

.hero-title{

    font-size:38px;
    font-weight:700;
    color:#4b0082;
    margin-top:20px;

}

.hero-text{

    color:#555;
    font-size:17px;
    line-height:1.8;
    margin:20px auto;
    max-width:500px;

}

.hero-features{

    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
    margin-top:25px;

}

.hero-features span{

    background:#7f00ff;
    color:white;
    padding:10px 18px;
    border-radius:30px;
    font-size:15px;
    transition:.3s;

}

.hero-features span:hover{

    transform:translateY(-3px);
    background:#6200cc;

}

.hero-features i{

    margin-right:6px;

}

@keyframes floatImage{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

/* ================= FEATURES ================= */

.features-section{

    background:white;

    padding:80px 0;

}

.section-title{

    font-size:38px;
    font-weight:700;
    color:#4b0082;

}

.section-subtitle{

    color:#666;
    max-width:650px;
    margin:auto;
    font-size:17px;

}

.feature-card{

    background:white;

    border-radius:20px;

    padding:45px 30px;

    text-align:center;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.feature-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 50px rgba(127,0,255,.18);

}

.feature-card i{

    font-size:45px;

    color:#7f00ff;

    margin-bottom:20px;

}

.feature-card h4{

    font-size:22px;

    font-weight:600;

    margin-bottom:15px;

}

.feature-card p{

    color:#666;

    line-height:1.7;

}

.row.align-items-center{
    margin-top:30px;
    min-height:550px;
}

@media (max-width:991px){

    .row.align-items-center{

        flex-direction:column-reverse;
        gap:40px;

    }

}

@media (max-width:991px){

.navbar-nav{

    text-align:center;
    gap:10px;
    padding-top:20px;

}

.navbar .btn{

    width:180px;
    margin:auto;

}

.hero-title{

    font-size:46px;
    font-weight:700;
    line-height:1.2;
    color:#4b0082;
    margin-top:20px;

}

.hero-text{

    font-size:clamp(15px,2vw,18px);

}
}

@media (max-width:768px){

.form-wrapper{

    padding:25px;

}

}
@media (max-width:576px){

body{

    padding:10px;

}

.main-container{

    padding:18px;

}

}

@media(max-width:991px){

.hero-section{

margin-top:40px;

}

.hero-image{

    width:100%;
    max-width:430px;
    animation:floatImage 4s ease-in-out infinite;

}
}

/* ================= HOW IT WORKS ================= */

.how-section{

    padding:90px 0;

    background:#f8f9fc;

}

.step-card{

    position:relative;

    background:white;

    border-radius:20px;

    padding:40px 25px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

    height:100%;

}

.step-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(127,0,255,.18);

}

.step-number{

    position:absolute;

    top:-18px;

    left:50%;

    transform:translateX(-50%);

    width:38px;

    height:38px;

    border-radius:50%;

    background:#7f00ff;

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:700;

}

.step-card i{

    font-size:45px;

    color:#7f00ff;

    margin:20px 0;

}

.step-card h4{

    font-size:22px;

    font-weight:600;

    margin-bottom:15px;

}

.step-card p{

    color:#666;

    line-height:1.7;

}

/* ================= CONTACT ================= */

.contact-section{

    padding:90px 0;
    background:white;

}

.contact-card{

    background:#fff;
    border-radius:20px;
    padding:40px 25px;
    text-align:center;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.3s;
    height:100%;

}

.contact-card:hover{

    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(127,0,255,.18);

}

.contact-card i{

    font-size:42px;
    color:#7f00ff;
    margin-bottom:18px;

}

.contact-card h5{

    font-weight:600;
    margin-bottom:10px;

}

.contact-card p{

    color:#666;

}

/* ================= FOOTER ================= */

.footer{

    background:#2d174f;
    color:white;
    padding:50px 0;

}

.footer h4{

    font-weight:700;
    margin-bottom:15px;

}

.footer p{

    color:#ddd;

}

.footer-icons{

    margin:25px 0;

}

.footer-icons a{

    color:white;
    font-size:24px;
    margin:0 12px;
    transition:.3s;

}

.footer-icons a:hover{

    color:#e100ff;

}

.copyright{

    margin-top:20px;
    font-size:14px;

}

section{
    scroll-margin-top:90px;
}