/* =========================================================
   LASTO HOMEPAGE — TRUSTED BRANDS COMPACT MASTER
   One locked composition for every brand.
   ========================================================= */

.ui-trusted-brands {
    --trusted-brand-purple: #4438dd;
    --trusted-banner-radius: 38px;
}

.ui-trusted-brands .trusted-brands-container {
    width: min(88%, 1380px) !important;
    max-width: 1380px !important;
    margin-inline: auto !important;
}

/* Compact desktop banner: fixed at 310px for every brand. */
.ui-trusted-brands .trusted-brand-banner,
.ui-trusted-brands .trusted-brand-slide {
    position: relative !important;
    width: 100% !important;
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
    overflow: hidden !important;
    border-radius: var(--trusted-banner-radius) !important;
}

.ui-trusted-brands .trusted-brand-banner {
    background: #eef1f6 !important;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.10) !important;
}

.ui-trusted-brands .trusted-brand-slide {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    isolation: isolate !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.ui-trusted-brands .trusted-brand-slide::after {
    display: none !important;
}

.ui-trusted-brands .trusted-brand-slide::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.ui-trusted-brands .trusted-brand-slide.is-dark::before {
    background: linear-gradient(
        90deg,
        rgba(5, 8, 15, 0.82) 0%,
        rgba(5, 8, 15, 0.55) 38%,
        rgba(5, 8, 15, 0.06) 70%,
        rgba(5, 8, 15, 0) 100%
    ) !important;
}

.ui-trusted-brands .trusted-brand-slide.is-light::before {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.94) 0%,
        rgba(255, 255, 255, 0.78) 38%,
        rgba(255, 255, 255, 0.05) 72%,
        rgba(255, 255, 255, 0) 100%
    ) !important;
}

.ui-trusted-brands .trusted-brand-slide-bg,
.ui-trusted-brands .trusted-brand-slide picture,
.ui-trusted-brands .trusted-brand-slide picture img,
.ui-trusted-brands .trusted-brand-background {
    width: 100% !important;
    height: 100% !important;
}

.ui-trusted-brands .trusted-brand-background,
.ui-trusted-brands .trusted-brand-slide picture img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    filter: none !important;
}

/* Locked left content zone. */
.ui-trusted-brands .trusted-brand-content {
    position: absolute !important;
    z-index: 3 !important;
    left: 110px !important;
    top: 50% !important;
    width: 520px !important;
    max-width: 40% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

/* Transparent logo holder: no card, border, blur or white background. */
.ui-trusted-brands .trusted-brand-logo,
.ui-trusted-brands .trusted-brand-content .showcase-brand-logo-frame {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.ui-trusted-brands .trusted-brand-logo img,
.ui-trusted-brands .trusted-brand-content img,
.ui-trusted-brands .trusted-brand-main-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 280px !important;
    max-height: 72px !important;
    margin: 0 !important;
    object-fit: contain !important;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.12)) !important;
}

/* Visual-weight correction without reintroducing a logo box. */
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--hp {
    max-width: 72px !important;
    max-height: 72px !important;
}
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--epson { max-width: 270px !important; }
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--lenovo { max-width: 250px !important; }
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--acer { max-width: 250px !important; }
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--asus { max-width: 250px !important; }
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--canon { max-width: 250px !important; }
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--hikvision { max-width: 270px !important; }
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--tp-link { max-width: 225px !important; }
.ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--logitech { max-width: 245px !important; }

.ui-trusted-brands .trusted-brand-description,
.ui-trusted-brands .trusted-brand-content > .trusted-brand-description {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 510px !important;
    min-height: 50px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.34) !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
}

.ui-trusted-brands .trusted-brand-slide.is-light .trusted-brand-description {
    color: #162033 !important;
    text-shadow: none !important;
}

.ui-trusted-brands .trusted-brand-button,
.ui-trusted-brands .trusted-brand-content > .trusted-brand-button {
    box-sizing: border-box !important;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 20px 0 0 !important;
    padding: 0 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--trusted-brand-purple) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.12) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ui-trusted-brands .trusted-brand-button .icon {
    width: 16px !important;
    height: 16px !important;
}

.ui-trusted-brands .trusted-brand-slide:hover .trusted-brand-button {
    color: var(--trusted-brand-purple) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.16) !important;
}

.ui-trusted-brands .trusted-brand-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 4 !important;
    box-sizing: border-box !important;
    width: 56px !important;
    height: 56px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #172033 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.15) !important;
    transform: translateY(-50%) !important;
}

