/* Reset Styles */
* {
    margin: 0; /* Remove default margin */
    padding: 0; /* Remove default padding */
    box-sizing: border-box; /* Consistent sizing */
}

/* Body Styles */
body {
    font-family: Arial, sans-serif; /* Font style */
    color: #333; /* Text color */
    background-color: #e2e2e2; /* Background color */
    line-height: 1.6; /* Line spacing */
}

/* Navbar */
nav {
    background-color: #333; /* Background color */
    color: #fff; /* Text color */
    padding: 1em 2em; /* Spacing */
    display: flex; /* Flex layout */
    align-items: center; /* Center items vertically */
    justify-content: space-between; /* Spread items horizontally */
    flex-wrap: wrap; /* Wrap items for smaller screens */
}

/* Logo */
nav .logo img {
    height: 50px; /* Set height */
    width: 50px; /* Set width */
    border-radius: 50%; /* Circle shape */
    object-fit: cover; /* Fill circle */
}

/* Navbar Links */
nav ul {
    list-style: none; /* Remove bullets */
    display: flex; /* Flex layout */
    gap: 1em; /* Space between items */
    flex-wrap: wrap; /* Wrap for smaller screens */
    padding-left: 0; /* Remove padding */
    margin: 0; /* Remove margin */
}

nav ul li a {
    color: #fff; /* Text color */
    text-decoration: none; /* Remove underline */
    padding: 0.5em; /* Padding */
    transition: color 0.3s; /* Smooth hover effect */
}

nav ul li a:hover {
    color: #D61D00; /* Hover color */
}

/* Banner */
.cover {
    position: relative;
    text-align: center;
    color: white;
    width: 100%; /* Ensure it takes full width */
}

.cover-image {
    width: 100%; /* Full width of the container */
    height: auto; /* Maintain aspect ratio of the image */
    max-height: 400px; /* Optional: limit max height */
    object-fit: cover; /* Ensure it covers the container without distortion */
}

.cover-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2em;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.5);
    padding: 0.5em 1em;
    width: 90%;
    max-width: 90%; /* Ensure the text doesn't overflow */
}

/* Responsive adjustments for small screens */
@media (max-width: 768px) {
    .cover-image {
        height: 300px; /* Adjust height for smaller screens */
    }

    .cover-text {
        font-size: 1.5em;
        padding: 1em;
    }

    nav {
        flex-direction: column; /* Stack navbar items */
    }

    nav ul {
        flex-direction: column; /* Stack nav links */
        gap: 0.5em; /* Smaller gap */
    }

    #booking-form {
        padding: 1em; /* Reduce padding */
    }
}

@media (max-width: 480px) {
    .cover-text {
        font-size: 1.2em; /* Adjust font size */
        padding: 0.5em; /* Reduce padding */
    }

    #booking-form {
        max-width: 100%; /* Full width */
    }

    h2 {
        font-size: 1.5em; /* Adjust heading size */
    }
}

/* Section Styling */
section {
    padding: 2em; /* Section spacing */
    max-width: 800px; /* Width limit */
    margin: auto; /* Center align */
}

h2 {
    font-size: 1.8em; /* Font size */
    color: #333; /* Color */
    margin-bottom: 0.5em; /* Space below */
    border-bottom: 2px solid #008AC2; /* Bottom border */
}

h3 {
    font-size: 1.2em; /* Subheading size */
    color: #555; /* Subheading color */
    margin-top: 1em; /* Space above */
}

ul {
    list-style-type: square; /* Square bullets */
    padding-left: 1.5em; /* Indent */
    margin-top: 0.5em; /* Space above */
}

/* Contact Links */
.contact-info p a {
    color: #D61D00; /* Link color */
    text-decoration: none; /* Remove underline */
}

.contact-info p a:hover {
    text-decoration: underline; /* Add underline on hover */
}

/* Footer */
footer {
    background-color: #333; /* Background */
    color: #fff; /* Text color */
    text-align: center; /* Center text */
    padding: 1em 0; /* Padding */
    margin-top: 2em; /* Space above footer */
}

/* Booking Form Section */
#booking-form {
    background-color: #ffffff; /* White background */
    padding: 1.5em; /* Form spacing */
    max-width: 600px; /* Limit width */
    margin: 2em auto; /* Center the form */
    border-radius: 5px; /* Rounded corners */
    border: 1px solid #ddd; /* Subtle border */
}

/* Form Heading */
#booking-form h2 {
    font-size: 1.8em; /* Larger font */
    color: #008AC2; /* Themed color */
    text-align: center; /* Center-align text */
    margin-bottom: 1em; /* Spacing */
}

/* Form Group Styling */
.form-group {
    margin-bottom: 1em; /* Spacing */
}

/* Label Styling */
.form-group label {
    font-weight: bold; /* Emphasis */
    color: #333; /* Dark text */
    display: block; /* Block layout */
    margin-bottom: 0.3em; /* Label spacing */
}

/* Input, Select, and Textarea Fields */
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%; /* Full width */
    padding: 0.5em; /* Padding */
    border: 1px solid #ccc; /* Border */
    border-radius: 3px; /* Rounded corners */
    font-size: 1em; /* Standard size */
}

/* Booking Button Styling */
.booking-button {
    background-color: #D61D00; /* Primary color */
    color: #fff; /* Contrast */
    padding: 0.75em; /* Button spacing */
    font-size: 1em; /* Size */
    border: none; /* Remove border */
    border-radius: 3px; /* Rounded button */
    cursor: pointer; /* Clickable */
    width: 100%; /* Full width */
    margin-top: 1em; /* Space */
}

/* Button Hover Effect */
.booking-button:hover {
    background-color: #c11a00; /* Hover color */
}

/* Success and Error Messages */
.success-message,
.error-message {
    text-align: center; /* Center-align */
    font-size: 1em; /* Standard size */
    padding: 0.75em; /* Padding */
    border-radius: 3px; /* Rounded edges */
    margin-top: 1em; /* Space */
}

/* Success Message */
.success-message {
    background-color: #e0f7e4; /* Light green */
    color: #2e7d32; /* Dark green */
}

/* Error Message */
.error-message {
    background-color: #fddede; /* Light red */
    color: #d32f2f; /* Dark red */
}
