/* =========================================================
   LAMIS BRANDS BAR
   ========================================================= */
.elementor-widget-lamis_brands_bar,
.elementor-widget-lamis_brands_bar .elementor-widget-container,
.elementor-widget-lamis_brands_bar .lbb-root,
.elementor-widget-lamis_brands_bar .lbb-root * {
    box-sizing: border-box;
}

.elementor-widget-lamis_brands_bar {
    width: 100%;
    max-width: none;
}

.elementor-widget-lamis_brands_bar .lbb-root {
    --lbb-stage-start: #dbdbdb;
    --lbb-stage-middle: #f1f1f1;
    --lbb-stage-end: #dbdbdb;
    --lbb-stage-angle: 135deg;
    --lbb-bar-start: #42b9e8;
    --lbb-bar-end: #26aae0;
    --lbb-bar-angle: 180deg;
    --lbb-hover-lift: 0px;
    --lbb-hover-scale: 1;
    --lbb-transition: 300ms;
    --lbb-animation-duration: 700ms;
    --lbb-animation-stagger: 90ms;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    position: relative;
    isolation: isolate;
    font-family: "Proxima Nova", "Montserrat", Arial, sans-serif;
}

.elementor-widget-lamis_brands_bar .lbb-stage {
    width: 100%;
    min-height: 250px;
    margin: 0;
    padding: 34px 24px 74px;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: linear-gradient(
        var(--lbb-stage-angle),
        var(--lbb-stage-start) 0%,
        var(--lbb-stage-middle) 52%,
        var(--lbb-stage-end) 100%
    );
    overflow: hidden;
}

.elementor-widget-lamis_brands_bar .lbb-shell {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.elementor-widget-lamis_brands_bar .lbb-heading {
    width: 100%;
    margin: 0 0 28px;
    padding: 0;
    color: #0047a4;
    font-size: clamp(28px, 3.2vw, 46px);
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
}

.elementor-widget-lamis_brands_bar .lbb-bar {
    width: 100%;
    min-height: 144px;
    margin: 0;
    padding: 28px 62px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(var(--lbb-bar-angle), var(--lbb-bar-start) 0%, var(--lbb-bar-end) 100%);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 76px;
    box-shadow: 0 24px 48px rgba(0, 71, 164, 0.18);
    overflow: hidden;
}

.elementor-widget-lamis_brands_bar .lbb-bar::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, rgba(255, 255, 255, 0.14), transparent 28%, transparent 72%, rgba(255, 255, 255, 0.08));
    opacity: 0.75;
}

.elementor-widget-lamis_brands_bar .lbb-grid {
    width: 100%;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 34px;
    row-gap: 0;
    align-items: center;
}

.elementor-widget-lamis_brands_bar .lbb-logo-item {
    width: 100%;
    min-width: 0;
    min-height: 82px;
    margin: 0;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: 22px;
    background-color: transparent;
    transition:
        transform var(--lbb-transition) ease,
        background-color var(--lbb-transition) ease,
        box-shadow var(--lbb-transition) ease;
}

.elementor-widget-lamis_brands_bar .lbb-logo-link {
    width: 100%;
    min-width: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: inherit;
    color: inherit;
    text-decoration: none;
    outline: none;
}

.elementor-widget-lamis_brands_bar .lbb-logo {
    display: block;
    width: 100%;
    max-width: 190px;
    height: 68px;
    margin: 0;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    transform: translateZ(0) scale(1);
    transform-origin: center;
    transition:
        transform var(--lbb-transition) ease,
        filter var(--lbb-transition) ease,
        opacity var(--lbb-transition) ease;
}

/* Logo color modes. White is the supplied HTML/reference default. */
.elementor-widget-lamis_brands_bar .lbb-logo-mode-white .lbb-logo {
    filter: brightness(0) invert(1) drop-shadow(0 6px 12px rgba(0, 71, 164, 0.16));
}

