/* Background gradient (Cosmic Spiritual Space Theme) */
body {
    font-family: 'Poppins', sans-serif;
    background: linear-gradient(135deg, 
        #0d0d2b,   /* deep space black-blue */
        #1a1a40,   /* indigo */
        #662d91,   /* spiritual purple */
        #0f2027    /* deep dark cosmic */
    );
    background-size: 600% 600%;
    animation: gradientBG 18s ease infinite;
    height: 100vh;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Smooth gradient animation */
@keyframes gradientBG {
    0% {background-position: 0% 50%;}
    50% {background-position: 100% 50%;}
    100% {background-position: 0% 50%;}
}

/* Centered card */
.form-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
}

.form-box {
    background: rgba(20, 10, 40, 0.92); /* deep cosmic glass */
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.4); /* golden glow */
    width: 100%;
    max-width: 400px; /* responsive instead of fixed */
    text-align: center;
}

/* Title */
.title {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #ffffff; /* golden spiritual */
    text-shadow: 0 0 10px #ffffff; /* orange glow */
}

/* Inputs */
input {
    width: 100%;
    padding: 12px 15px;
    margin: 10px 0;
    border: 1px solid #444;
    border-radius: 10px;
    outline: none;
    font-size: 16px;
    background: #1a1a2e;
    color: #f5e9d3; /* soft warm text */
    box-sizing: border-box;
}

input:focus {
    border-color: #ffffff;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.7);
}

/* Button */
button {
    width: 100%;
    background: linear-gradient(45deg, #009dff, #7700ff, #662d91);
    color: white;
    border: none;
    padding: 12px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: bold;
    margin-top: 10px;
    font-size: 16px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

button:hover {
    transform: scale(1.05);
    box-shadow: 0 0 22px rgba(255, 255, 255, 0.6);
}

/* Links and Messages */
p {
    margin-top: 15px;
    font-size: 14px;
    color: #ddd;
}

a {
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
}

a:hover {
    text-decoration: underline;
}

/* Error and Success messages */
.error-message {
    color: #ff4d4d;
    font-size: 14px;
    margin-bottom: 15px;
}

.success-message {
    color: #99ff99;
    font-size: 14px;
    margin-bottom: 15px;
}

/* -----------------
   RESPONSIVE DESIGN
------------------- */

/* Small screens (phones) */
@media (max-width: 480px) {
    .form-box {
        padding: 20px;
        border-radius: 15px;
    }
    .title {
        font-size: 22px;
    }
    input, button {
        font-size: 14px;
        padding: 10px;
    }
    p {
        font-size: 12px;
    }
}

/* Tablets */
@media (max-width: 768px) {
    .form-box {
        padding: 25px;
        max-width: 350px;
    }
    .title {
        font-size: 24px;
    }
}

/* Large desktop */
@media (min-width: 1200px) {
    .form-box {
        max-width: 420px;
    }
}
