/* Scope entirely to the header location */
.elementor-location-header {
    --esc-nav-font-size: 15px;
    --esc-nav-gap: 18px;
    --esc-logo-max: 220px;
    --esc-btn-max: 135px;
    --esc-btn-pad: 12px 20px;
    --esc-btn-font: 15px;
}

/* DESKTOP 1181px AND WIDER */
@media (min-width: 1181px) {
    .elementor-location-header > .elementor-container,
    .elementor-location-header > .e-con,
    .elementor-location-header .elementor-section-wrap > .elementor-section > .elementor-container {
        max-width: 1240px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 28px !important;
        flex-wrap: nowrap !important;
    }
    
    .elementor-location-header .elementor-widget-theme-site-logo img,
    .elementor-location-header .elementor-widget-image img {
        max-width: var(--esc-logo-max) !important;
        height: auto !important;
        width: 100% !important;
    }

    .elementor-location-header .elementor-nav-menu--main {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: var(--esc-nav-gap) !important;
    }

    .elementor-location-header .elementor-nav-menu--main .menu-item {
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementor-location-header .elementor-nav-menu--main a.elementor-item {
        font-size: var(--esc-nav-font-size) !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        padding: 5px 0 !important;
    }

    .elementor-location-header .elementor-button {
        max-width: var(--esc-btn-max) !important;
        min-height: 48px !important;
        padding: var(--esc-btn-pad) !important;
        border-radius: 999px !important;
        font-size: var(--esc-btn-font) !important;
        line-height: 1.1 !important;
        text-align: center !important;
        white-space: normal !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* NARROW DESKTOP 1025px to 1180px */
@media (min-width: 1025px) and (max-width: 1180px) {
    .elementor-location-header {
        --esc-logo-max: 185px;
        --esc-nav-gap: 12px;
        --esc-nav-font-size: 14px;
        --esc-btn-max: 122px;
        --esc-btn-pad: 10px 16px;
        --esc-btn-font: 14px;
    }
    
    .elementor-location-header > .elementor-container,
    .elementor-location-header > .e-con {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 15px !important;
        flex-wrap: nowrap !important;
    }
    
    .elementor-location-header .elementor-widget-theme-site-logo img,
    .elementor-location-header .elementor-widget-image img {
        max-width: var(--esc-logo-max) !important;
        height: auto !important;
    }

    .elementor-location-header .elementor-nav-menu--main {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: var(--esc-nav-gap) !important;
    }

    .elementor-location-header .elementor-nav-menu--main a.elementor-item {
        font-size: var(--esc-nav-font-size) !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        padding: 5px 0 !important;
    }
    
    .elementor-location-header .elementor-button {
        max-width: var(--esc-btn-max) !important;
        min-height: 44px !important;
        padding: var(--esc-btn-pad) !important;
        border-radius: 999px !important;
        font-size: var(--esc-btn-font) !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }
}

/* TABLET 768px to 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-location-header .elementor-widget-theme-site-logo img,
    .elementor-location-header .elementor-widget-image img {
        max-width: 170px !important;
        height: auto !important;
    }
    
    /* Ensure no horizontal scroll or overlap on tablet */
    body {
        overflow-x: hidden !important;
    }
    .elementor-location-header {
        max-width: 100vw !important;
        overflow: hidden !important; /* contain overflows safely */
    }
}

/* MOBILE 767px and below */
@media (max-width: 767px) {
    .elementor-location-header .elementor-widget-theme-site-logo img,
    .elementor-location-header .elementor-widget-image img {
        max-width: 150px !important;
        height: auto !important;
    }
    
    body {
        overflow-x: hidden !important;
    }
    
    .elementor-location-header .elementor-button {
        min-height: 44px !important; /* tap target */
    }
}
