﻿/* ==========================================================================
   Event Sponsors Widget - Refactored Multi-View Stylesheet
   ========================================================================== */

.event-sponsors-wrapper.width-sidebar {
    max-width: 240px;
    margin: 0 auto;
}

.event-sponsors-wrapper.width-full {
    max-width: 902px;
    margin: 40px auto;
}

.event-sponsors {
    margin: 20px auto;
    font-family: inherit;
    color: #333;
}

    .event-sponsors .tier-title {
        font-size: 18px;
        font-weight: 600;
        text-transform: uppercase;
        margin-bottom: 20px;
        border-top: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        padding: 15px 0;
		background-color: #fff;
    }

    /* --------------------------------------------------------------------------
   1. CLASSIC VIEW (Detailed Logo + Description)
   -------------------------------------------------------------------------- */
    .event-sponsors .sponsor-tier.classic-view .sponsor-item {
        display: flex;
        gap: 30px;
        margin: 25px 0 0;
        padding-bottom: 20px;
        border-bottom: 1px solid #e0e0e0;
        align-items: flex-start;
    }

        .event-sponsors .sponsor-tier.classic-view .sponsor-item:last-child {
            border-bottom: none;
        }

    .event-sponsors .sponsor-tier.classic-view .sponsor-logo {
        flex: 0 0 180px;
        max-width: 180px;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        padding-top: 5px;
    }

        .event-sponsors .sponsor-tier.classic-view .sponsor-logo img {
            max-width: 100%;
            max-height: 85px; /* Keeps logos restrained cleanly */
            width: auto;
            height: auto;
            display: block;
            object-fit: contain;
        }

    .event-sponsors .sponsor-tier.classic-view .sponsor-details {
        flex: 1;
    }

    .event-sponsors .sponsor-tier.classic-view .sponsor-name {
        font-weight: 700;
        font-size: 16px;
        margin: 0 0 8px 0;
        text-transform: uppercase;
        color: #222;
    }

    .event-sponsors .sponsor-tier.classic-view .sponsor-description {
        font-size: 14px;
        line-height: 1.55;
        color: #444;
        text-transform: none;
        font-weight: 300;
        min-height: 60px;
    }

        /* Ensure emphasized company names render bold */
        .event-sponsors .sponsor-tier.classic-view .sponsor-description strong {
            font-weight: 700;
            color: #111;
        }

    .event-sponsors .sponsor-tier.classic-view .sponsor-link a {
        color: #0066cc;
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
    }

        .event-sponsors .sponsor-tier.classic-view .sponsor-link a:hover {
            text-decoration: underline;
        }

    /* --- Description Truncation & Read More Toggle --- */
    .event-sponsors .sponsor-description-wrapper {
        position: relative;
        margin-bottom: 8px;
    }

    .event-sponsors .sponsor-description {
        font-size: 14px;
        line-height: 1.55;
        color: #333;
    }

        /* Clamp to ~5-6 lines */
        .event-sponsors .sponsor-description.is-clamped {
            display: -webkit-box;
            -webkit-line-clamp: 5;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }

    .event-sponsors .sponsor-read-more {
        display: inline-block;
        color: #0066cc;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        margin-top: 4px;
        background: none;
        border: none;
        padding: 0;
    }

        .event-sponsors .sponsor-read-more:hover {
            text-decoration: underline;
        }

/* --------------------------------------------------------------------------
   2. LOGO GRID VIEW
   -------------------------------------------------------------------------- */
.sponsor-tier.logo-grid-view {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 30px 20px;
    margin-bottom: 50px;
    text-align: center;
}

    .sponsor-tier.logo-grid-view .tier-title {
        flex: 0 0 100%;
        background: #eee;
        padding: 10px 0;
        font-weight: 700;
        color: #000;
        margin-bottom: 20px;
        text-align: center;
        text-transform: capitalize;
        border: 2px solid #000;
        border-radius: 8px 8px 0 0;
    }

    .sponsor-tier.logo-grid-view .sponsor-item {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px;
        box-sizing: border-box;
        border: none;
        margin: 0;
        flex: 0 0 calc(50% - 20px);
    }

        .sponsor-tier.logo-grid-view .sponsor-item img {
            max-width: 100%;
            width: auto;
            object-fit: contain;
            display: block;
            margin: 0 auto;
            transition: transform 0.2s ease-in-out;
        }

            .sponsor-tier.logo-grid-view .sponsor-item img:hover {
                transform: scale(1.04);
            }

@media (min-width: 768px) {
    .sponsor-tier.logo-grid-view.tier-level-1 .sponsor-item {
        flex: 0 0 calc(33.333% - 20px);
    }

        .sponsor-tier.logo-grid-view.tier-level-1 .sponsor-item img {
            max-height: 95px;
        }

    .sponsor-tier.logo-grid-view.tier-level-2 .sponsor-item {
        flex: 0 0 calc(25% - 20px);
    }

        .sponsor-tier.logo-grid-view.tier-level-2 .sponsor-item img {
            max-height: 80px;
        }

    .sponsor-tier.logo-grid-view.tier-level-3 .sponsor-item {
        flex: 0 0 calc(20% - 20px);
    }

        .sponsor-tier.logo-grid-view.tier-level-3 .sponsor-item img {
            max-height: 70px;
        }
}

/* --------------------------------------------------------------------------
   3. HORIZONTAL TICKER SCROLLER VIEW
   -------------------------------------------------------------------------- */
.sponsor-scroller-container {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    padding: 15px 0;
    background: #fff;

}

.sponsor-scroller-track {
    display: inline-flex;
    align-items: center;
    gap: 40px;
    animation: marquee-scroll 100s linear infinite;
}

.sponsor-scroller-container:hover .sponsor-scroller-track {
    animation-play-state: paused;
}

.sponsor-scroller-track img {
    max-height: 55px;
    width: auto;
    object-fit: contain;
}

@keyframes marquee-scroll {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* --------------------------------------------------------------------------
   4. SIDEBAR COMPACT STACK VIEW
   -------------------------------------------------------------------------- */
.sponsor-tier.sidebar-view {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

    .sponsor-tier.sidebar-view .sponsor-item {
        border: none;
        padding: 0;
        margin: 0;
    }

        .sponsor-tier.sidebar-view .sponsor-item img {
            max-width: 220px;
            max-height: 75px;
            object-fit: contain;
        }