.ui-trusted-brands .trusted-brand-arrow.prev { left: 30px !important; }
.ui-trusted-brands .trusted-brand-arrow.next { right: 30px !important; }
.ui-trusted-brands .trusted-brand-arrow .icon {
    width: 18px !important;
    height: 18px !important;
}

/* Locked quick-brand logo bar. */
.ui-trusted-brands .trusted-brand-list {
    width: 100% !important;
    margin-top: 18px !important;
    display: grid !important;
    grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.ui-trusted-brands .trusted-brand-card {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 80px !important;
    min-height: 80px !important;
    padding: 12px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #dfe3ec !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 14px rgba(24, 32, 54, 0.04) !important;
}

.ui-trusted-brands .trusted-brand-card img {
    width: 135px !important;
    max-width: 100% !important;
    height: 44px !important;
    max-height: 44px !important;
    display: block !important;
    object-fit: contain !important;
    filter: none !important;
}

.ui-trusted-brands .trusted-brand-card img[alt="HP logo"] {
    width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
}

.ui-trusted-brands .trusted-brand-card.active,
.ui-trusted-brands .trusted-brand-card.is-active {
    border-color: #6847ff !important;
    background: #f8f6ff !important;
    box-shadow: 0 7px 18px rgba(104, 71, 255, 0.12) !important;
}

@media (max-width: 1180px) and (min-width: 769px) {
    .ui-trusted-brands .trusted-brands-container {
        width: calc(100% - 48px) !important;
    }

    .ui-trusted-brands .trusted-brand-banner,
    .ui-trusted-brands .trusted-brand-slide {
        height: 310px !important;
        min-height: 310px !important;
        max-height: 310px !important;
    }

    .ui-trusted-brands .trusted-brand-content {
        left: 88px !important;
        width: 450px !important;
        max-width: 44% !important;
    }

    .ui-trusted-brands .trusted-brand-logo img,
    .ui-trusted-brands .trusted-brand-content img,
    .ui-trusted-brands .trusted-brand-main-logo {
        max-width: 235px !important;
        max-height: 62px !important;
    }

    .ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--hp {
        max-width: 60px !important;
        max-height: 60px !important;
    }

    .ui-trusted-brands .trusted-brand-description,
    .ui-trusted-brands .trusted-brand-content > .trusted-brand-description {
        max-width: 430px !important;
        min-height: 48px !important;
        font-size: 16px !important;
    }

    .ui-trusted-brands .trusted-brand-button,
    .ui-trusted-brands .trusted-brand-content > .trusted-brand-button {
        height: 48px !important;
        min-height: 48px !important;
        margin-top: 16px !important;
        padding-inline: 22px !important;
        font-size: 14px !important;
    }

    .ui-trusted-brands .trusted-brand-arrow {
        width: 48px !important;
        height: 48px !important;
    }
    .ui-trusted-brands .trusted-brand-arrow.prev { left: 20px !important; }
    .ui-trusted-brands .trusted-brand-arrow.next { right: 20px !important; }

    .ui-trusted-brands .trusted-brand-card {
        height: 70px !important;
        min-height: 70px !important;
        padding-inline: 10px !important;
    }

    .ui-trusted-brands .trusted-brand-card img {
        width: 100px !important;
        height: 38px !important;
        max-height: 38px !important;
    }
}

/* Mobile remains compact and uses the same transparent-logo treatment. */
@media (max-width: 768px) {
    .ui-trusted-brands.trusted-brands-section {
        margin-top: 10px !important;
        padding: 14px 0 16px !important;
        background: #ffffff !important;
    }

    .ui-trusted-brands .trusted-brands-title {
        margin: 0 0 10px !important;
        font-size: 19px !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }

    .ui-trusted-brands .trusted-brands-container {
        width: 100% !important;
        max-width: none !important;
        padding: 0 10px !important;
    }

    .ui-trusted-brands .trusted-brand-banner,
    .ui-trusted-brands .trusted-brand-slide {
        height: 205px !important;
        min-height: 205px !important;
        max-height: 205px !important;
        border-radius: 14px !important;
    }

    .ui-trusted-brands .trusted-brand-background {
        object-position: 68% center !important;
    }

    .ui-trusted-brands .trusted-brand-slide.is-dark::before {
        background: linear-gradient(90deg, rgba(5, 8, 15, .86) 0%, rgba(5, 8, 15, .64) 42%, rgba(5, 8, 15, .08) 74%, rgba(5, 8, 15, 0) 100%) !important;
    }

    .ui-trusted-brands .trusted-brand-slide.is-light::before {
        background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .82) 42%, rgba(255, 255, 255, .08) 74%, rgba(255, 255, 255, 0) 100%) !important;
    }

    .ui-trusted-brands .trusted-brand-content {
        left: 42px !important;
        top: 50% !important;
        width: 52% !important;
        max-width: 52% !important;
        transform: translateY(-50%) !important;
    }

    .ui-trusted-brands .trusted-brand-logo,
    .ui-trusted-brands .trusted-brand-content .showcase-brand-logo-frame {
        margin-bottom: 10px !important;
    }

    .ui-trusted-brands .trusted-brand-logo img,
    .ui-trusted-brands .trusted-brand-content img,
    .ui-trusted-brands .trusted-brand-main-logo {
        width: auto !important;
        height: auto !important;
        max-width: 124px !important;
        max-height: 34px !important;
    }

    .ui-trusted-brands .trusted-brand-main-logo.showcase-brand-logo--hp {
        max-width: 35px !important;
        max-height: 35px !important;
    }

    .ui-trusted-brands .trusted-brand-description,
    .ui-trusted-brands .trusted-brand-content > .trusted-brand-description {
        width: 100% !important;
        max-width: 190px !important;
        min-height: 31px !important;
        margin: 0 !important;
        font-size: 10px !important;
        line-height: 1.45 !important;
    }

    .ui-trusted-brands .trusted-brand-button,
    .ui-trusted-brands .trusted-brand-content > .trusted-brand-button {
        width: fit-content !important;
        min-width: 0 !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 10px 0 0 !important;
        padding: 0 12px !important;
        gap: 5px !important;
        font-size: 9px !important;
    }

    .ui-trusted-brands .trusted-brand-button .icon {
        width: 11px !important;
        height: 11px !important;
    }

    .ui-trusted-brands .trusted-brand-arrow {
        width: 30px !important;
        height: 30px !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, .14) !important;
    }

    .ui-trusted-brands .trusted-brand-arrow.prev { left: 6px !important; }
    .ui-trusted-brands .trusted-brand-arrow.next { right: 6px !important; }
    .ui-trusted-brands .trusted-brand-arrow .icon { width: 13px !important; height: 13px !important; }

    .ui-trusted-brands .trusted-brand-list {
        margin-top: 9px !important;
        padding-bottom: 2px !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 7px !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none !important;
    }

    .ui-trusted-brands .trusted-brand-list::-webkit-scrollbar { display: none !important; }

    .ui-trusted-brands .trusted-brand-card {
        flex: 0 0 82px !important;
        width: 82px !important;
        min-width: 82px !important;
        max-width: 82px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 8px !important;
        border-radius: 8px !important;
        scroll-snap-align: start !important;
    }

    .ui-trusted-brands .trusted-brand-card img {
        width: 62px !important;
        max-width: 62px !important;
        height: 24px !important;
        max-height: 24px !important;
    }

    .ui-trusted-brands .trusted-brand-card img[alt="HP logo"] {
        width: 28px !important;
        max-width: 28px !important;
        height: 28px !important;
        max-height: 28px !important;
    }
}

@media (max-width: 390px) {
    .ui-trusted-brands .trusted-brand-content {
        left: 42px !important;
        width: 54% !important;
        max-width: 54% !important;
    }

    .ui-trusted-brands .trusted-brand-logo img,
    .ui-trusted-brands .trusted-brand-content img,
    .ui-trusted-brands .trusted-brand-main-logo {
        max-width: 116px !important;
        max-height: 32px !important;
    }

    .ui-trusted-brands .trusted-brand-description {
        max-width: 170px !important;
        font-size: 9px !important;
    }

    .ui-trusted-brands .trusted-brand-button {
        padding-inline: 10px !important;
        font-size: 8px !important;
    }
}


/* =========================================================
   DESKTOP QA — Trusted Brands transition refinement 2026-08-28
   Prevent old/new brand copy from cross-fading on top of each other.
   ========================================================= */
.ui-trusted-brands .trusted-brand-slide{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    z-index:0 !important;
    transition:opacity .26s ease !important;
}
.ui-trusted-brands .trusted-brand-slide.is-active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    z-index:2 !important;
}
