/* Responsive Footer Optimization - 4fc571e9 */

/* Ensure full saturation and fill empty spaces on all viewports */
.elementor-location-footer,
.elementor-location-footer .elementor-container,
.elementor-location-footer .e-con,
.elementor-location-footer .e-container {
    filter: saturate(1.2); /* Boost saturation slightly as requested */
    box-sizing: border-box !important;
}

/* Force 4 columns side by side on Desktop */
@media (min-width: 1025px) {
    /* Target the main inner footer container which wraps the columns */
    .elementor-location-footer .elementor-element-5e65d23 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        gap: 20px !important;
    }

    /* Set exact sizing for each of the 4 column elements to prevent wrapping */
    .elementor-location-footer .elementor-element-5e65d23 > .e-flexbox,
    .elementor-location-footer .elementor-element-5e65d23 > .e-con {
        width: calc(25% - 15px) !important;
        max-width: calc(25% - 15px) !important;
        flex: 1 1 calc(25% - 15px) !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }
}

/* Fix submenu alignment to perfectly align left with the parent items */
.elementor-location-footer .sub-menu {
    text-align: left !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.elementor-location-footer .sub-menu li {
    text-align: left !important;
    padding-left: 0 !important;
}

.elementor-location-footer .sub-menu a {
    text-align: left !important;
    padding-left: 0 !important;
    justify-content: flex-start !important;
}

/* Base adjustment for the footer layout containers to balance vertical and horizontal spaces */
.elementor-location-footer .elementor-element.elementor-widget {
    margin-bottom: 15px;
}

/* Tablet Portrait Optimization (max-width: 1024px) */
@media (max-width: 1024px) {
    .elementor-location-footer .e-con-inner,
    .elementor-location-footer .e-con,
    .elementor-location-footer .e-container {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        gap: 30px !important;
    }
    
    /* Make flex elements scale better to leave no empty spaces */
    .elementor-location-footer .e-flexbox,
    .elementor-location-footer .e-con {
        flex-grow: 1 !important;
        min-width: 45% !important; /* Forces a neat 2x2 grid on iPad/Tablet to fill empty horizontal space */
    }
}

/* Mobile Portrait Optimization (max-width: 767px) */
@media (max-width: 767px) {
    .elementor-location-footer .e-con-inner,
    .elementor-location-footer .e-con,
    .elementor-location-footer .e-container {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
        gap: 20px !important;
    }

    .elementor-location-footer .e-flexbox,
    .elementor-location-footer .e-con {
        flex-grow: 1 !important;
        width: 100% !important; /* Full width on mobile to stack perfectly without weird margins */
        min-width: 100% !important;
    }
    
    /* Center align mobile typography to look tighter and more cohesive */
    .elementor-location-footer .elementor-widget-heading,
    .elementor-location-footer .elementor-widget-text-editor,
    .elementor-location-footer .elementor-widget-icon-list {
        text-align: center !important;
    }
    
    .elementor-location-footer .elementor-icon-list-items {
        justify-content: center !important;
    }
}
