
    /* 1. Hero Responsiveness */
    .city-hero-banner {
        height: 300px; /* Shorter for mobile */
        background-size: cover;
        background-position: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: #ffffff;
        text-align: center;
        padding: 0 20px;
    }
    .city-hero-banner h1 {
        font-size: 36px; /* Smaller for mobile */
        text-transform: capitalize;
        margin: 0;
        font-weight: 700;
        line-height: 1.1;
        color: #ffffff !important;
    }

    /* 2. Grid Responsiveness (Mobile First) */
    #ajax-response-container {
        display: grid;
        grid-template-columns: 1fr; /* 1 card on mobile */
        gap: 20px;
        width: 100%;
    }

    /* 3. Container Padding */
    .archive-inner-wrapper {
        padding: 30px 20px; /* Small padding for mobile */
        background-color: #ffffff;
    }

    /* DESKTOP STYLES (992px and up) */
    @media (min-width: 992px) {
        .city-hero-banner {
            height: 400px;
        }
        .city-hero-banner h1 {
            font-size: 72px;
        }
        #ajax-response-container {
            grid-template-columns: repeat(3, 1fr); /* 3 cards on desktop */
            gap: 40px;
        }
        .archive-inner-wrapper {
            max-width: 1975px;
            margin: 0 auto;
            padding: 40px 60px 60px 135px;
        }
    }

    /* Loader Animation */
    .loader-spinner {
        border: 4px solid #f3f3f3;
        border-top: 4px solid #3498db;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        animation: spin 2s linear infinite;
        margin: 0 auto;
    }
    @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }