/* ============================================================
   AU 2026 — Speaker Catalog  (WORKFLOW CSS, not Shared)
   Deltas on top of the event Shared dark theme.
   Pages: /speakercatalog/page/speakers (In-person)
          /speakercatalog/page/speakersdigital (Digital)
   ============================================================ */

/* --- Speaker cards: BLACK --------------------------------- */
/* Overrides Shared ".catalog-result { background:#fff }".     */
.catalog-result.speaker-card {
    background-color: #000000 !important;
    border: 1px solid #333333 !important;
    border-radius: 10px !important;
}

/* --- Card columns: fixed widths --------------------------- */
/* Fixed-proportion name + title columns so rows line up the   */
/* same whether or not a speaker has social icons (otherwise   */
/* the missing flex item lets the columns grow and shift).     */

/* Speaker name: white, 20px, left-aligned, left column */
.catalog-result.speaker-card .speaker-full-name {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    flex: 0 0 38% !important;
    text-align: left !important;
}

/* Job title + company + country: white, left-aligned column */
.catalog-result.speaker-card .speaker-company-name-job-title {
    flex: 0 0 34% !important;
    text-align: left !important;
    padding: 0 24px 0 0 !important;
    color: #ffffff !important;
}
.catalog-result.speaker-card span {
    color: #ffffff !important;
    font-weight: 400 !important;
}


/* Social icons: pinned right (consistent for every row) */
.catalog-result.speaker-card .social-media-links {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

/* --- Expert Elite badge: right of the speaker name -------- */
/* Injected (img.au26-ee-badge) into the .speaker-full-name    */
/* cell, so it stays in the name column and does NOT shift the */
/* job title / company column.                                 */
.catalog-result.speaker-card .speaker-full-name .au26-ee-badge {
    display: inline-block !important;
    width: 40px !important;
    height: 40px !important;
    vertical-align: middle !important;
    margin: 0 0 0 15px !important;
}

/* --- Speaker detail modal (opens on name click) ----------- */
/* Dark theme leaves the modal title + name white on the white  */
/* modal; make them black. Name 24px. Badge on the far right of */
/* the row, vertically centered (mirrors the session page).     */
.modal-title {
    color: #000000 !important;
}
.speaker-info .speaker-full-name {
    color: #000000 !important;
    font-size: 24px !important;
}
/* Make the modal row fill the dialog so the badge can sit at the     */
/* far right with a gap (otherwise the row is content-width and the    */
/* badge ends up flush against the title text).                        */
.speaker-card.rf-flex-frame {
    width: 100% !important;
}
.au26-ee-badge-modal {
    display: block !important;
    width: 134px !important;
    height: 134px !important;
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
    align-self: flex-start !important;
}

/* --- Result count ("14 speakers"): white ------------------ */
.total-results-count,
.total-results-count * {
    color: #ffffff !important;
}

/* --- Social icons: white ---------------------------------- */
/* If the brand tile should read as a solid white square,      */
/* replace the rule below with:                                */
/*   .catalog-result.speaker-card .social-media-link svg {     */
/*       filter: invert(1) !important; }                       */
.catalog-result.speaker-card .social-media-link svg path,
.catalog-result.speaker-card a.rfSI svg path {
    fill: #ffffff !important;
}

/* --- Photo: 80px thumbnail -------------------------------- */
/* Was 220px (forced a 247px-tall card); 80px = compact row.   */
.catalog-result.speaker-card .speaker-photo {
    flex: 0 0 80px !important;
    width: 80px !important;
    height: 80px !important;
    margin-right: 24px !important;
}
.catalog-result.speaker-card .speaker-photo img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

/* --- In-person / Digital toggle → AU yellow --------------- */
/* Scoped to the toggle (an <a> link) so it does NOT hit the   */
/* catalog search magnifier (a <button> sharing mdBtnR-primary)*/
a.mdBtnR.mdBtnR-primary {
    background-color: #FFFF00 !important;
    border-color: #FFFF00 !important;
    color: #000000 !important;
}
a.mdBtnR.mdBtnR-primary:hover,
a.mdBtnR.mdBtnR-primary:focus {
    background-color: #E6E600 !important;
    border-color: #E6E600 !important;
    color: #000000 !important;
}

/* --- Mobile (≤768px): card list -------------------------------- */
/* RainFocus stacks the speaker card vertically (centered) on phones. */
/* The desktop row rules (38%/34% flex bases, photo right-margin,      */
/* social margin-left:auto) get misapplied to the column layout and    */
/* cram the content. Neutralize them so the stacked card breathes.     */
@media (max-width: 768px) {
    .catalog-result.speaker-card {
        padding: 24px 16px !important;
    }
    .catalog-result.speaker-card .speaker-photo {
        flex: 0 0 auto !important;
        width: 96px !important;
        height: 96px !important;
        margin: 0 0 12px 0 !important;
    }
    .catalog-result.speaker-card .speaker-photo img {
        width: 96px !important;
        height: 96px !important;
    }
    .catalog-result.speaker-card .speaker-full-name {
        flex: 0 0 auto !important;
        width: auto !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
        margin: 0 0 6px 0 !important;
    }
    .catalog-result.speaker-card .speaker-company-name-job-title {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .catalog-result.speaker-card .social-media-links {
        flex: 0 0 auto !important;
        margin: 14px 0 0 0 !important;
    }
}

/* ============================================================
   AU 2026 -- Featured Speakers tiles (carousel, Speaker Catalog)
   Bottom half black background, white text, per brand spec.
============================================================ */
.attendee-tile-text-container {
      background-color: #000000 !important;
}
.attendee-tile-name {
      color: #ffffff !important;
      font-family: 'Artifakt Legend', sans-serif !important;
      font-weight: 700 !important;
      font-size: 18px !important;
}
.attendee-tile-role,
.attendee-tile-role-job-title,
.attendee-tile-role-company {
      color: #ffffff !important;
      font-family: 'Artifakt Element', sans-serif !important;
      font-weight: 400 !important;
      font-size: 14px !important;
}

/* --- Fixes: fill card fully with black, no clipped text, border --- */
.attendee-tile {
      align-items: stretch !important;
      border: 1px solid #AAAAAA !important;
}
.attendee-tile-image {
      margin-bottom: 0 !important;
}
.attendee-tile-text-container {
      display: flex !important;
      flex-direction: column !important;
      flex: 1 1 auto !important;
      min-height: 0 !important;
      padding-top: 12px !important;
      box-sizing: border-box !important;
}
.attendee-tile-role {
      overflow: visible !important;
      -webkit-line-clamp: unset !important;
      line-clamp: unset !important;
      max-height: none !important;
      height: auto !important;
}

/* --- "Featured speakers" header: center to match "AU 2026 digital speakers" --- */
.targeted-agenda-header h2 {
      text-align: center !important;
      width: 100% !important;
}

