.image-comparison-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    user-select: none;
}

.image-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 Aspect Ratio (default) */
}

.image-after,
.image-before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.image-before {
    clip-path: inset(0 50% 0 0);
    z-index: 2;
}

.slider-handle {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background-color: #fff;
    z-index: 3;
    cursor: ew-resize;
}

.slider-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.slider-button svg {
    color: #666;
}

/* Prevent Elementor editor from interfering with the slider */
.elementor-editor-active .image-comparison-slider {
    pointer-events: none;
}

.elementor-editor-active .slider-button {
    pointer-events: auto;
}

.image-comparison-slider-notice {
    padding: 16px;
    border: 1px dashed #c7c7c7;
    background: #f7f7f7;
    color: #555;
    text-align: center;
}

/* Shared three-column layout for grouped HJ WooCommerce Field widgets. */
.woocommerce-custom-field-container.hj-custom-field-columns {
    --hj-custom-field-label-width: max-content;
    --hj-custom-field-column-gap: 5px;
    align-items: start !important;
    column-gap: var(--hj-custom-field-column-gap);
    display: grid !important;
    flex-wrap: nowrap !important;
    grid-template-columns: var(--hj-custom-field-label-width) max-content minmax(0, 1fr);
    justify-content: stretch !important;
    width: 100%;
}

.woocommerce-custom-field-container.hj-custom-field-columns > .woocommerce-custom-field-item {
    margin-right: 0 !important;
    min-width: 0;
}

.woocommerce-custom-field-container.hj-custom-field-columns .woocommerce-custom-field-name-wrapper,
.woocommerce-custom-field-container.hj-custom-field-columns .woocommerce-custom-field-name {
    justify-content: flex-start !important;
    min-width: 0;
    text-align: left;
    white-space: nowrap;
    width: 100%;
}

.woocommerce-custom-field-container.hj-custom-field-columns .woocommerce-custom-field-separator-wrapper,
.woocommerce-custom-field-container.hj-custom-field-columns .woocommerce-custom-field-value-wrapper {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-width: 0;
}

.woocommerce-custom-field-container.hj-custom-field-columns .woocommerce-custom-field-separator {
    padding-left: 0 !important;
    white-space: nowrap;
}

.woocommerce-custom-field-container.hj-custom-field-columns .woocommerce-custom-field-value {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
}

@media (max-width: 767px) {
    .woocommerce-custom-field-container.hj-custom-field-columns .woocommerce-custom-field-name {
        white-space: normal;
    }
}

.ics-custom-solution-dropdown {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(28, 36, 75, 0.14);
    display: flex;
    flex-direction: column;
    font-family: Montserrat, sans-serif;
    font-size: var(--n-menu-title-font-size, 20px);
    font-weight: 500;
    gap: 4px;
    line-height: var(--n-menu-title-line-height, 1.5);
    min-width: 270px;
    padding: 8px;
}

.ics-custom-solution-dropdown a {
    border-radius: 6px;
    color: #1c244b;
    display: block;
    font: inherit;
    padding: 11px 13px;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.ics-custom-solution-dropdown a:hover,
.ics-custom-solution-dropdown a:focus-visible {
    background: #324a6d;
    color: #fff;
    outline: none;
}

.elementor-16 .elementor-element.elementor-element-248731f > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current:hover,
.elementor-16 .elementor-element.elementor-element-248731f > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current:focus-within {
    --n-menu-title-color-active: #fff;
    --n-menu-title-active-color-dropdown: #fff;
    --n-menu-icon-color-active: #fff;
    --n-menu-dropdown-indicator-color-active: #fff;
    background-color: #324a6d;
    color: #fff;
}

@media (max-width: 767px) {
    .ics-custom-solution-dropdown {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        min-width: 0;
        width: 100%;
    }
}

/* Keep the shared Elementor footer readable when translated or viewed on narrower screens. */
.elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner > .e-con,
.elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d > .e-con,
.elementor-location-footer.elementor-4625 .elementor-widget-icon-list .elementor-icon-list-item,
.elementor-location-footer.elementor-4625 .elementor-widget-icon-list .elementor-icon-list-item > a,
.elementor-location-footer.elementor-4625 .elementor-widget-icon-list .elementor-icon-list-text {
    min-width: 0;
}

.elementor-location-footer.elementor-4625 .elementor-widget-icon-list .elementor-icon-list-item > a,
.elementor-location-footer.elementor-4625 .elementor-widget-icon-list .elementor-icon-list-text {
    max-width: 100%;
    overflow-wrap: break-word;
    white-space: normal;
}

.elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 .elementor-shortcode {
    display: flex;
    width: 100%;
}

.elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 {
    width: 100%;
    --width: 100%;
}

.elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 iframe {
    border: 0;
    display: block;
    max-width: 100%;
    width: 100%;
}

@media (min-width: 768px) {
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-widget-icon-list .elementor-icon-list-item > a,
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text {
        line-height: 1.35em;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child) {
        padding-block-end: 8px;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child) {
        margin-block-start: 8px;
    }
}

@media (min-width: 1100px) {
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner {
        align-items: start;
        column-gap: clamp(28px, 3vw, 40px);
        display: grid;
        grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner > .elementor-element.elementor-element-d32d128,
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner > .elementor-element.elementor-element-13ff9c9d {
        margin: 0;
        width: 100%;
        --width: 100%;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d {
        align-items: start;
        column-gap: clamp(20px, 2vw, 28px);
        display: grid;
        grid-template-columns: minmax(190px, 1.05fr) minmax(250px, 1.55fr) minmax(130px, 0.85fr);
        --display: grid;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d > .elementor-element.elementor-element-67aa3f4a,
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d > .elementor-element.elementor-element-500883bb,
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d > .elementor-element.elementor-element-7e4f0df2 {
        width: 100%;
        --width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner {
        display: grid;
        grid-template-areas:
            "footer-links"
            "footer-map";
        grid-template-columns: minmax(0, 1fr);
        row-gap: 36px;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner > .elementor-element.elementor-element-d32d128 {
        align-items: center;
        grid-area: footer-map;
        margin: 0;
        width: 100%;
        --width: 100%;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner > .elementor-element.elementor-element-13ff9c9d {
        column-gap: 24px;
        display: grid;
        grid-area: footer-links;
        grid-template-columns: minmax(180px, 1fr) minmax(280px, 1.6fr) minmax(150px, 0.8fr);
        width: 100%;
        --display: grid;
        --width: 100%;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d > .elementor-element.elementor-element-67aa3f4a,
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d > .elementor-element.elementor-element-500883bb,
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-13ff9c9d > .elementor-element.elementor-element-7e4f0df2 {
        width: 100%;
        --width: 100%;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 .elementor-shortcode {
        justify-content: center;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 iframe {
        height: 240px;
        max-width: 560px;
    }
}

@media (max-width: 767px) {
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner {
        display: flex;
        flex-direction: column;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner > .elementor-element.elementor-element-13ff9c9d {
        order: 1;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-4086a8f2 > .e-con-inner > .elementor-element.elementor-element-d32d128 {
        margin: 20px 0 0;
        order: 2;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 .elementor-shortcode {
        justify-content: center;
    }

    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 iframe {
        height: 220px;
        max-width: 560px;
    }
}

@media (max-width: 480px) {
    .elementor-location-footer.elementor-4625 .elementor-element.elementor-element-5cdee545 iframe {
        height: 200px;
    }
}
