/* Apply to everything */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

/* Center everything */
/* Apply gradient background */
body {
    background: linear-gradient(to left, #69d4eb, #80c8f2);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}


/* Form container */
form {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: white;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 330px;
}

/* Form group spacing */
.form-group {
    margin-bottom: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Dropdown styling */
select {
    width: 100%;
    padding: 10px;
    font-size: 16px;
}

/* Checkbox group (2-column layout) */
/* Checkbox group (2-column layout) */
.checkbox-group {
    display: flex;
    justify-content: center;
    gap: 70px; /* Space between columns */
    width: 100%;
    margin: 0 auto;
    padding: 10px;
}

/* Wrap checkboxes in separate columns */
.checkbox-column {
    display: flex;
    flex-direction: column;
    gap: 8px; /* Space between checkboxes */
    align-items: flex-start; /* Ensure checkboxes and labels are aligned left */
}


/* Make checkboxes responsive */
@media (max-width: 330px) {
    .checkbox-group {
        grid-template-columns: 1fr; /* Switch to single column on very small screens */
    }
}

/* Button Styling */
button {
    --primary-color: #645bee;
    --secondary-color: #fff;
    --hover-color: #69d4eb;
    --arrow-width: 10px;
    --arrow-stroke: 2px;
    
    border: none;
    border-radius: 20px;
    color: var(--secondary-color);
    padding: 1em 1.8em;
    background: var(--primary-color);
    display: flex;
    align-items: center;
    gap: 0.6em;
    font-weight: bold;
    transition: background 0.3s ease-in-out;
    cursor: pointer;
}

/* Arrow Wrapper */
button .arrow-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Arrow */
button .arrow {
    display: flex;
    width: var(--arrow-width);
    background: var(--primary-color);
    height: var(--arrow-stroke);
    position: relative;
    transition: background 0.3s;
}

/* Arrow Tail */
button .arrow::before {
    content: "";
    position: absolute;
    border: solid var(--secondary-color);
    border-width: 0 var(--arrow-stroke) var(--arrow-stroke) 0;
    display: inline-block;
    top: -3px;
    right: 3px;
    transition: 0.3s;
    padding: 3px;
    transform: rotate(-45deg);
}

/* Hover Effects */
button:hover {
    background-color: var(--hover-color);
}

button:hover .arrow {
    background: var(--secondary-color);
}

button:hover .arrow::before {
    right: 0;
}
/* Smoothly reveal results one by one */
/* Container for results (fixed height to prevent jumping) */
#result {
    width: 100%;
    max-width: 330px;
    height: 250px;  /* Fixed height to prevent page jump */
    overflow-y: auto;  /* Enable scrolling if needed */
    border: 4px solid #ddd;
    border-radius: 10px;
    background: white;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

/* Smoothly reveal results one by one */
.fade-in {
    opacity: 0;
    transform: translateY(10px);
    animation: fadeInEffect 0.5s ease-in-out forwards;
}

/* Delay each result for a staggered effect */
@keyframes fadeInEffect {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Room Usage Section */
/* Room Usage Section */
#roomUsage {
    width: 100%;
    max-width: 80px;
    min-height: 50px;  /* Prevents initial shrinking */
    margin-top: 10px;
    padding: 10px;
    border: 4px solid #ddd;
    background: white;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    text-align: left;
    
    /* Smooth expansion */
    transition: max-width 0.5s ease-in-out, max-height 0.5s ease-in-out, opacity 0.5s ease-in-out;
    overflow: hidden;  /* Prevents sudden jumps */
}

/* Expanding animation */
.expanded {
    max-width: 380px !important;  
    max-height: 550px !important; 
    transition: max-width 0.5s ease-in-out, max-height 0.5s ease-in-out, opacity 0.5s ease-in-out;
}


/* Smooth fade-in effect */
.fade-in {
    opacity: 0;
    animation: fadeInEffect 0.5s ease-in-out forwards;
}

/* Smooth fade-out effect */
.fade-out {
    opacity: 1;
    animation: fadeOutEffect 0.5s ease-in-out forwards;
}

/* Keyframes for fade-in */
@keyframes fadeInEffect {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Keyframes for fade-out */
@keyframes fadeOutEffect {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

/* Make room results clickable */
#result li {
    cursor: pointer;
    transition: background 0.2s ease-in-out;
    padding: 10px 0;  /* Adds spacing between lines */
    line-height: 0.4; /* Increases the spacing between lines */
}


#result li:hover {
    background-color: #f0f0f0; /* Light gray hover effect */
}
