
.rf-catalog-tabs {
    background-color: transparent !important;
    padding: 4px !important;
    gap: 6px !important;
}
.rf-catalog-tabs li {
    background-color: #D9D9D9 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: none !important;
}
.rf-catalog-tabs li button {
    height: 41px !important;
    font-weight: 600 !important;
    padding: 0 16px !important;
    color: #000000 !important;
}
.rf-catalog-tabs li.active {
    background-color: #ffffff !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}
.rf-catalog-tabs li.active button {
    color: #000000 !important;
}


.search-filters .filters .catalog-filter {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    gap: 8px !important;
}
.search-filters .filters .catalog-filter .rfSI {
    float: none !important;
    flex-shrink: 0 !important;
    order: -1 !important;
}
/* Default (collapsed): arrow points right */
.search-filters .filters .catalog-filter svg {
    transform: rotate(90deg) !important;
}
/* Expanded state (.collapsed class added by RainFocus): arrow points down */
.search-filters .filters .catalog-filter.collapsed svg {
    transform: scaleY(-1) !important;
}

/* Black background */
body.rf-body,
.rfComp-canvas,
.search-container,
.search-content,
.main-content,
.rf-widget {
    background-color: #000000 !important;
}

/* White session cards */
.catalog-result {
    background-color: #ffffff !important;
    border-radius: 10px !important;
}

/* White text for filters and page content on black background */
.search-filters,
.search-filters .filters,
.search-filters label,
.search-filters input[type="checkbox"],
.search-filters .catalog-filter,
.search-filters .catalog-filter-header,
h1, h2, h3,
.rf-page-title,
.filters-title {
    color: #ffffff !important;
}

/* Ensure filter labels are white */
.search-filters .filters li label,
.search-filters .filters .filter-group-title,
.search-filters .filters .filter-title {
    color: #ffffff !important;
}

/* Checkbox labels white (My favorites, Recommended for you) */
.rf-checkbox-label {
    color: #ffffff !important;
}
.checkbox-bg {
    border-color: #ffffff !important;
}

/* Clear filters yellow */
.clear-search,
.clear-search .mdBtnR-text,
.clear-search span {
    color: #FFFF00 !important;
    font-weight: 700 !important;
}
#rf-catalog .search-filters .filters-header .clear-search .mdBtnR-text {
    font-size: 16px !important;
}

/* Search box */
.catalog-search {
    background-color: #D9D9D9 !important;
    border-radius: 10px !important;
    border: none !important;
    overflow: hidden !important;
}
.catalog-search .rf-input {
    background-color: transparent !important;
    border: none !important;
}
.catalog-search input {
    background-color: transparent !important;
    border: none !important;
    border-radius: 10px !important;
    color: #000000 !important;
    outline: none !important;
    box-shadow: none !important;
}
.catalog-search input::placeholder {
    color: #000000 !important;
    opacity: 1 !important;
}
.catalog-search .search-submit {
    background-color: transparent !important;
    color: #000000 !important;
    border: none !important;
    box-shadow: none !important;
}
.catalog-search .search-submit svg,
.catalog-search .search-submit .rfSI {
    color: #000000 !important;
    fill: #000000 !important;
}
/* Force search input text and placeholder to black */
.catalog-search input,
.catalog-search input[type="text"],
.catalog-search input[type="search"] {
    color: #000000 !important;
}
.catalog-search input::placeholder,
.catalog-search input::-webkit-input-placeholder,
.catalog-search input::-moz-placeholder,
.catalog-search input:-ms-input-placeholder {
    color: #000000 !important;
    opacity: 1 !important;
}

/* ===== Session Details Page ===== */

/* Back to catalog link - white text on black bg */
.session-details-back-to-catalog,
.session-details-back-to-catalog a,
.session-details-back-to-catalog .rfSI {
    color: #ffffff !important;
}

/* View session catalog button - white border */
.session-details-back-to-catalog a {
    border: 1px solid #ffffff !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    text-decoration: none !important;
}
/* Session title area - white text */
#widget-page-session-details .catalog-result-title,
#widget-page-session-details .catalog-result-title-text,
#widget-page-session-details .title-text-container,
#widget-page-session-details .title-text {
    color: #ffffff !important;
}

/* Time/location row - override rf-black-text class to white */
#widget-page-session-details .rf-session-card-time-location,
#widget-page-session-details .session-time-and-location,
#widget-page-session-details .rf-black-text,
#widget-page-session-details .session-date-time,
#widget-page-session-details .session-date,
#widget-page-session-details .session-time,
#widget-page-session-details .session-location {
    color: #ffffff !important;
}

/* Enrolled/status badge - keep its own colour */

/* Main content area (left/large + middle) - white text on black */
.sd-section-lg,
.sd-section-lg *,
.sd-section-md,
.sd-section-md * {
    color: #ffffff !important;
}

/* Right sidebar panel - white background, black text */
.sd-section-sm {
    background-color: #ffffff !important;
    border-radius: 10px !important;
    padding: 24px !important;
    color: #212121 !important;
}

