/* General Body Styles */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    color: #333;
    line-height: 1.6;
}

/* Sticky Header */
.sticky-header {
    position: sticky;
    top: 0;
    width: 100%;
    background-color: #2c3e50; /* Dark blue/grey */
    color: white; /* Fallback, but link inside will dominate */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 1000;
}

.sticky-header nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.sticky-header .logo {
    font-size: 1.8em;
    font-weight: bold;
    /* Color set on the anchor tag inside, not here */
}

/* Styles for the link inside the logo - THIS IS THE LATEST FIX */
.sticky-header .logo a {
    color: white !important; /* Force white color for all states */
    text-decoration: none !important; /* Force no underline for all states */
    padding: 5px 0; /* Add a little padding for clickable area */
    display: block; /* Make the whole area clickable */
}

.sticky-header .logo a:hover {
    color: white !important; /* Stay white on hover */
    text-decoration: none !important;
    opacity: 0.8; /* Slight hover effect */
}

.sticky-header .logo a:active,
.sticky-header .logo a:visited {
    color: white !important; /* Ensure it stays white after being clicked/visited */
    text-decoration: none !important;
}


/* Navigation Links */
.nav-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex; /* Default to flex for desktop */
}

.nav-links li {
    margin-left: 20px;
}

.nav-links li a {
    color: white;
    text-decoration: none;
    padding: 8px 15px; /* Slightly more padding for links */
    transition: background-color 0.3s ease, border-radius 0.3s ease;
    border-radius: 4px;
}

.nav-links li a:hover,
.nav-links li a.active {
    background-color: #34495e; /* Slightly lighter dark blue/grey */
}

/* Hamburger menu button - Hidden by default on desktop */
.hamburger {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 2em;
    cursor: pointer;
    padding: 0 10px;
}

/* Main Content Area */
main {
    padding: 20px;
    max-width: 1200px;
    margin: 20px auto;
    background-color: white;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    border-radius: 8px;
}

/* Hero Section (Homepage Specific) */
.hero-section {
    text-align: center;
    padding-bottom: 20px;
}

.hero-image-container {
    position: relative; /* Essential for positioning the button */
    width: 100%;
    max-width: 800px; /* Overall max width of the container */
    margin: 0 auto 20px auto;
    border-radius: 8px;
    overflow: hidden; /* Ensures content respects border-radius */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.hero-image {
    width: 100%; /* Image always takes 100% of its container's width */
    height: auto; /* Allow height to adjust proportionally to width */
    max-height: 450px; /* Limit the maximum height on larger screens */
    object-fit: cover; /* Crucial: Crops the image to fit without distortion */
    display: block; /* Ensures it behaves like a block element */
}

/* Book Now Overlay Button */
.book-now-overlay-button {
    position: absolute;
    bottom: 20px; /* Keep bottom margin relative to the image container */
    left: 50%;
    transform: translateX(-50%); /* Centers the button horizontally */
    background-color: #e67e22; /* Airbnb-like orange */
    color: white;
    padding: 15px 30px;
    text-decoration: none;
    font-size: 1.2em;
    font-weight: bold;
    border-radius: 50px; /* Pill shape */
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    transition: background-color 0.3s ease, transform 0.3s ease;
    white-space: nowrap; /* Prevent text wrapping */
    z-index: 10; /* Ensure it's above the image */
}

.book-now-overlay-button:hover {
    background-color: #d35400; /* Darker orange on hover */
    transform: translateX(-50%) scale(1.05); /* Slight scale effect */
}


.hero-content h1 {
    color: #2c3e50;
    margin-bottom: 15px;
}

.hero-content h2 {
    color: #34495e;
    margin-top: 30px;
    margin-bottom: 10px;
}

.hero-content p, .hero-content ul {
    text-align: left;
    margin: 0 auto 15px auto;
    max-width: 700px; /* Adjust text width */
}

.hero-content ul {
    list-style: disc;
    padding-left: 25px;
}

.hero-content ul li {
    margin-bottom: 8px;
}

/* Guest Info Section (Guest Information Page Specific) */
.guest-info-section h1 {
    color: #2c3e50;
    margin-bottom: 20px;
    text-align: center;
}

.guest-info-section h2 {
    color: #34495e;
    margin-top: 25px;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
}

.guest-info-section p {
    margin-bottom: 15px;
}

.guest-info-section ul {
    list-style: disc;
    padding-left: 25px;
    margin-bottom: 20px;
}

.guest-info-section ul li {
    margin-bottom: 8px;
}


/* Footer */
footer {
    text-align: center;
    padding: 20px;
    margin-top: 30px;
    background-color: #2c3e50;
    color: white;
    font-size: 0.9em;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .sticky-header nav {
        flex-wrap: wrap; /* Allows items to wrap to next line */
        justify-content: space-between;
    }

    .sticky-header .logo {
        flex-grow: 1; /* Allows logo to take available space */
    }

    .hamburger {
        display: block; /* Show hamburger on small screens */
    }

    .nav-links {
        width: 100%; /* Take full width */
        flex-direction: column; /* Stack links vertically */
        display: none; /* Hide by default */
        text-align: center;
        background-color: #34495e; /* Background for dropdown */
        padding: 10px 0;
        box-shadow: 0 5px 5px rgba(0,0,0,0.2);
    }

    .nav-links.active {
        display: flex; /* Show when active */
    }

    .nav-links li {
        margin: 0; /* Remove horizontal margin */
        padding: 8px 0; /* Vertical padding */
        border-bottom: 1px solid rgba(255,255,255,0.1); /* Separator */
    }

    .nav-links li:last-child {
        border-bottom: none;
    }

    .nav-links li a {
        display: block; /* Make links full width of list item */
        padding: 10px 20px;
    }

    .nav-links li a:hover {
        background-color: #4a627a; /* Darker hover for mobile menu */
    }

    /* Adjust main content for smaller screens */
    main {
        padding: 15px;
        margin: 10px auto;
    }

    /* --- MOBILE-SPECIFIC STYLES FOR HERO IMAGE CONTAINER --- */
    .hero-image-container {
        /* On mobile, we want the image to dictate its height freely */
        border-radius: 0; /* Remove border-radius on small screens for full width effect */
        box-shadow: none; /* Remove shadow to blend better */
    }

    .hero-image {
        /* On mobile, remove the max-height constraint */
        max-height: none;
    }

    .book-now-overlay-button {
        padding: 10px 20px;
        font-size: 1em;
        bottom: 10px; /* Adjust position for smaller screens */
    }
}