.city-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
    padding: 15px;
    place-items: center;
}

.city-details h2,
.city-list h3 {text-transform: capitalize;}

.city-list h3 {font-size: 9px;}

.city-card {	
    text-align: center;
    cursor: pointer;
    min-width: 100px;
    width: 100%;
    max-width: 500px;
}

.city-card img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    transition: transform 0.2s;
}

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

.city-details {
    text-align: center;
}

.city-details img {
    width: 100%;
    max-width: 500px;
    border-radius: 8px;
}

button {
    background: #0073aa;
    color: white;
    padding: 8px 12px;
    border: none;
    cursor: pointer;
    margin-bottom: 12px;
    border-radius: 4px;
}

button:hover {
    background: #005177;
}
.page-banner {
    position: relative;
    overflow: hidden;
    /*height: 100vh;  Adjust as needed */
}

.background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the video covers the entire section */
    z-index: -1;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Adjust opacity if needed */
    z-index: 0;
}

input.form-control.city-search-input {
    width: 25%;
    display: inline-block;
}

@media screen and (max-width: 767px) {
    input.form-control.city-search-input {
        width: 100%;
    }

    .city-list {
        grid-template-columns: repeat(auto-fit, minmax(150px, 2fr));
    }
}

@media screen and (min-width: 1600px) and (max-width: 1920px) {	
    .city-list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    }	
}

/* Better way to hide SEO text without causing shifts */
.screen-reader-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.city-card {
    background: #f0f0f0; /* Placeholder color while image loads */
    aspect-ratio: 16 / 9; /* Matches the image to reserve space */
    overflow: hidden;
}