:root {
        --btso-title-lines: 2;
        --btso-image-padding: 12px;
        --btso-trust-bg: #f5f8fc;
        --btso-trust-border: #dce5ef;
        --btso-trust-text: #0b1f33;
        --btso-trust-accent: #0f5caa;
    }

            :is(.tp-product-title, .product-title, [class*="product-title"]) > a {
            display: -webkit-box;
            min-height: calc(1.45em * var(--btso-title-lines));
            overflow: hidden;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: var(--btso-title-lines);
            line-clamp: var(--btso-title-lines);
        }
    
            :is(
            .tp-product-thumb,
            .tp-product-item-thumb,
            .product-thumbnail,
            .product-image,
            [class*="product-thumb"],
            [class*="product-image"]
        ) img:not(.avatar):not([class*="icon"]) {
            box-sizing: border-box;
            width: 100%;
            height: 100%;
            padding: var(--btso-image-padding);
            object-fit: contain !important;
            object-position: center !important;
        }
    
            /* Quick view uses cropped square thumbnails; contain the original in a bounded gallery. */
        #product-quick-view-modal .bb-quick-view-gallery-images,
        #product-quick-view-modal .bb-quick-view-gallery-images .slick-list,
        #product-quick-view-modal .bb-quick-view-gallery-images .slick-track,
        #product-quick-view-modal .bb-quick-view-gallery-images .slick-slide {
            height: min(60vh, 480px) !important;
            min-height: 0 !important;
        }
        #product-quick-view-modal .bb-quick-view-gallery-images img:not(.zoomImg) {
            display: block !important;
            box-sizing: border-box !important;
            width: 100% !important;
            height: 100% !important;
            max-width: 100% !important;
            max-height: 100% !important;
            padding: 16px !important;
            object-fit: contain !important;
            object-position: center !important;
            transform: none !important;
        }
        #product-quick-view-modal .zoomImg { display: none !important; }
        @media (max-width: 767px) {
            #product-quick-view-modal .bb-quick-view-gallery-images,
            #product-quick-view-modal .bb-quick-view-gallery-images .slick-list,
            #product-quick-view-modal .bb-quick-view-gallery-images .slick-track,
            #product-quick-view-modal .bb-quick-view-gallery-images .slick-slide {
                height: min(45vh, 340px) !important;
            }
        }
    
    .btso-hidden,
    .btso-checkout-coupons-hidden { display: none !important; }

    .btso-visually-hidden {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .btso-filter-toggle {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        margin-top: 8px;
        padding: 0;
        border: 0;
        color: var(--tp-theme-primary, #0F5CAA);
        background: transparent;
        font-weight: 600;
        cursor: pointer;
    }

            body.btso-search-page .btso-search-hero {
            min-height: 0 !important;
            margin: 0 !important;
            padding-top: clamp(24px, 4vw, 48px) !important;
            padding-bottom: clamp(20px, 3vw, 36px) !important;
            background: linear-gradient(135deg, #f5f9ff 0%, #ffffff 68%) !important;
            border-bottom: 1px solid #e8eef5;
        }

        body.btso-search-page .btso-search-hero h1,
        body.btso-search-page .btso-search-hero h2 {
            max-width: 100%;
            margin-bottom: 8px !important;
            color: #0b1f33;
            font-size: clamp(26px, 3vw, 42px) !important;
            line-height: 1.15 !important;
            overflow-wrap: anywhere;
        }

        body.btso-search-page .btso-search-summary {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            margin-top: 12px;
            color: #526273;
            font-size: 15px;
        }

        body.btso-search-page .btso-search-summary-count,
        body.btso-search-page .btso-search-query-chip {
            display: inline-flex;
            align-items: center;
            min-height: 30px;
            padding: 4px 11px;
            border-radius: 999px;
            font-size: 13px;
            font-weight: 700;
        }

        body.btso-search-page .btso-search-query-chip {
            color: #0f5caa;
            background: #eaf3ff;
        }

        body.btso-search-page .btso-search-summary-count {
            color: #216e43;
            background: #eaf8f0;
        }

        body.btso-search-page .btso-search-category-strip {
            display: none !important;
        }

        body.btso-search-page :is(.tp-shop-area, .shop-area, [class*="shop-area"]) {
            padding-top: clamp(24px, 4vw, 48px) !important;
        }

        body.btso-search-page .tp-sidebar-search {
            display: none !important;
        }

        body.btso-search-page .btso-contextual-filter .bb-product-filter-items {
            display: block !important;
        }

        body.btso-search-page .btso-contextual-filter .bb-product-filter-item.btso-context-relevant {
            display: block !important;
        }

        body.btso-search-page :is(.tp-shop-widget, .shop-widget, .widget-filter, .product-filter) {
            border: 1px solid #e4eaf1;
            border-radius: 12px;
            background: #fff;
        }

        body.btso-search-page :is(.tp-product-item, .tp-product-item-2, .product-card) {
            border-color: #e6ebf1;
            border-radius: 12px;
            background: #fff;
            transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
        }

        @media (hover: hover) {
            body.btso-search-page :is(.tp-product-item, .tp-product-item-2, .product-card):hover {
                border-color: #bfd4eb;
                box-shadow: 0 12px 30px rgba(15, 92, 170, .10);
                transform: translateY(-2px);
            }
        }

        @media (min-width: 1200px) {
            body.btso-search-page .tp-shop-area .row > .col-xl-3 {
                width: 22%;
            }

            body.btso-search-page .tp-shop-area .row > .col-xl-9 {
                width: 78%;
            }

            body.btso-search-page .bb-product-items-wrapper > .row > .col {
                width: 33.333333%;
                flex: 0 0 auto;
            }
        }

        @media (max-width: 767px) {
            body.btso-search-page .btso-search-hero {
                padding: 20px 0 !important;
            }

            body.btso-search-page .btso-search-summary {
                align-items: flex-start;
                flex-direction: column;
            }
        }
    
    body.btso-product-page .tp-product-details-area {
        padding-top: clamp(20px, 3vw, 40px) !important;
    }

    body.btso-product-page .tp-product-details-title {
        margin-bottom: 10px !important;
        font-size: clamp(27px, 2.45vw, 38px) !important;
        line-height: 1.12 !important;
    }

    body.btso-product-page .tp-product-details-description {
        display: -webkit-box;
        max-height: 4.65em;
        margin-bottom: 12px !important;
        overflow: hidden;
        color: #536273;
        line-height: 1.55;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }

    body.btso-product-page .tp-product-details-price-block {
        margin-bottom: 10px !important;
    }

    body.btso-product-page .bb-product-gallery-images img {
        max-height: 520px !important;
        object-fit: contain !important;
    }

    body.btso-product-page #bt-ai-sales-root .bt-ai-sales-launch,
    body.btso-search-page #bt-ai-sales-root .bt-ai-sales-launch {
        bottom: 82px !important;
    }

    @media (max-width: 767px) {
        body.btso-product-page .tp-product-details-title {
            font-size: 26px !important;
        }

        body.btso-product-page .bb-product-gallery-images img {
            max-height: 390px !important;
        }

        body.btso-product-page #bt-ai-sales-root .bt-ai-sales-launch {
            bottom: 88px !important;
        }
    }

    .btso-trust-panel {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 18px;
        padding: 14px;
        border: 1px solid var(--btso-trust-border);
        border-radius: 12px;
        color: var(--btso-trust-text);
        background: var(--btso-trust-bg);
    }

    .btso-trust-item { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
    .btso-trust-icon {
        display: inline-flex !important;
        flex: 0 0 22px !important;
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        overflow: hidden !important;
        color: var(--btso-trust-accent);
    }
    .btso-trust-icon svg {
        display: block !important;
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
    }
    .btso-trust-copy { min-width: 0; font-size: 12px; line-height: 1.4; }
    .btso-trust-copy strong { display: block; margin-bottom: 2px; color: var(--btso-trust-text); font-size: 13px; }

    .btso-mobile-buy {
        position: fixed;
        z-index: 9996;
        right: 0;
        bottom: 0;
        left: 0;
        display: none;
        padding: 10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
        border-top: 1px solid #dce5ef;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -8px 24px rgba(11, 31, 51, .12);
        backdrop-filter: blur(10px);
    }

    .btso-mobile-buy.is-visible { display: block; }
    .btso-mobile-buy button {
        width: 100%;
        min-height: 46px;
        border: 0;
        border-radius: 8px;
        color: #fff;
        background: var(--tp-theme-primary, #0F5CAA);
        font-weight: 700;
    }

    @media (max-width: 575px) {
        .btso-trust-panel { grid-template-columns: 1fr; }
    }

    @media (min-width: 768px) {
        .btso-mobile-buy { display: none !important; }
    }

    /* Checkout navigation stays visible until the final button enters the viewport. */
    #btso-checkout-payment-bar[hidden]{display:none!important}
    #btso-checkout-payment-bar{position:fixed;bottom:0;left:0;right:0;z-index:1040;background:#fff;border-top:1px solid #dce5ef;box-shadow:0 -5px 22px #0b1f3312;padding:12px 20px calc(12px + env(safe-area-inset-bottom))}
    .btso-payment-bar-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
    .btso-payment-bar-inner small{display:block;color:#526477;font-size:12px}
    .btso-payment-bar-total{display:block;font-size:21px;color:#0b1f33}
    .btso-payment-bar-inner button{min-height:48px;border:0;border-radius:8px;background:#0f5caa;color:#fff;font-weight:700;padding:12px 28px;cursor:pointer}
    .btso-payment-bar-inner button:disabled{opacity:.55;cursor:wait}
    body.btso-payment-bar-visible{padding-bottom:96px}
    body.btso-payment-bar-visible .bt-ai-sales-launch{bottom:104px!important}
    .checkout-section--payment{scroll-margin-top:24px}
    .checkout-product-img-wrapper img{object-fit:contain!important;background:#fff}
    @media(max-width:575px){#btso-checkout-payment-bar{padding-left:14px;padding-right:14px}.btso-payment-bar-inner{gap:10px}.btso-payment-bar-inner button{padding:12px 18px}.btso-payment-bar-total{font-size:19px}}