/*
   SXPO Public Trade Show Experience
   Brand theme: SXPO orange + deep navy neutrals.
   This stylesheet intentionally avoids the blue accent used by the previous
   Trade Show experience so the module follows the public SXPO website brand.
*/

body.sxpo-tradeshow-site {
    --ts-brand: #ff7a00;
    --ts-brand-dark: #e96d00;
    --ts-brand-soft: #fff3e6;
    --ts-brand-soft-2: #fff8f0;
    --ts-brand-border: #ffd3ad;
    --ts-ink: #17233b;
    --ts-ink-soft: #30405a;
    --ts-muted: #68758a;
    --ts-border: #e5eaf1;
    --ts-surface: #ffffff;
    --ts-surface-soft: #f7f9fc;
    --ts-shadow-sm: 0 8px 24px rgba(16, 42, 86, .07);
    --ts-shadow-md: 0 18px 48px rgba(16, 42, 86, .11);
    --ts-radius: 18px;
    background: #fff;
}

    body.sxpo-tradeshow-site .btn-sxpo {
        background: var(--ts-brand);
        border-color: var(--ts-brand);
        box-shadow: 0 8px 18px rgba(255, 122, 0, .18);
    }

        body.sxpo-tradeshow-site .btn-sxpo:hover,
        body.sxpo-tradeshow-site .btn-sxpo:focus {
            background: var(--ts-brand-dark);
            border-color: var(--ts-brand-dark);
            box-shadow: 0 10px 22px rgba(255, 122, 0, .24);
        }

    body.sxpo-tradeshow-site .btn-outline-primary {
        --bs-btn-color: var(--ts-brand);
        --bs-btn-border-color: var(--ts-brand);
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: var(--ts-brand);
        --bs-btn-hover-border-color: var(--ts-brand);
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: var(--ts-brand-dark);
        --bs-btn-active-border-color: var(--ts-brand-dark);
    }

    /* Directory */
    body.sxpo-tradeshow-site .ts-directory-hero {
        padding: 50px 0 75px;
        background: radial-gradient(circle at 88% 12%, rgba(255, 122, 0, .13), transparent 25%), radial-gradient(circle at 10% 88%, rgba(255, 154, 46, .08), transparent 26%), linear-gradient(135deg, #fff9f3 0%, #fff 58%, #fff7ed 100%);
    }

        body.sxpo-tradeshow-site .ts-directory-hero::before {
            width: 440px;
            height: 440px;
            right: -210px;
            top: -250px;
            background: rgba(255, 122, 0, .08);
        }

    body.sxpo-tradeshow-site .ts-eyebrow,
    body.sxpo-tradeshow-site .sxpo-eyebrow {
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .ts-directory-hero h1 span {
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .ts-directory-stat-card {
        border-color: var(--ts-brand-border);
        box-shadow: var(--ts-shadow-md);
    }

        body.sxpo-tradeshow-site .ts-directory-stat-card::before {
            content: "";
            display: block;
            /*width: 44px;*/
            height: 4px;
            margin-bottom: 18px;
            border-radius: 999px;
            background: var(--ts-brand);
        }

    body.sxpo-tradeshow-site .ts-search-panel {
        border-color: #eadfd5;
        box-shadow: 0 22px 60px rgba(16, 42, 86, .11);
    }

        body.sxpo-tradeshow-site .ts-search-input-wrap input:focus,
        body.sxpo-tradeshow-site .ts-search-panel .form-select:focus,
        body.sxpo-tradeshow-site .sxpo-ts-filterbar input:focus,
        body.sxpo-tradeshow-site .sxpo-ts-filterbar select:focus {
            border-color: var(--ts-brand);
            box-shadow: 0 0 0 .2rem rgba(255, 122, 0, .12);
        }

    /*body.sxpo-tradeshow-site .ts-clear-link,
body.sxpo-tradeshow-site .ts-show-body h2 a:hover,
body.sxpo-tradeshow-site .sxpo-ts-filterbar + a:hover,
body.sxpo-tradeshow-site .sxpo-company-actions a:hover {
    color: var(--ts-brand);
}*/

    body.sxpo-tradeshow-site .ts-show-card {
        border-color: var(--ts-border);
        box-shadow: 0 5px 20px rgba(16, 42, 86, .035);
    }

        body.sxpo-tradeshow-site .ts-show-card:hover {
            border-color: var(--ts-brand-border);
            box-shadow: 0 24px 55px rgba(16, 42, 86, .12);
        }

    body.sxpo-tradeshow-site .ts-show-media::after {
        content: "";
        position: absolute;
        inset: auto 0 0;
        height: 72px;
        pointer-events: none;
        background: linear-gradient(180deg, transparent, rgba(10, 20, 34, .32));
    }

    body.sxpo-tradeshow-site .ts-show-media .ts-status-badge {
        z-index: 2;
    }

    body.sxpo-tradeshow-site .ts-status-badge.is-open,
    body.sxpo-tradeshow-site .ts-status-badge.is-live {
        color: var(--ts-brand-dark);
    }

    body.sxpo-tradeshow-site .ts-industry-chips span,
    body.sxpo-tradeshow-site .sxpo-chip-row span {
        background: var(--ts-brand-soft);
        color: #9a4f00;
        border-color: var(--ts-brand-border);
    }

    body.sxpo-tradeshow-site .ts-arrow-link {
        background: var(--ts-brand);
        box-shadow: 0 8px 18px rgba(255, 122, 0, .2);
    }

        body.sxpo-tradeshow-site .ts-arrow-link:hover {
            background: var(--ts-brand-dark);
            transform: translateY(-1px);
        }

    body.sxpo-tradeshow-site .ts-empty-icon {
        background: var(--ts-brand-soft);
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .ts-page-link.active,
    body.sxpo-tradeshow-site .ts-page-link:hover,
    body.sxpo-tradeshow-site .sxpo-ts-pagination a.active,
    body.sxpo-tradeshow-site .sxpo-ts-pagination a:hover {
        background: var(--ts-brand);
        border-color: var(--ts-brand);
        color: #fff;
    }

    body.sxpo-tradeshow-site .ts-cta-card {
        position: relative;
        overflow: hidden;
        background: linear-gradient(135deg, #16243a 0%, #102a56 70%, #1d3557 100%);
        box-shadow: var(--ts-shadow-md);
    }

        body.sxpo-tradeshow-site .ts-cta-card::after {
            content: "";
            position: absolute;
            width: 240px;
            height: 240px;
            right: -90px;
            top: -100px;
            border-radius: 50%;
            background: rgba(255, 122, 0, .18);
        }

        body.sxpo-tradeshow-site .ts-cta-card .ts-eyebrow {
            color: #ffb56b;
        }

    /* Trade Show event navigation */
    body.sxpo-tradeshow-site .sxpo-ts-event-nav {
        background: rgba(255, 255, 255, .97);
        border-bottom-color: #e8e1da;
        box-shadow: 0 5px 22px rgba(16, 42, 86, .06);
    }

    body.sxpo-tradeshow-site .sxpo-ts-event-brand:hover,
    body.sxpo-tradeshow-site .sxpo-ts-event-links a:hover,
    body.sxpo-tradeshow-site .sxpo-ts-event-links a:focus {
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .sxpo-ts-event-brand-icon {
        background: var(--ts-brand-soft);
        color: var(--ts-brand);
        border: 1px solid var(--ts-brand-border);
    }

    body.sxpo-tradeshow-site .sxpo-ts-event-links a:hover::after,
    body.sxpo-tradeshow-site .sxpo-ts-event-links a:focus::after {
        background: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .sxpo-ts-event-links a.is-active {
        color: var(--ts-brand);
    }

        body.sxpo-tradeshow-site .sxpo-ts-event-links a.is-active::after {
            position: absolute;
            right: 0;
            bottom: 12px;
            left: 0;
            height: 2px;
            border-radius: 2px;
            background: var(--ts-brand);
            content: "";
        }

    /* Event detail */
    body.sxpo-tradeshow-site .ts-detail-hero {
        min-height: 520px;
    }

    body.sxpo-tradeshow-site .ts-detail-cover-overlay {
        background: linear-gradient(90deg, rgba(9, 18, 31, .96), rgba(9, 18, 31, .73) 50%, rgba(9, 18, 31, .28)), linear-gradient(0deg, rgba(9, 18, 31, .92), transparent 58%);
    }

    body.sxpo-tradeshow-site .ts-detail-hero h1 {
        max-width: 980px;
    }

    body.sxpo-tradeshow-site .ts-detail-action-card {
        box-shadow: 0 18px 44px rgba(0, 0, 0, .2);
    }

        body.sxpo-tradeshow-site .ts-detail-action-card .btn-sxpo {
            background: var(--ts-brand);
        }

    body.sxpo-tradeshow-site .ts-classification-icon,
    body.sxpo-tradeshow-site .ts-discovery-icon {
        background: var(--ts-brand-soft);
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .ts-info-row > i,
    body.sxpo-tradeshow-site .ts-related-show > i {
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .ts-discovery-card {
        background: linear-gradient(135deg, #fff8f0, #fff);
        border-color: var(--ts-brand-border);
    }

    /* Exhibition floor */
    body.sxpo-tradeshow-site .sxpo-exhibition-page {
        min-height: 70vh;
        background: radial-gradient(circle at 92% 4%, rgba(255, 122, 0, .06), transparent 24%), #fff;
    }

        body.sxpo-tradeshow-site .sxpo-exhibition-page .btn-outline-dark:hover {
            background: var(--ts-brand);
            border-color: var(--ts-brand);
            color: #fff;
        }

    body.sxpo-tradeshow-site .accordion-item {
        border: 1px solid var(--ts-border) !important;
        border-radius: 16px !important;
        box-shadow: var(--ts-shadow-sm) !important;
    }

    body.sxpo-tradeshow-site .accordion-button {
        padding: 20px 22px;
        color: var(--ts-ink);
        font-size: .96rem;
        background: #fff;
    }

        body.sxpo-tradeshow-site .accordion-button:not(.collapsed) {
            color: var(--ts-brand-dark);
            background: var(--ts-brand-soft-2);
            box-shadow: inset 4px 0 0 var(--ts-brand);
        }

        body.sxpo-tradeshow-site .accordion-button:focus {
            border-color: var(--ts-brand-border);
            box-shadow: 0 0 0 .2rem rgba(255, 122, 0, .1);
        }

    body.sxpo-tradeshow-site .sxpo-public-floor {
        padding: 18px;
        background: linear-gradient(90deg, rgba(255, 122, 0, .025) 1px, transparent 1px), linear-gradient(rgba(255, 122, 0, .025) 1px, transparent 1px), #f8fafc;
        background-size: 24px 24px;
        border-color: #e8e2dc;
        box-shadow: inset 0 0 0 1px rgba(255, 122, 0, .03);
    }

    body.sxpo-tradeshow-site .sxpo-public-booth.is-occupied {
        border-color: #e4ddd5;
        box-shadow: 0 5px 16px rgba(16, 42, 86, .035);
    }

        body.sxpo-tradeshow-site .sxpo-public-booth.is-occupied:hover {
            border-color: var(--ts-brand);
            box-shadow: 0 12px 28px rgba(255, 122, 0, .14);
            background: #fffaf5;
        }

        body.sxpo-tradeshow-site .sxpo-public-booth.is-occupied .sxpo-public-booth-code {
            color: var(--ts-brand-dark);
        }

    body.sxpo-tradeshow-site .sxpo-public-booth.is-empty {
        background: rgba(255, 255, 255, .72);
        color: #9aa3af;
    }

    /* Directory / product / exhibitor experience */
    body.sxpo-tradeshow-site .sxpo-ts-page-head {
        position: relative;
        overflow: hidden;
        background: radial-gradient(circle at 90% 10%, rgba(255, 122, 0, .11), transparent 26%), linear-gradient(135deg, #fffaf5, #fff 68%);
        border-bottom: 1px solid #eee5dc;
    }

        body.sxpo-tradeshow-site .sxpo-ts-page-head::after {
            content: "";
            position: absolute;
            width: 180px;
            height: 180px;
            right: 6%;
            bottom: -100px;
            border: 1px solid rgba(255, 122, 0, .18);
            border-radius: 50%;
        }

    body.sxpo-tradeshow-site .sxpo-ts-filterbar {
        border-color: #e7e0d9;
        box-shadow: var(--ts-shadow-sm);
    }

        body.sxpo-tradeshow-site .sxpo-ts-filterbar .sxpo-search i {
            color: var(--ts-brand);
        }

    body.sxpo-tradeshow-site .sxpo-ts-empty {
        border-color: var(--ts-brand-border);
        background: #fffaf5;
    }

        body.sxpo-tradeshow-site .sxpo-ts-empty > i {
            color: var(--ts-brand);
        }

    body.sxpo-tradeshow-site .sxpo-show-card,
    body.sxpo-tradeshow-site .sxpo-show-product-card,
    body.sxpo-tradeshow-site .sxpo-company-card,
    body.sxpo-tradeshow-site .sxpo-product-section,
    body.sxpo-tradeshow-site .sxpo-side-card {
        border-color: var(--ts-border);
        box-shadow: 0 6px 22px rgba(16, 42, 86, .045);
    }

        body.sxpo-tradeshow-site .sxpo-show-card:hover,
        body.sxpo-tradeshow-site .sxpo-show-product-card:hover,
        body.sxpo-tradeshow-site .sxpo-company-card:hover {
            border-color: var(--ts-brand-border);
            box-shadow: 0 18px 42px rgba(16, 42, 86, .1);
            transform: translateY(-3px);
        }

    body.sxpo-tradeshow-site .sxpo-show-product-card,
    body.sxpo-tradeshow-site .sxpo-company-card {
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    body.sxpo-tradeshow-site .sxpo-product-show-head,
    body.sxpo-tradeshow-site .sxpo-product-detail-hero {
        background: linear-gradient(135deg, #fffaf5, #fff 72%);
    }

    body.sxpo-tradeshow-site .sxpo-product-kicker,
    body.sxpo-tradeshow-site .sxpo-section-heading small,
    body.sxpo-tradeshow-site .sxpo-section-compare-link,
    body.sxpo-tradeshow-site .sxpo-product-company a,
    body.sxpo-tradeshow-site .sxpo-side-row i,
    body.sxpo-tradeshow-site .sxpo-side-link i,
    body.sxpo-tradeshow-site .sxpo-product-gallery-meta i,
    body.sxpo-tradeshow-site .sxpo-product-connect-card > div:first-child span,
    body.sxpo-tradeshow-site .sxpo-product-connect-card > small i {
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .sxpo-product-thumbs button.active {
        border-color: var(--ts-brand);
        box-shadow: 0 0 0 2px rgba(255, 122, 0, .12);
    }

    body.sxpo-tradeshow-site .sxpo-product-taxonomy span {
        background: var(--ts-brand-soft);
        color: #9a4f00;
        border-color: var(--ts-brand-border);
    }

    body.sxpo-tradeshow-site .sxpo-product-actions a.primary,
    body.sxpo-tradeshow-site .sxpo-product-actions button.primary,
    body.sxpo-tradeshow-site .sxpo-product-connect-actions button.primary {
        background: var(--ts-brand);
        border-color: var(--ts-brand);
    }

        body.sxpo-tradeshow-site .sxpo-product-actions a.primary:hover,
        body.sxpo-tradeshow-site .sxpo-product-actions button.primary:hover,
        body.sxpo-tradeshow-site .sxpo-product-connect-actions button.primary:hover {
            background: var(--ts-brand-dark);
            border-color: var(--ts-brand-dark);
        }

    body.sxpo-tradeshow-site .sxpo-product-actions button.is-saved,
    body.sxpo-tradeshow-site .btn-sxpo-soft,
    body.sxpo-tradeshow-site [data-sxpo-save].is-saved,
    body.sxpo-tradeshow-site [data-sxpo-follow].is-following {
        background: var(--ts-brand-soft) !important;
        border-color: var(--ts-brand-border) !important;
        color: #9a4f00 !important;
    }

    body.sxpo-tradeshow-site .sxpo-product-connect-card {
        border-color: var(--ts-brand-border);
        background: linear-gradient(135deg, #fff8f0, #fff);
    }

    body.sxpo-tradeshow-site .sxpo-product-section-nav a:hover,
    body.sxpo-tradeshow-site .sxpo-product-section-nav a.active {
        color: var(--ts-brand);
        border-bottom-color: var(--ts-brand);
    }

    /* Booth */
    body.sxpo-tradeshow-site .sxpo-booth-logo i {
        color: var(--ts-brand);
    }

    body.sxpo-tradeshow-site .sxpo-booth-section {
        box-shadow: var(--ts-shadow-sm);
    }

    /* Generic Trade Show links/icons that previously inherited blue Bootstrap styles */
    body.sxpo-tradeshow-site .text-primary {
        color: var(--ts-brand) !important;
    }

    body.sxpo-tradeshow-site .bg-primary {
        background-color: var(--ts-brand) !important;
    }

    body.sxpo-tradeshow-site .border-primary {
        border-color: var(--ts-brand) !important;
    }

@media (max-width: 767.98px) {
    body.sxpo-tradeshow-site .ts-directory-hero {
        padding: 76px 0 48px;
    }

    body.sxpo-tradeshow-site .ts-detail-hero {
        min-height: 510px;
    }

    body.sxpo-tradeshow-site .ts-detail-hero-content {
        padding-top: 110px;
        padding-bottom: 40px;
    }

    body.sxpo-tradeshow-site .sxpo-ts-page-head {
        padding-bottom: 10px;
    }
}