.elementor-widget-lamis_brands_bar .lbb-logo-mode-grayscale .lbb-logo {
    filter: grayscale(1) brightness(0.72) contrast(1.08);
}

.elementor-widget-lamis_brands_bar .lbb-logo-mode-original .lbb-logo {
    filter: none;
}

.elementor-widget-lamis_brands_bar .lbb-logo-item:hover,
.elementor-widget-lamis_brands_bar .lbb-logo-item:focus-within {
    transform: translateY(calc(var(--lbb-hover-lift) * -1));
}

.elementor-widget-lamis_brands_bar .lbb-logo-item:hover .lbb-logo,
.elementor-widget-lamis_brands_bar .lbb-logo-item:focus-within .lbb-logo {
    transform: scale(var(--lbb-hover-scale));
}

.elementor-widget-lamis_brands_bar .lbb-hover-mode-white .lbb-logo-item:hover .lbb-logo,
.elementor-widget-lamis_brands_bar .lbb-hover-mode-white .lbb-logo-item:focus-within .lbb-logo {
    filter: brightness(0) invert(1) drop-shadow(0 6px 12px rgba(0, 71, 164, 0.16));
}

.elementor-widget-lamis_brands_bar .lbb-hover-mode-grayscale .lbb-logo-item:hover .lbb-logo,
.elementor-widget-lamis_brands_bar .lbb-hover-mode-grayscale .lbb-logo-item:focus-within .lbb-logo {
    filter: grayscale(1) brightness(0.72) contrast(1.08);
}

.elementor-widget-lamis_brands_bar .lbb-hover-mode-original .lbb-logo-item:hover .lbb-logo,
.elementor-widget-lamis_brands_bar .lbb-hover-mode-original .lbb-logo-item:focus-within .lbb-logo {
    filter: none;
}

.elementor-widget-lamis_brands_bar .lbb-logo-link:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.95);
    outline-offset: 4px;
    border-radius: 18px;
}

/* Entrance animation. */
.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible) .lbb-heading,
.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible) .lbb-bar {
    opacity: 0;
}

.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible).lbb-anim-fade-up .lbb-bar,
.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible).lbb-anim-fade-up .lbb-heading {
    transform: translateY(26px);
}

.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible).lbb-anim-fade-down .lbb-bar,
.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible).lbb-anim-fade-down .lbb-heading {
    transform: translateY(-26px);
}

.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible).lbb-anim-zoom .lbb-bar,
.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible).lbb-anim-zoom .lbb-heading {
    transform: scale(0.96);
}

.elementor-widget-lamis_brands_bar .lbb-heading,
.elementor-widget-lamis_brands_bar .lbb-bar {
    transition: opacity var(--lbb-animation-duration) ease, transform var(--lbb-animation-duration) ease;
}

.elementor-widget-lamis_brands_bar .lbb-has-animation:not(.is-visible) .lbb-logo-item {
    opacity: 0;
    transform: translateY(18px);
}

.elementor-widget-lamis_brands_bar .lbb-logo-item {
    transition-delay: calc(var(--lbb-index, 0) * var(--lbb-animation-stagger));
}

.elementor-widget-lamis_brands_bar .lbb-root.is-visible .lbb-heading,
.elementor-widget-lamis_brands_bar .lbb-root.is-visible .lbb-bar,
.elementor-widget-lamis_brands_bar .lbb-root.is-visible .lbb-logo-item,
.elementor-widget-lamis_brands_bar .lbb-no-animation .lbb-heading,
.elementor-widget-lamis_brands_bar .lbb-no-animation .lbb-bar,
.elementor-widget-lamis_brands_bar .lbb-no-animation .lbb-logo-item,
.elementor-editor-active .elementor-widget-lamis_brands_bar .lbb-heading,
.elementor-editor-active .elementor-widget-lamis_brands_bar .lbb-bar,
.elementor-editor-active .elementor-widget-lamis_brands_bar .lbb-logo-item {
    opacity: 1;
    transform: none;
}