.sd-section-sm * {
    color: #212121 !important;
}

/* Speaker name links in sidebar - blue link colour */
.sd-section-sm .speaker-trigger,
.sd-section-sm .mdBtnR-link,
.sd-section-sm .speaker-trigger .mdBtnR-text {
    color: #0696d7 !important;
}

/* Download links in sidebar */
.sd-section-sm a,
.sd-section-sm .mdBtnR-link {
    color: #0696d7 !important;
}

/* Separator lines in sidebar */
.sd-section-sm hr {
    border-color: #e0e0e0 !important;
}

/* Session action buttons (Enroll/Schedule) */
#widget-page-session-details .session-actions .mdBtnR-outline-primary {
    border-color: #ffffff !important;
    color: #ffffff !important;
}

/* Session details container overall */
#widget-page-session-details {
    background-color: #000000 !important;
}
.session-details-container {
    background-color: #000000 !important;
}

/* Fix section headings inside main content */
.sd-section-md h1, .sd-section-md h2, .sd-section-md h3, .sd-section-md h4, .sd-section-md h5, .sd-section-md h6, .sd-section-md .rf-attribute h2, .sd-section-md .speakers-component h2 { color: #ffffff !important; }
.sd-section-lg h1, .sd-section-lg h2, .sd-section-lg h3, .sd-section-lg h4 { color: #ffffff !important; }

/* Session title colour  */
#widget-page-session-details .catalog-result-title,
#widget-page-session-details .catalog-result-title-text,
#widget-page-session-details .title-text-container,
#widget-page-session-details .title-text,
#widget-page-session-details .catalog-result-title-text .title-text-container span {
    color: #FFFF00 !important;
}

/* Widen right sidebar to match Figma - large desktop only */
@media (min-width: 1100px) {
    .sd-section-sm {
        min-width: 380px !important;
        width: 380px !important;
        flex-shrink: 0 !important;
    }
}

/* Responsive: full width sidebar when stacked (tablets, small desktops, mobile) */
@media (max-width: 1099px) {
    .sd-section-sm {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex-shrink: 1 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        order: 99 !important; 
    }

    .session-details-group-three,
    .small-section-placement-right {
        width: 100% !important;
    }
}

/* Make content inside right sidebar fill full width */
.sd-section-sm .rf-attribute,
.sd-section-sm .speakers-component,
.sd-section-sm .sponsors-component,
.sd-section-sm .user-text-content {
    width: 100% !important;
    max-width: 100% !important;
}

/* Stack speaker rows vertically and fill full width */
.sd-section-sm .session-participants {
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Each speaker row fills full width */
.sd-section-sm .pictured-user-profile {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Profile container fills remaining space */
.sd-section-sm .profile-container {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    flex-basis: 0 !important;
    min-width: 0 !important;
    width: auto !important;
}

/* Remove scrollbar caused by flex overflow */
.sd-section-sm {
    overflow: hidden !important;
}
.sd-section-sm .session-participants {
    overflow: hidden !important;
}

/* Session card white background in grid view */
.rf-tile {
    background-color: #ffffff !important;
}

/* Remove horizontal scrollbar */
.rf-widget {
    overflow-x: hidden !important;
}

/* Filter arrow (chevron) hover color */
.search-filters .filters .catalog-filter:hover svg,
.search-filters .filters .catalog-filter:hover .rfSI {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Fix Similar Sessions tile text - white cards need dark text */
.sd-section-md .similar-component .rf-tile,
.sd-section-md .similar-component .rf-tile * {
    color: #212121 !important;
}

/* Fix Similar Sessions tile date/time/location - override high-specificity white rules */
#widget-page-session-details .similar-component .session-date-time,
#widget-page-session-details .similar-component .session-date,
#widget-page-session-details .similar-component .session-time,
#widget-page-session-details .similar-component .session-location,
#widget-page-session-details .similar-component .rf-session-card-time-location,
#widget-page-session-details .similar-component .session-time-and-location,
#widget-page-session-details .similar-component .rf-black-text,
#widget-page-session-details .similar-component .catalog-result-title,
#widget-page-session-details .similar-component .catalog-result-title-text,
#widget-page-session-details .similar-component .title-text-container,
#widget-page-session-details .similar-component .title-text,
#widget-page-session-details .similar-component .rf-tile-wrapper {
      color: #212121 !important;
}

/* Fix modal header title - override global h2 white rule */
.modal .modal-header .modal-title,
.rf-default-modal .modal-header .modal-title {
      color: #000000 !important;
}

/* Show more button - white border */
.show-more-btn {
      border-color: #ffffff !important;
}

/* Speakers sidebar - fit to content height only */
.sd-section-sm {
      align-self: flex-start !important;
}


/* Mobile: Speakers directly above Similar Sessions */
@media (max-width: 1099px) {
    .sd-section-md {
        display: contents !important;
    }
    .sd-section-md > * {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
        box-sizing: border-box !important;
    }
    .sd-section-md > .similar-component {
        order: 3 !important;
    }
    .sd-section-sm {
        order: 2 !important;
        width: 100% !important;
        margin-top: 32px !important;
    }
}

/* Speaker name button - black text with black underline, hover restored */
.sd-section-sm .speaker-trigger,
.sd-section-sm .speaker-trigger .mdBtnR-text {
    color: #000000 !important;
    text-decoration: underline !important;
    text-decoration-color: #000000 !important;
}
.sd-section-sm .speaker-trigger:hover,
.sd-section-sm .speaker-trigger:focus-visible,
.sd-section-sm .speaker-trigger:active,
.sd-section-sm .speaker-trigger:hover .mdBtnR-text,
.sd-section-sm .speaker-trigger:focus-visible .mdBtnR-text,
.sd-section-sm .speaker-trigger:active .mdBtnR-text {
    color: #0696d7 !important;
}
/* Catalog page speaker names - black underline only, colour and hover unchanged */
.speakers-component .speaker-trigger,
.speakers-component .speaker-trigger .mdBtnR-text {
    text-decoration: underline !important;
    text-decoration-color: #000000 !important;
}

/* Match Sponsored by heading to Speakers heading styling */
.sponsors-component h2 {
    font-size: 24px !important;
    font-weight: 800 !important;
}


/* Match visible Sponsored by widget heading to Speakers heading styling */
[class*="hqSj-component"] h4 {
    font-size: 24px !important;
    font-weight: 800 !important;
    font-family: "Artifakt Legend" !important;
    letter-spacing: -0.8px !important;
    line-height: 28.8px !important;
    margin-bottom: 16px !important;
}


/* Change hover color for My schedule / Catalog & My schedule tips links from yellow to blue */
.element-container .alert-tooltip-box.alert-info-icon a:hover {
    color: #1D91D0 !important;
}




/* Similar Sessions - keep tiles at a consistent width so meal/breakfast pages don't stretch them across the row (match standard session tile ~444px) */
.similar-component .session-tile-container {
    justify-content: flex-start !important;
}
.similar-component .session-tile-container > .rf-tile-wrapper {
    flex: 0 1 444px !important;
    max-width: 444px !important;
}

/* Similar Sessions becomes a full-width row below both columns, clearing the Speakers sidebar */
.session-details-group-three .similar-fullwidth-row{
  order: 99; /* keep Similar Sessions below both columns when stacked (mobile) */
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin-top: 32px;
  box-sizing: border-box;
}


/* Hero (mobile <=767px): cancel the desktop -80px text pull so the heading/eyebrow do not overlap the stacked banner image */
@media (max-width: 767px) {
  .home-hero-section .flex-box-section[data-type="row"] .rf-grid-layout-50:first-child {
    margin-top: 0 !important;
  }
}


/* Mobile "Show Filters" toggle icon: lighten from #444 to #bbb, and #fff on hover */
.show-filters-button svg,
.show-filters-button svg path {
  fill: #bbb;
}
.show-filters-button:hover svg,
.show-filters-button:hover svg path {
  fill: #fff;
}


/* Mobile filters modal: the modal background is white, but the filter labels/headers inherited the dark-theme white text and were invisible. Force them black. (The footer Done button keeps its white text since it sits on a black background in the footer, not the body.) */
[class*="rf-filtersModal"] .modal-body,
[class*="rf-filtersModal"] .modal-body * {
  color: #000 !important;
}


/* Mobile filters modal: checkbox outline was white (invisible on the white modal bg). Make it black. Scoped to the modal so the desktop dark sidebar keeps its white outline. */
[class*="rf-filtersModal"] .rf-checkbox .checkbox-bg {
  border: 1px solid #000 !important;
}

/* Mobile filters modal: center the Done button label (button is display:flex with default justify, which left-aligns the text) */
[class*="rf-filtersModal"] .modal-footer .mdBtnR.confirm {
  justify-content: center !important;
}


/* Mobile filters modal: accordion arrows turn white on hover (invisible on the white modal bg). Force the arrow path (not the SVG bounding-box square) black on hover, scoped to the modal so the desktop dark sidebar keeps its white-on-hover. */
[class*="rf-filtersModal"] .catalog-filter:hover .rfSI path:not([fill="none"]) {
  fill: #000 !important;
}


/* Top-align speaker photo in speaker popup instead of center */
.speaker-card{align-items: flex-start !important;}

/* Active schedule page-indicator dot */
[data-test="page-indicator"].active {
      background-color: #1D91D0 !important;
}

/* Make Success alert box text white */
.rf-feedback-alert.rf-alert-type-success,
.rf-feedback-alert.rf-alert-type-success * {
  color: #FFFFFF !important;
}


.rf-feedback-alert.rf-alert-type-success, .rf-feedback-alert.rf-alert-type-success * { color: #FFFFFF !important; }

