/* Listing Stylesheet (listing.css) */
/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 10px;
}

.pagination a {
    margin: 0 5px;
    padding: 8px 12px;
    font-size: 14px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #007bff;
    border-radius: 4px;
    color: #007bff;
}

.pagination a.active {
    background-color: #007bff;
    color: white;
    pointer-events: none;
}

.pagination a:hover:not(.active) {
    background-color: #0056b3;
    color: white;
}

        .filter-bar {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            background-color: #fff;
            border-top: 1px solid #ccc; /* Separator at the top */
            border-bottom: 1px solid #ccc;
            padding: 10px 15px;
            position: relative;
            top: 0;
            z-index: 900;
            box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow effect */
        }
        .filter-icon {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 40px;
            height: 40px;
            border: 1px solid #ccc;
            border-radius: 10%;
            cursor: pointer;
            font-size: 24px;
            font-weight: bold;
            background-color: #f9f9f9;
            color: #333;
        }
.filter-menu {
    padding: 20px; /* Space for the content */
    padding-top: 100px; /* Additional space for the close button */
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 130%;
    background-color: #fff;
    z-index: 1000; /* Ensures it sits above the filter bar */
    box-sizing: border-box;
    overflow-y: auto; /* Scroll content if needed */
    transition: left 0.3s ease;
}
.filter-menu.active {
    left: 0; /* Slide in when active */
}
.filter-menu h3 {
    margin: 0; /* Reset margin */
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 20px; /* Adjust font size if needed */
    padding: 10px 0; /* Add padding for spacing */
}
        .filter-menu .filter-option {
            margin-bottom: 15px;
        }
        .filter-menu .filter-option label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
        }
        .filter-menu .filter-option select,
        .filter-menu .filter-option input {
            width: 100%;
            padding: 8px;
            margin-bottom: 10px;
        }
.filter-menu .close-btn {
    font-size: 28px; /* Adjust size to fit */
    font-weight: normal; /* Remove boldness */
    cursor: pointer;
    margin: 0; /* Reset margin */
    color: #000; /* Ensure color is visible */
    border: 1px solid #000; /* Add a black border */
    border-radius: 10%; /* Circular border for a rounded icon */
    width: 30px; /* Define a fixed width for consistency */
    height: 30px; /* Define a fixed height */
    display: flex; /* Center the icon */
    align-items: center;
    justify-content: center;
    background-color: #fff; /* Ensure background color contrasts with the menu */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional: Add a subtle shadow */
    transition: background-color 0.2s ease, color 0.2s ease; /* Smooth hover effects */
}

.filter-menu a {
    display: inline-block; /* Ensures the links behave like buttons */
    background-color: #0073bb; /* Match the header button background color */
    color: white; /* White text color */
    padding: 10px 20px; /* Padding for the button */
    border-radius: 4px; /* Rounded corners */
    font-size: 14px; /* Font size to match the header buttons */
    text-align: center; /* Center the text */
    text-decoration: none; /* Remove underline from links */
    margin: 5px; /* Add spacing between buttons */
    cursor: pointer; /* Pointer cursor for button-like behavior */
    border: none; /* Remove border */
}
@media (min-width: 769px) {
/* Individual Listings */
.listing {
    display: flex;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
}

.listing-image {
    width: 200px; /* Fixed width for the container */
    height: 200px; /* Fixed height for the container */
    overflow: hidden; /* Ensures any overflowing content is cropped */
    border: 1px solid #ddd; /* Optional: Adds a border for visual consistency */
    border-radius: 5px; /* Optional: Adds rounded corners */
}

.listing-image img {
    width: 100%;
    height: 100%;
    object-fit: scale-down /* Ensures the image covers the container */
    object-position: center; /* Centers the image within the container */
}
.listing-details {
    flex: 1;
    padding: 10px;
}

.listing-details h2 {
    margin: 0 0 10px;
    font-size: 16px;
    color: #007bff;
}

.listing-details h2 a {
    text-decoration: none;
}

.listing-details h2 a:hover {
    text-decoration: underline;
}

.listing-details .city-cuisine-price {
    font-size: 14px;
    margin: 0 0 5px;
    color: #333;
}

.listing-details .hours {
    font-size: 13px;
    color: #555;
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.pagination a {
    margin: 0 5px;
    padding: 8px 12px;
    font-size: 14px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #007bff;
    border-radius: 4px;
    color: #007bff;
}

.pagination a.active {
    background-color: #007bff;
    color: white;
    pointer-events: none;
}

.pagination a:hover:not(.active) {
    background-color: #0056b3;
    color: white;
}
}
/* Mobile-specific layout */
@media (max-width: 768px) {
.listing-container {
  width: 90%;
  margin: 20px auto;
}

.listing {
  display: flex;
  margin-bottom: 20px;
  background-color: #fff;
  box-shadow: 0 5px 4px rgba(0, 0, 0, 0.1);
  gap: 0px;
  border-radius: 3px; /* Adds rounded edges to the entire container */
  overflow: hidden; /* Ensures child elements follow the container's border radius */
}

/* Listing image styles */
.listing-image img {
  width: 250px;
  height: 250px;
  object-fit: cover;
}

.listing-container {
            margin-top: 10px;
        }

.listing {
    flex-direction: column;
    align-items: left;
  }

.listing-image img {
    width: 100%;
    max-width: 100%;
  }

.listing-details h2 {
    font-size: 16px;
    margin: 5px 0;
    padding-left: 15px;
  }

.listing-details p {
    margin: 4px 0;
    color: #555555;
    font-size: 14px;
    padding-left: 15px;
}

