/* Reset and full viewport alignment to ensure 0 white borders */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background-color: #ffffff;
}

*, *::before, *::after {
    box-sizing: border-box;
}

#page, #content, #main, .site-main, .elementor, .elementor-location-header, .elementor-location-footer {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Header background explicitly spans 100% edge-to-edge without white borders */
header.elementor,
.elementor-157 .elementor-element.elementor-element-9090f06 {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #222222 !important;
    margin: 0 !important;
}

/* Prevent hidden/blank white spaces from delayed or uninitialized Elementor scroll animations */
.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure all full-width & top sections stretch seamlessly across 100% of the viewport */
.elementor-section.elementor-section-stretched,
.elementor-section.elementor-section-full_width,
.elementor-top-section {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Maintain proper boxed centering for inner content */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1140px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Header container standard width */
.elementor-157 .elementor-element.elementor-element-9090f06 > .elementor-container {
    max-width: 1379px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Elementor Tabs styling and display */
.elementor-tab-title {
    cursor: pointer !important;
}
.elementor-tabs-content-wrapper .elementor-tab-content.elementor-active {
    display: block !important;
}
.elementor-tabs-content-wrapper .elementor-tab-content:not(.elementor-active) {
    display: none !important;
}

/* Slick Carousel adjustments */
.ha-carousel .slick-slider {
    position: relative;
    width: 100%;
}
.ha-carousel .slick-slide img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}
.ha-carousel .slick-prev,
.ha-carousel .slick-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    z-index: 999 !important;
}
.ha-carousel .slick-prev {
    left: 25px !important;
    right: auto !important;
}
.ha-carousel .slick-next {
    right: 25px !important;
    left: auto !important;
}
