/* Translog Africa — surcharges légères par-dessus le thème Solvior (doc/Template) */

.tj-logo-mark {
   height: 44px;
   width: 44px;
   border-radius: 50%;
   object-fit: cover;
   background: #fff;
   padding: 2px;
   margin-inline-end: 10px;
   vertical-align: middle;
}

.tj-text-logo {
   font-family: var(--tj-ff-heading, inherit);
   font-weight: 700;
   font-size: 24px;
   line-height: 1;
   color: var(--tj-color-heading-primary, #051229);
   letter-spacing: -0.02em;
}

.tj-text-logo span {
   color: var(--tj-color-theme-primary, #0075ff);
}

.header-2.header-absolute .tj-text-logo,
.hamburger_logo .tj-text-logo {
   color: #fff;
}

.header-2.header-absolute .tj-text-logo span,
.hamburger_logo .tj-text-logo span {
   color: var(--tj-color-theme-primary, #0075ff);
}

.footer2-col-1 .tj-text-logo {
   color: #fff;
}

/* Empty-state message shown when a data-driven section has no content yet */
.tj-empty-state {
   text-align: center;
   padding: 24px;
   color: var(--tj-color-text-body-2, #7e8590);
   font-style: italic;
}

.brand-logo img {
   max-height: 60px;
   width: auto;
   object-fit: contain;
}

/* Avatar fallback for speakers without an uploaded photo yet — initials on a
   gradient tile, sized to match the team-card image slot (or a small circle
   for inline mentions). Avoids showing a mismatched stock photo. */
.tj-avatar-fallback {
   width: 100%;
   aspect-ratio: 3 / 4;
   display: flex;
   align-items: center;
   justify-content: center;
   background: linear-gradient(135deg, var(--tj-color-theme-primary, #0075ff), var(--tj-color-theme-dark, #051229));
   color: #fff;
   font-size: 42px;
   font-weight: 700;
   letter-spacing: 0.05em;
}

.tj-avatar-fallback.tj-avatar-sm {
   width: 40px;
   height: 40px;
   aspect-ratio: 1 / 1;
   border-radius: 50%;
   font-size: 14px;
   flex-shrink: 0;
}
