/* style.css */

/* Basic body styling */
body {
    font-family: 'Inter', sans-serif; /* Using Inter font as per instructions */
    margin: 0;
    padding: 0;
    background-color: #f4f4f4; /* Light gray background */
    display: flex;
    justify-content: center; /* This now centers content vertically */
    align-items: center; /* CHANGE THIS: This will center content horizontally */
    min-height: 100vh; /* Minimum height of the viewport */
    box-sizing: border-box;
    padding-top: 20px; /* Space from the top of the viewport */
    flex-direction: column; /* Stacks children vertically */
}

/* Container for the invite card and the new confirmation section */
.container {
    width: 90%; /* Take 90% of the viewport width */
    max-width: 600px; /* Maximum width to prevent it from getting too wide on large screens */
    background-color: #fff; /* White background for the container */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    border-radius: 12px; /* More rounded corners for a modern look */
    overflow: hidden; /* Ensures the image respects the border-radius */
    text-align: center; /* Center text content */
    margin-bottom: 20px; /* Optional: Add some space between containers */
}

/* Wrapper for the invite card image and the invitee name display */
.invite-card-wrapper {
    position: relative; /* Essential for positioning the absolute name display inside it */
    width: 100%;
    /* No explicit height, will adapt to image height */
}

/* Styling for the invite card image itself */
.invite-card-wrapper img {
    width: 100%; /* Image takes full width of its container */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Remove any extra space below the image */
    border-radius: 12px 12px 0 0; /* Rounded top corners, sharp bottom corners */
}

/* --- Invitee Name Display Styles --- */
#invitee-name-display {
 /*   position: absolute; /* Positioned relative to .invite-card-wrapper */
 /*   top: 0px; /* Adjust this value to move it closer/further from the top edge */
/*    left: 50%; /* Center horizontally */
/*    transform: translateX(-50%); /* Adjust for element's own width */
/*    width: 90%; /* Take up most of the width for longer names */
    text-align: center;
    z-index: 20; /* Ensure it's above the image */
    pointer-events: none; /* Allow clicks to pass through to the image if needed */
}

#invitee-name-display h2 {
    color: #4D4D3E; /* White color for contrast against image */
    font-size: 2.2em; /* Slightly larger for prominence */
    font-weight: bold;
/*    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* Text shadow for readability */
    margin: 0; /* Remove default margin */
    padding: 5px 10px; /* Small padding for background if needed */
    /* background-color: rgba(0,0,0,0.3); /* Optional: subtle background for text */
    border-radius: 5px;
}

/* Responsive adjustment for invitee name on smaller screens */
@media (max-width: 480px) { /* For mobile phones */
    #invitee-name-display h2 {
        font-size: 0.9em; /* Reduced font size for smaller screens */
        white-space: nowrap; /* Prevent text from wrapping */
        overflow: hidden; /* Hide overflowing text */
        text-overflow: ellipsis; /* Add ellipsis for truncated text */
    }
}


/* --- Confirmation Section Styles --- */
.confirmation-section {
    background-color: #fff; /* Solid white background for content readability */
/* padding: 25px; /* Reduced padding for a smaller box */
    border-radius: 0 0 12px 12px; /* Rounded bottom corners to match container */
    text-align: center;
/* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); /* Subtle shadow for separation */
    margin-top: -1px; /* Overlap slightly with image border for seamless look */
}

.confirmation-section p {
    color: #666;
    margin-bottom: 25px;
    font-size: 1.1em;
    line-height: 1.5;
}

/* Container for the confirmation buttons */
.confirmation-buttons {
    display: flex; /* Always visible and flex layout */
    flex-direction: column; /* Stack buttons vertically by default (for mobile) */
    gap: 15px; /* Space between buttons */
    margin-top: 20px;
	align-items: center;
}

/* Styling for the confirmation buttons */
.btn {
    background-color: #007bff; /* Default blue for buttons */
    color: white;
    padding: 12px 20px; /* Reduced padding for smaller buttons */
    border: none;
    border-radius: 8px; /* Rounded corners for buttons */
    cursor: pointer; /* Default cursor for clickable buttons */
    font-size: 1.1em;
    font-weight: bold;
    transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
    width: 80%; /* Full width buttons on mobile */
    box-sizing: border-box;
    display: flex; /* Use flex to center text if needed */
    justify-content: center;
    align-items: center;
	text-align: center;
}

.btn:hover:not(.selected):not(:disabled) { /* Hover effect only if not selected AND not disabled */
    background-color: #0056b3;
    transform: translateY(-3px); /* Slight lift effect on hover */
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

/* Specific button styles for "Yes, I will attend" */
.btn[data-status="1"] {
    background-color: #28a745; /* Green for attending */
}

.btn[data-status="1"]:hover:not(.selected):not(:disabled) {
    background-color: #218838;
}

/* Specific button styles for "No, I cannot attend" */
.btn[data-status="0"] {
    background-color: #dc3545; /* Red for not attending */
}

.btn[data-status="0"]:hover:not(.selected):not(:disabled) {
    background-color: #c82333;
}

/* Style for the selected button */
.btn.selected {
    background-color: #28a745; /* Green background for "Yes" selected */
    color: white;
    box-shadow: 0 0 0 4px rgba(40, 167, 69, 0.5), 0 2px 5px rgba(0, 0, 0, 0.2); /* Green glow and subtle shadow */
    border: 2px solid #1e7e34;
    cursor: default; /* No pointer for already selected */
    transform: none; /* No hover effect on selected */
    opacity: 0.9; /* Slightly dim it to indicate it's fixed */
}

/* If "No" was selected, make it look selected with red */
.btn[data-status="0"].selected {
    background-color: #dc3545; /* Red background for "No" selected */
    box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.5), 0 2px 5px rgba(0, 0, 0, 0.2); /* Red glow */
    border: 2px solid #bd2130;
}

/* Style for disabled buttons */
.btn:disabled {
    opacity: 0.7; /* Slightly dim disabled buttons */
    cursor: default; /* Default cursor for disabled buttons */
}


/* Styling for the confirmation message below buttons */
.message {
    margin-top: 25px; /* Added margin to separate it from the invite card */
    padding: 15px; /* Added padding for better readability */
    font-size: 1.1em;
    color: #333;
    font-weight: bold;
    text-align: center; /* Ensure text is centered */
/*    background-color: #e9ecef; /* Light background for the message area */
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    display: block; /* Ensure it's always displayed by default */
}

/* Styling for the initial prompt message */
.prompt-message {
    /* This will be managed by JS for visibility (hidden when a choice is made) */
}

/* --- Responsive Adjustments for Larger Screens (Tablets and Desktops) --- */
@media (min-width: 600px) {
    .confirmation-buttons {
        flex-direction: row; /* Buttons side-by-side on larger screens */
        justify-content: center; /* Center buttons horizontally */
    }
    .btn {
        width: auto; /* Allow buttons to take natural width */
        min-width: 150px; /* Reduced minimum width for smaller buttons */
    }
}