h1 {
    text-align: center;
    color: #333;
    padding: 40px;
    margin-top: 70px;
    font-size: 2.5em;
    letter-spacing: 1.5px;
}

.apartment-card {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s, box-shadow 0.3s;
}

.apartment-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.12);
}

.apartment-card img {
    height: 250px; /* or whatever height you want */
    object-fit: cover; 
}

.apartment-title {
    font-weight: 700;
    margin: 20px 0 10px;
    font-size: 1.5em;
    color: #333;
}

.apartment-description {
    color: #555;
    margin-bottom: 20px;
    line-height: 1.6;
}

.apartment-price {
    color: #0c0a03;
    font-size: 1.3em;
    font-weight: 600;
}

/* Apartment Card Styling */
.apartment-card {
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s;
}

.apartment-card:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

.apartment-title a {
    color: #555;
    text-decoration: none;
    transition: color 0.3s;
}

.apartment-title a:hover {
    color: #925e84; /* Placeholder luxury color. Update to fit the theme. */
}

.apartment-description {
    color: #777;
}

/* City Selector Enhancements using Flexbox */
.city-selector {
    display: flex; /* Enables flexbox */
    flex-wrap: wrap; /* Allows buttons to wrap onto the next line */
    justify-content: center; /* Centers buttons horizontally */
    gap: 5px; /* Reduces gap between buttons for tighter fitting */
    padding: 10px 1px; /* Reduces padding for more space efficiency */
    margin-bottom: 10px; /* Space from the next content */
    overflow-x: auto; /* Allows horizontal scrolling if needed */
    overflow-y: hidden; /* Prevents vertical overflow */
}

.city-selector .btn {
    padding: 1px 1px; /* Slightly reduced padding */
    border-radius: 5px; /* Softly rounded corners for a modern look */
    border: none; /* No border for a cleaner appearance */
    color: #626262; /* Dark gray for readability */
    background-color: transparent; /* Transparent background */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition for hover effects */
    font-size: 0.9rem; /* Font size that works well on both desktop and mobile */

}

.city-selector .btn:hover, .city-selector .btn:focus, .city-selector .btn.active {
    color: #fff; /* White text for contrast */
    background-color: #abacad; /* Highlight color for active/hover states */
}

/* Responsive adjustments for very small screens */
@media (max-width: 400px) {
    .city-selector .btn {
        flex: 1 1 100px; /* Allows even more shrinking at small sizes */
        font-size: 0.75em; /* Smaller font size to fit more items */
    }
}

