/* =========================================================
   EXPOSITORES RELACIONADOS
   Replica visual da lista oficial fora do #edx-exhibitor-directory
========================================================= */

.edx-related-exhibitors-wrapper {
    --edx-primary-color: #000000;
    --edx-secondary-color: #666666;

    --edx-text-color: #111111;
    --edx-text-light: #666666;
    --edx-text-muted: #8a8a8a;

    --edx-border-color: #e7e7e7;
    --edx-border-soft: #efefef;

    --edx-bg-light: #f5f5f5;
    --edx-bg-card: #ffffff;
    --edx-bg-logo: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);

    --edx-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    --edx-font-xs: 12px;
    --edx-font-sm: 14px;
    --edx-font-md: 16px;
    --edx-font-lg: 18px;
    --edx-font-xl: 22px;
    --edx-font-2xl: 32px;
    --edx-font-3xl: 42px;

    --edx-space-1: 6px;
    --edx-space-2: 10px;
    --edx-space-3: 14px;
    --edx-space-4: 18px;
    --edx-space-5: 24px;
    --edx-space-6: 32px;
    --edx-space-7: 40px;

    --edx-radius-sm: 10px;
    --edx-radius-md: 16px;
    --edx-radius-lg: 20px;
    --edx-radius-xl: 24px;

    --edx-shadow-sm: 0 6px 18px rgba(0, 0, 0, 0.04);
    --edx-shadow-md: 0 12px 30px rgba(0, 0, 0, 0.07);
    --edx-shadow-lg: 0 18px 44px rgba(0, 0, 0, 0.10);

    margin: 40px 0;
    font-family: var(--edx-font-family);
    color: var(--edx-text-color);
}

.edx-related-exhibitors-frame {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.edx-related-exhibitors-header {
    margin-bottom: 18px;
}

.edx-related-exhibitors-title {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 700;
    color: #111827;
}

.edx-related-exhibitors-list {
    display: flex;
    flex-direction: column;
    gap: var(--edx-space-4);
    width: 100%;
}

/* CARD BASE */
.edx-related-exhibitors-list .edx-exhibitor-card {
    display: block;
    background: var(--edx-bg-card);
    border: 1px solid var(--edx-border-color);
    border-radius: var(--edx-radius-xl);
    overflow: hidden;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        background 0.28s ease;
    text-decoration: none !important;
    color: inherit;
    box-sizing: border-box;
    box-shadow: var(--edx-shadow-sm);
}

.edx-related-exhibitors-list .edx-exhibitor-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--edx-shadow-lg);
    border-color: #dcdcdc;
}

.edx-related-exhibitors-list .edx-exhibitor-card,
.edx-related-exhibitors-list .edx-exhibitor-card * {
    text-decoration: none;
}

/* LISTA */
.edx-related-exhibitors-list .edx-exhibitor-card-list {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: var(--edx-space-5);
    align-items: flex-start;
    padding: var(--edx-space-5);
    min-height: 190px;
    color: inherit;
}

/* LOGO */
.edx-related-exhibitors-list .edx-exhibitor-card-logo-list {
    width: 100%;
    height: 128px;
    min-height: 128px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    background: var(--edx-bg-logo);
    border: 1px solid var(--edx-border-soft);
    border-radius: 16px;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
}

.edx-related-exhibitors-list .edx-exhibitor-card-logo-list::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    pointer-events: none;
}

.edx-related-exhibitors-list .edx-exhibitor-card-logo-list img {
    display: block;
    max-width: 84%;
    max-height: 84%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center center;
    margin-left: auto;
    margin-right: auto;
    filter: contrast(1.02) saturate(1.01);
}

.edx-related-exhibitors-list .edx-exhibitor-card-logo-fallback {
    width: 74px;
    height: 74px;
    border-radius: 999px;
    background: #f3f4f6;
    border: 1px solid #e7e7e7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 700;
    color: #555;
}

/* CONTEÚDO */
.edx-related-exhibitors-list .edx-exhibitor-card-list,
.edx-related-exhibitors-list .edx-exhibitor-card-list * {
    text-align: left !important;
}

.edx-related-exhibitors-list .edx-exhibitor-card-list-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--edx-space-2);
    width: 100%;
    min-width: 0;
    text-align: left !important;
}

.edx-related-exhibitors-list .edx-exhibitor-card-list-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--edx-space-3);
    width: 100%;
}

.edx-related-exhibitors-list .edx-exhibitor-card-title {
    margin: 0;
    min-width: 0;
    min-height: unset;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--edx-text-color);
    text-align: left !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.edx-related-exhibitors-list .edx-exhibitor-card-profile {
    width: 100%;
    max-width: none;
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    text-align: left !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* BADGE */
.edx-related-exhibitors-list .edx-exhibitor-card-booth-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    align-self: start;
    flex-shrink: 0;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid #dddddd;
    background: #fafafa;
    font-size: var(--edx-font-sm);
    font-weight: 600;
    line-height: 1.2;
    color: var(--edx-text-color);
    white-space: nowrap;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.edx-related-exhibitors-list .edx-exhibitor-card:hover .edx-exhibitor-card-booth-inline {
    background: #f5f5f5;
    border-color: #d3d3d3;
}

/* RESPONSIVO */
@media (max-width: 1024px) {
    .edx-related-exhibitors-list .edx-exhibitor-card-list {
        grid-template-columns: 160px 1fr;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-logo-list {
        height: 110px;
        min-height: 110px;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-logo-list img {
        max-width: 82%;
        max-height: 82%;
    }
}

@media (max-width: 767px) {
    .edx-related-exhibitors-frame {
        padding: 18px;
        border-radius: 20px;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-list {
        grid-template-columns: 1fr;
        min-height: unset;
        padding: 16px;
        gap: 12px;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-logo-list {
        height: 100px;
        min-height: 100px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-logo-list img {
        display: block;
        max-width: 82%;
        max-height: 82%;
        width: auto;
        height: auto;
        margin: auto;
        object-fit: contain;
        object-position: center center;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-list-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start !important;
        gap: 8px;
        text-align: left !important;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-list-header {
        display: contents;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-title {
        order: 1;
        margin: 0;
        min-height: unset;
        font-size: 20px;
        line-height: 1.2;
        text-align: left !important;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-profile {
        order: 3;
        text-align: left !important;
        line-height: 1.55;
        -webkit-line-clamp: 3;
    }

    .edx-related-exhibitors-list .edx-exhibitor-card-booth-inline {
        order: 4;
        align-self: flex-start !important;
        justify-self: auto;
        min-height: 32px;
        padding: 0 12px;
        font-size: 12px;
    }
}