/* General Body Styling */
body {
    margin: 0;
    background-color: #091313; /* Softer blackish background */
    color: #e6d000; /* Softer yellow for text */
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; /* Important for positioning falling flowers */
}

/* Password Modal Styling */
#password-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
}

#password-container {
    background-color: #2d3f3e;
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    max-width: 400px;
    width: 90%;
}

#password-input {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: none;
    border-radius: 5px;
    font-size: 1em;
}

#password-submit {
    background-color: #be7c56;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#password-submit:hover {
    background-color: #a66a4a;
}

#password-error {
    color: #ff4444;
    margin-top: 10px;
}

/* Container Styling with sliding and fading effect */
.container {
    text-align: center;
    padding: 20px;
    max-width: 800px; /* Restrict container width */
    width: 100%;
    
    border-radius: 10px;
    color: #c7bf76; /* Softer yellow text inside container */
    padding-bottom: 30px;
    opacity: 0; /* Start hidden */
    transform: translateY(-100px); /* Start off the screen (above) */
    animation: slideIn 1.5s ease-out forwards; /* Animation to slide and fade */
}

/* Slide and Fade Animation */
@keyframes slideIn {
    0% {
        opacity: 0;
        transform: translateY(-50px); /* Start off-screen above */
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* End at its normal position */
    }
}

/* Headings Styling */
h1 {
    margin-bottom: 10px;
    color: #c7bf76; /* Softer yellow for headings */
    font-size: 2.5em; /* Larger heading size for emphasis */
    font-weight: 600; /* Slightly bold for emphasis */
}

/* Paragraphs Styling */
p {
    margin-bottom: 50px;
    max-width: 70%; /* Restrict text width to match image */
    margin-left: auto; /* Center the text horizontally */
    margin-right: auto; /* Center the text horizontally */
    font-size: 1.6em; /* Larger, readable font size */
    line-height: 1.6; /* Add spacing for readability */
    font-weight: 400; /* Normal weight */
}

/* Image Styling */
#image {
    max-width: 70%; /* Match image width to paragraph width */
    height: auto; /* Maintain aspect ratio */
    object-fit: contain; /* Ensure the entire image fits within the container */
    transition: opacity 0.5s ease-in-out; /* Smooth transition */
    margin-top: 50px;
    margin-bottom: 20px; /* Add some space below the image */
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Fade-out Class for Image Transition */
.fade-out {
    opacity: 0; /* Make the image fade out */
    transition: opacity 0.5s ease-in-out; /* Smooth transition */
}

/* Fade-in Class for Image Transition */
.fade-in {
    opacity: 1; /* Make the image fade in */
    transition: opacity 0.5s ease-in-out; /* Smooth transition */
}

/* Button Styling */
#switch-btn {
    background-color: #2d3f3e; /* Primary button color (green) */
    color: #be7c56; /* Text color (white) */
    padding: 10px 17px; /* Balanced padding */
    border: none; /* No border */
    border-radius: 10px; /* Rounded corners */
    cursor: pointer; /* Pointer cursor for hover */
    font-size: 0.9em; /* Slightly larger font size */
    font-weight: bold; /* Bold text for emphasis */
    margin-top: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    transition: background-color 0.3s ease, transform 0.4s ease;
}

/* Button Hover Effect */
#switch-btn:hover {
    background-color: #20302d; /* Darker shade of green on hover */
    transform: scale(1.05); /* Slightly enlarge the button */
}

/* Button Active/Clicked State */
#switch-btn:active {
    background-color: #367836; /* Even darker green for active state */
    transform: scale(0.98); /* Slightly shrink button on click */
}

/* Falling Flowers Animation */
.falling-flower {
    position: absolute;
    z-index: 9999;
    pointer-events: none; /* Prevent interaction with the falling flower */
    width: 20px; /* Adjust to your desired size */
    height: 20px; /* Adjust to your desired size */
    animation: fallFlower 5s ease-in-out forwards; /* Longer fall duration */
    opacity: 1;
    display: block;
}

/* Flower Animation (falling and fading) */
@keyframes fallFlower {
    0% {
        transform: translateY(0) rotate(0deg); /* Start from cursor */
        opacity: 1;
    }
    100% {
        transform: translateY(100vh) rotate(360deg); /* Fall down and rotate */
        opacity: 0; /* Fade out */
    }
}

/* Adjust frequency for flower spawn rate */
@keyframes randomFall {
    0% {
        opacity: 1;
        transform: translateY(0) rotate(0deg);
    }
    100% {
        opacity: 0;
        transform: translateY(400vh); /* Make the flower fall off the screen */
    }
}

/* Flower appearance sparse (adjusting frequency) */
body {
    overflow-y: auto; /* Allow vertical scrolling */
    position: relative; /* Keep the relative positioning for falling elements */
}

/* General Styles for the Flower Image */
.falling-flower img {
    width: 15px; /* Small flower size */
    height: auto;
    object-fit: contain;
    position: absolute;
    z-index: 9999;
    pointer-events: none;
}