/* Start custom CSS *//* World Map Mobile Friendly Enhancements */
.aim-map-container,
.aim-map-container.aim-osm-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    .aim-map-container,
    .aim-map-container.aim-osm-container {
        padding: 12px 10px !important;
        margin: 16px auto !important;
    }
    .aim-osm-map {
        height: 320px !important;
        width: 100% !important;
    }
    .aim-map-stage {
        overflow: hidden !important;
        border-radius: 6px !important;
        width: 100% !important;
    }
    .aim-map-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 4px 0 10px 0 !important;
    }
    .aim-map-header-right {
        width: 100% !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }
    .aim-map-action-btn {
        padding: 4px 10px !important;
        font-size: 11px !important;
    }
    .aim-map-interactive-banner {
        font-size: 10px !important;
        padding: 4px 8px !important;
        max-width: 95% !important;
        white-space: normal !important;
        line-height: 1.3 !important;
        bottom: 8px !important;
    }
    .aim-map-filter-bar {
        padding-bottom: 6px !important;
        margin-bottom: 10px !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .aim-map-filter-chip {
        padding: 4px 10px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    /* Map Callout Banner below map */
    .elementor-element-4eab4ca {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px !important;
        box-sizing: border-box !important;
        flex-direction: column !important;
        gap: 12px !important;
        align-items: stretch !important;
    }
    .elementor-element-4eab4ca a,
    .elementor-element-4eab4ca button {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* Regional Grid */
    div.elementor-18 .elementor-element-2149af65,
    .elementor-18 div[class*="wm_reg_grid"] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
    }
    .elementor-18 div.elementor-element-2149af65 > .e-con,
    .elementor-18 div[class*="wm_card_"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 18px 16px !important;
    }
}/* End custom CSS */