/* styles.css */

/* ... (existing CSS) ... */
:root {
    --c1: #335765;
    --c2: #74A8A4;
    --c3: #B6D9E0;
    --dark-bg: #0e1518;
    --dark-surface: #1b272c;
    --primary-text: #FFFFFF;
    --secondary-text: #B0B0CC;
    --accent-orange: #FF7B00;
    --accent-green: #4CAF50;
    --dbor: 8px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    transition: all 0.5s ease-in-out;
}

body {
    font-family: 'Poppins', Arial, sans-serif;
    background-color: var(--dark-bg);
    color: var(--primary-text);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    /* background: linear-gradient(135deg, var(--c1), var(--dark-bg)); */

    overflow-y: auto; /* Allow vertical scrolling when content overflows */
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

#box {
    width: 100%;
    height: 100%;
}

/* Animated Splash Screen Styles */
#animatedHeader {
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: bold;
    background-color: var(--dark-bg);
    position: fixed;
    top: 0;
    left: 0;
    transition: all 1.2s cubic-bezier(0.77, 0, 0.175, 1); /* Smooth cubic-bezier transition */
    z-index: 1000;
}

.splash-logo {
    display: flex;
    align-items: center;
    gap: 15px;
}

.splash-logo img {
    width: 60px; /* Adjust size as needed */
    height: auto;
}

#animatedHeader.moveUp {
    height: 0; /* Animate height to 0 to slide up */
    opacity: 0;
}

#animatedHeader.fadeOut {
    opacity: 0;
    pointer-events: none; /* Disable interaction after fade out */
}

/* Main content container */
.main-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 20px;
    opacity: 0; /* Initially hidden */
    animation: fadeIn 1s forwards;
    animation-delay: 1.2s; /* Start after splash screen */
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/* Card layout for the main content */
.card {
    background-color: var(--dark-surface);
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 450px;
    text-align: center;
    /* border: 1px solid rgba(255, 255, 255, 0.1); */
}

header {
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.logo-main {
    width: 90px;
}

.head-logo h1 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-text);
}

.head-logo p {
    font-size: 1rem;
    color: var(--secondary-text);
    margin-top: 5px;
}

.main .container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 20px;

}

/* Modern Button Styles */
.btn {
    text-decoration: none;
    color: var(--primary-text);
    padding: 15px 20px;
    border-radius: var(--dbor);
    font-weight: 600;
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.btn-primary {
    background: linear-gradient(45deg, #57C785, var(--accent-green));
}

.btn-secondary {
    background: linear-gradient(45deg, #57C785, var(--accent-green));
}

.btn-tertiary {
    background-color: transparent;
    border: 2px solid var(--accent-green);
}


/* ... (existing styles) ... */

/* Main content area adjustment for smaller screens */
.main {
    width: 100%; /* Ensure main takes full width */
    padding: 10px; /* Add some padding to the main content area */
    box-sizing: border-box; /* Include padding in the element's total width and height */
    display: flex; /* Use flexbox for centering content vertically and horizontally */
    align-items: center; /* Center items vertically */
    justify-content: center; /* Center items horizontally */
    min-height: calc(100vh - 80px); /* Adjust min-height to account for potential fixed headers/footers or simply ensure it takes up most of the viewport while allowing scroll if content is long. The 80px is an example, adjust as needed. */

}

/* Card layout for the main content */
.card {
    /* ... (existing styles) ... */
    margin-top: 20px; /* Keep some margin from the top */
    margin-bottom: 20px; /* Add margin at the bottom for spacing */
    box-sizing: border-box; /* Crucial for responsive padding */
}

/* Responsive Design */
@media screen and (max-width: 600px) { /* Changed breakpoint to 600px for broader mobile coverage */
    .card {

        border-radius: 15px; /* Slightly reduce border-radius for compact look */
        max-width: 95%; /* Allow the card to take up almost full width with some margin */
        width: auto; /* Let width adjust based on max-width and padding */

    }

    .login-heading {
        font-size: 1.5rem; /* Adjust heading font size */
    }

    .head-logo h1 {
        font-size: 1.6rem; /* Adjust header logo font size */
    }

    .input-block label {
        font-size: 0.9rem; /* Smaller label font size */
    }

    .input-container input {
        padding: 12px 10px; /* Adjust input padding */
        font-size: 0.9rem; /* Adjust input font size */
    }

    .submit-btn {
        padding: 12px 15px; /* Adjust button padding */
        font-size: 1rem; /* Adjust button font size */
    }

    .register-link, #feedback {
        font-size: 0.9rem; /* Adjust link and feedback font size */
    }

    /* Ensure the animated header handles vertical space gracefully */
    #animatedHeader.moveUp {
        height: 0;
        opacity: 0;
        /* Ensure it doesn't push content down after animation */
        position: absolute; /* Change to absolute to take it out of document flow */
    }
}

@media screen and (max-width: 400px) { /* Even smaller screens */


    .login-heading {
        font-size: 1.3rem;
    }
}