@media (max-width: 1024px) {
    .elementor-widget-lamis_brands_bar .lbb-stage {
        min-height: 230px;
        padding: 36px 22px 58px;
    }

    .elementor-widget-lamis_brands_bar .lbb-bar {
        min-height: 132px;
        padding: 24px 38px;
        border-radius: 66px;
    }

    .elementor-widget-lamis_brands_bar .lbb-grid {
        column-gap: 24px;
        row-gap: 16px;
    }

    .elementor-widget-lamis_brands_bar .lbb-logo-item {
        min-height: 78px;
    }

    .elementor-widget-lamis_brands_bar .lbb-logo {
        max-width: 170px;
        height: 62px;
    }
}

@media (max-width: 767px) {
    .elementor-widget-lamis_brands_bar .lbb-stage {
        min-height: 0;
        padding: 28px 16px 48px;
    }

    .elementor-widget-lamis_brands_bar .lbb-heading {
        margin-bottom: 22px;
        font-size: clamp(26px, 8vw, 34px);
    }

    .elementor-widget-lamis_brands_bar .lbb-bar {
        min-height: 0;
        padding: 24px;
        border-radius: 44px;
    }

    .elementor-widget-lamis_brands_bar .lbb-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 14px;
        row-gap: 14px;
    }

    .elementor-widget-lamis_brands_bar .lbb-logo-item {
        min-height: 74px;
        padding: 8px;
        border-radius: 18px;
    }

    .elementor-widget-lamis_brands_bar .lbb-logo {
        max-width: 130px;
        height: 52px;
    }
}

@media (max-width: 420px) {
    .elementor-widget-lamis_brands_bar .lbb-stage {
        padding-right: 12px;
        padding-left: 12px;
    }

    .elementor-widget-lamis_brands_bar .lbb-bar {
        padding: 18px;
        border-radius: 36px;
    }

    .elementor-widget-lamis_brands_bar .lbb-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .elementor-widget-lamis_brands_bar .lbb-logo-item {
        min-height: 66px;
    }

    .elementor-widget-lamis_brands_bar .lbb-logo {
        max-width: 112px;
        height: 46px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .elementor-widget-lamis_brands_bar .lbb-heading,
    .elementor-widget-lamis_brands_bar .lbb-bar,
    .elementor-widget-lamis_brands_bar .lbb-logo-item,
    .elementor-widget-lamis_brands_bar .lbb-logo {
        transition: none !important;
        animation: none !important;
    }

    .elementor-widget-lamis_brands_bar .lbb-heading,
    .elementor-widget-lamis_brands_bar .lbb-bar,
    .elementor-widget-lamis_brands_bar .lbb-logo-item {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Keep hover controls active after the entrance animation has completed. */
.elementor-widget-lamis_brands_bar .lbb-root.is-visible .lbb-logo-item:hover,
.elementor-widget-lamis_brands_bar .lbb-root.is-visible .lbb-logo-item:focus-within,
.elementor-widget-lamis_brands_bar .lbb-no-animation .lbb-logo-item:hover,
.elementor-widget-lamis_brands_bar .lbb-no-animation .lbb-logo-item:focus-within {
    transform: translateY(calc(var(--lbb-hover-lift) * -1));
}

.elementor-widget-lamis_brands_bar .lbb-root.is-visible .lbb-logo-item:hover .lbb-logo,
.elementor-widget-lamis_brands_bar .lbb-root.is-visible .lbb-logo-item:focus-within .lbb-logo,
.elementor-widget-lamis_brands_bar .lbb-no-animation .lbb-logo-item:hover .lbb-logo,
.elementor-widget-lamis_brands_bar .lbb-no-animation .lbb-logo-item:focus-within .lbb-logo {
    transform: scale(var(--lbb-hover-scale));
}
