 /* Base Brand Colors */
:root {
   --text-light: #dce6f0;
   --text-dark: #2b2b2bcc;

   /* Track Colors */

   /* Administration & Deployment */
   --track-admin-bg: #2d5a8c;

   /* Development */
   --track-dev-bg: #00a86b;

   /* Emerging Technology */
   --track-emerging-bg: #9d4edd;

   /* bus */
   --track-bus-bg: #1a4d6d;

   /* strat */
   --track-strat-bg: #c28c05;

   /* Commercial */
   --track-commercial-bg: #cc6308;

   /* Round Table */
   --track-roundtable-bg: #5c4742;

   /* Other */
   --track-other-bg: #2b2b2bcc;

   /* Workshop */
   --track-workshop-bg: #c41e3a;

   /* General */
   --track-general-bg: #2c3e50;
}

/* Session list classes */
.sessionlist {
   h2 {
      font-size: inherit;
      font-weight: bold;
      text-decoration: underline;
      display: inline;
   }

   .card,
   .accordion>.card:not(:last-of-type) {
      border: none;

      .card-header {
         border: none;

         & .btn:hover {
            outline: none;
         }
      }

      & button.btn {
         color: inherit;
      }
   }

   .card-header {
      text-align: left;
      width: 100%;
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
      background-color: transparent;
   }

   /* Ensure track header buttons inherit card header color */
   .card-header .btn-link {
      color: inherit;
      /* Use the parent color (track-specific) */
      text-decoration: none;
      /* Remove underline */
   }

   .card-header .btn-link:hover,
   .card-header .btn-link:focus {
      color: inherit;
      /* Keep color on hover/focus */
      text-decoration: none;
      /* No underline on hover/focus */
   }

   .break {
      flex-basis: 100%;
      height: 0;
   }

   .speaker-link {
      color: inherit;
      cursor: pointer;
      text-decoration: underline;
   }

   .speaker-link:hover {
      color: inherit;
      font-style: normal;
      text-decoration: none;
   }
}

#scheduleBody td .track {
   height: 150px;
   overflow: hidden;
}

.schedule {

   /* Table styles for desktop */
   .schedule-table th,
   .schedule-table td {
      text-align: center;
      vertical-align: top;
      min-width: 180px;

   }


   .schedule-time {
      font-weight: bold;
      background: #f8f9fa;
      width: 100px;
   }

   .session-box {
      padding: 0.5rem;
      border-radius: 0.25rem;
      height: 100%;

      @media(width> 768px) {
         font-size: 0.8rem;
      }
   }

   /* Mobile accordion */
   .room-session {
      padding: 0.5rem;
      margin-bottom: 0.25rem;
      border-radius: 0.25rem;

   }

   /* Optional: collapse caret pointer */
   .card-header {
      cursor: pointer;
   }

   .clickable {
      cursor: pointer;
   }

   .clickable:hover {
      opacity: 0.9;
   }
}

.speaker-card {
   width: 180px;
   cursor: pointer;
   transition:
      transform 0.15s ease,
      box-shadow 0.15s ease;

   & .card-body {
      padding: 1.25rem 10px;
   }

   @media (width > 992px) {
      width: 210px;
   }

   &:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
   }

   & .image-wrapper {
      width: 150px;
      height: 150px;
      position: relative;
      left: 0;
      top: 0;
      aspect-ratio: 1 / 1;
      object-fit: cover;

      @media (width > 992px) {
         width: 170px;
         height: 170px;
      }

      & .portret {
         position: relative;
         left: 0;
         top: 0;
         width: 100%;
         height: 100%;
      }

      & .ambassador {
         width: 25px;
         height: 25px;
         position: absolute;
         bottom: 5px;
         left: 5px;
         background-color: #F1F0F0;
      }

      & .penumbra {
         width: 25px;
         height: 25px;
         position: absolute;
         bottom: 5px;
         right: 5px;
      }
   }

   & .speaker-name {
      & h2 {
         font-size: inherit;
         font-weight: 600;
         text-align: center;
         margin-top: 0.5rem;
      }
   }
}

.speaker-modal {
   h3.name {
      font-family: 'Jost', sans-serif;
      font-size: 2rem;
      font-weight: bold;
   }

   .company {
      font-weight: bold;
   }

   .bio {
      @media (width > 768px) {
         font-size: 0.9rem;
         width: auto;
      }
   }

   .speaker-card {
      width: 100%;
   }

   & .penumbra {
      margin-left: 10px;
      width: 20px;
      height: 20px;
   }

   .image-wrapper {
      max-width: 150px;
      max-height: 150px;

      @media (width > 768px) {
         max-width: 200px;
         max-height: 200px;
      }

      & .portret {
         width: 100%;
         height: 100%;
      }
   }
}

/* Favorite indication markers */
#favoriteBtn {
   color: #212529;
   background-color: transparent;
   border: 1px solid gold;
   box-shadow: none;

   &.active {
      background-color: gold;
   }

   &:hover {
      background-color: rgba(255, 215, 0, .5)
   }
}


.favorite-star {
   margin-right: 0.5rem;
   font-size: 1.5rem;
   cursor: pointer;
   user-select: none;
   color: rgba(200, 200, 200, 0.5);

   @media (width < 768px) {
      font-size: 2rem;
   }
}

.card-header,
.session-box,
.room-session {


   &.preferred {
      background-color: #ffd70025;

      & .favorite-star {
         color: gold;
      }
   }
}

/* General */
.speakerlist--session {
   column-gap: 20px;

   & .speaker-card .image-wrapper {
      max-width: 100px;
      max-height: 100px;

      @media (width > 992px) {
         max-width: 150px;
         max-height: 150px;
      }
   }
}

/* Badges */
.badge-topic {
   background-color: #6c757d;
   color: white;
   margin-right: 0.25rem;
   margin-bottom: 0.25rem;
}

/* Track Classes */
.legend-item {
   width: 220px;
   overflow: hidden;
   padding: 3px;
   display: inline-block;
   white-space: nowrap;
}

.track {
   background-color: #fefefe;
   color: var(--text-dark);
   border-radius: 5px;
   border-top-left-radius: 10px;
   border-bottom-left-radius: 10px;
   border: var(--text-light) 2px solid;
   border-left-width: 10px;

   &.track-admin {
      border-left-color: var(--track-admin-bg);
   }

   &.track-dev {
      border-left-color: var(--track-dev-bg);
   }

   &.track-emerging {
      border-left-color: var(--track-emerging-bg);
   }

   &.track-bus {
      border-left-color: var(--track-bus-bg);
   }

   &.track-strat {
      border-left-color: var(--track-strat-bg);
   }

   &.track-commercial {
      border-left-color: var(--track-commercial-bg);
   }

   &.track-roundtable {
      border-left-color: var(--track-roundtable-bg);
   }

   &.track-other {
      border-left-color: var(--track-other-bg);
   }

   &.track-workshop {
      border-left-color: var(--track-workshop-bg);
   }

   &.track-general {
      border-left-color: var(--track-general-bg);
   }
}
