.schedule-tabs__heading,
.schedule-tabs,
.schedule-tabs__appendix {
  --at-tab-color: var(--at-light-color, #fff);
  --at-tab-bg: var(--at-dark-color, #000);
  color: var(--at-tab-color, #fff);
}

.schedule-tabs {
  color: var(--at-tab-color, #fff);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.schedule-tabs h1,
.schedule-tabs h2,
.schedule-tabs h3,
.schedule-tabs h4,
.schedule-tabs h5,
.schedule-tabs h6,
.schedule-tabs__heading h1,
.schedule-tabs__heading h2,
.schedule-tabs__heading h3,
.schedule-tabs__heading h4,
.schedule-tabs__heading h5,
.schedule-tabs__heading h6,
.schedule-tabs__appendix h1,
.schedule-tabs__appendix h2,
.schedule-tabs__appendix h3,
.schedule-tabs__appendix h4,
.schedule-tabs__appendix h5,
.schedule-tabs__appendix h6 {
  color: inherit;
}

.schedule-tabs.light,
.schedule-tabs__heading.light,
.schedule-tabs__appendix.light {
  --at-tab-bg: var(--at-light-color, #fff);
  --at-tab-color: var(--at-dark-color, #000);
}

.schedule-tabs__tabs {
  display: flex;
  padding: 0;
  list-style: none;
}

.schedule-tabs__tab {
  display: flex;
}

.schedule-tabs__tab-title {
  line-height: 1;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  color: inherit;
}

.schedule-tabs__nested,
.schedule-tabs__appendix {
  margin-top: 3rem;
}

.schedule-tabs__description {
  margin-bottom: 2rem;
}

.schedule-tabs__description:last-child {
  margin-bottom: 0;
}

.schedule-tabs__heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: var(--at-tabs-heading-mb, 24px);
}

.schedule-tabs__heading > h2 {
  margin-bottom: auto;
  color: inherit;
}

.schedule-tabs__heading-arrow {
  width: 100%;
  font-size: var(--at-icon-fz, 26px);
  margin-bottom: -8px;
}

.schedule-tabs__heading-arrow::before {
  content: '→';
  height: 1em;
  width: 1em;
  text-align: center;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-size: 1;
  transform: var(--at-arrow-icon-transform, rotate(90deg));
  transition: color 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

.schedule-tabs__heading-button {
  margin-top: auto;
  margin-bottom: auto;
  height: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.schedule-tabs__heading-content {
  width: 100%;
}

.schedule-tabs__heading-inner {
  max-width: 680px;
}

.schedule-tabs__tabs {
  position: relative;
}

.schedule-tabs__list {
  display: flex;
  gap: var(--at-tabs-gap, 0.25rem);
  list-style: none;
  padding: 0;
  margin: 0;
}

.schedule-tabs__eventList {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--at-tablist-gapy, var(--at-tablist-gap, 0));
}

.schedule-tabs__event {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid;
  padding-top: var(--at-tablist-pt, var(--at-tablist-py, 24px));
  padding-bottom: var(--at-tablist-pb, var(--at-tablist-py, 24px));
  gap: var(--at-event-gap, 1rem);
}

.schedule-tabs__tab {
  position: relative;
}

.schedule-tabs__tab-radio {
  position: absolute;
  opacity: 0;
}

.schedule-tabs__tab label {
  padding: 15px;
  border: 1px solid;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--at-tab-label-gap, 16px);
  transition: color 0.25s ease, background 0.25s ease;
}

.schedule-tabs__tab:hover label {
  background: var(--at-tab-color, #fff);
  color: var(--at-tab-bg, #000);
  border-color: var(--at-tab-color, #fff);
}

.schedule-tabs__tab-title:empty {
  display: none;
}

.schedule-tabs__dropdown-label::after,
.schedule-tabs__tab label::after {
  content: var(--at-tab-after-content, "→");
  display: block;
  height: 1em;
  width: 1em;
  margin-right: var(--at-tab-after-mr, 0);
  opacity: var(--at-tab-after-opacity, 1);
  transform: rotate3d(0,0,1,90deg) translateY(-0.25em) scale(1.2);
  transition: color .3s var(--at-tab-after-delay, 0s) ease, margin .3s var(--at-tab-after-delay, 0s) ease, width .3s var(--at-tab-after-delay, 0s) ease, opacity .3s var(--at-tab-after-opacity-delay, 0s) ease, transform .3s var(--at-tab-after-delay, 0s) ease;
  width: var(--at-tab-after-width, auto);
}

.schedule-tabs__tab-radio:checked + label {
  background: var(--at-tab-color, #fff);
  color: var(--at-tab-bg, #000);
  border-color: var(--at-tab-color, #fff);
}

.schedule-tabs__content {
  position: relative;
  overflow: hidden;
  transition: height 300ms ease;
}

.schedule-tabs__body {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 250ms ease;
}

.schedule-tabs__body.is-active {
  position: static;
  opacity: 1;
  pointer-events: auto;
}

.schedule-tabs__dropdown {
  display: none;
  padding: 0.5rem;
  text-align: left;
  width: 100%;
}

.schedule-tabs__event-title {
  font-size: var(--at-event-title-fz, 22px);
  --at-spacing-bottom: 0.5rem;
}

.schedule-tabs__nested .schedule-tabs__event-title {
  font-size: var(--at-nested-event-title-fz, var(--at-event-title-fz, 18px));
}

.schedule-tabs .schedule-tabs__dropdown,
.schedule-tabs .schedule-tabs__dropdown:hover,
.schedule-tabs .schedule-tabs__dropdown:focus,
.schedule-tabs .schedule-tabs__dropdown:focus-within {
  background-color: var(--at-tab-bg, #000);
  color: var(--at-tab-color, #fff);
  border: 1px solid;
  padding: 1rem;
}

.schedule-tabs__dropdown-label {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.schedule-tabs__details {
  display: flex;
  flex-direction: column;
  gap: var(--at-details-gap, 3rem);
}

.schedule-tabs__event-details {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  gap: var(--at-event-gap, 1rem);
}

.schedule-tabs__speaker,
.schedule-tabs__presenter {
  display: flex;
  align-items: center;
  gap: 1rem;
  --at-figure-size: 100px;
}

.schedule-tabs__event-speakerList {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  gap: 1.5rem;
}

.schedule-tabs__speaker-figure,
.schedule-tabs__presenter-figure {
  margin: 0 auto 0 0;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  max-height: var(--at-figure-size, 100px);
  max-width: var(--at-figure-size, 100px);
}

.schedule-tabs__speaker-details {
  flex-grow: 1;
}

.schedule-tabs__speaker-figure img,
.schedule-tabs__presenter-figure img {
  width: 100%;
  height: 100%;
  object-position: center;
  object-fit: cover;
}

.schedule-tabs__speaker-figure span,
.schedule-tabs__presenter-figure span {
  border-radius: inherit;
  display: flex;
  align-items: flex-end;
  aspect-ratio: inherit;
  box-sizing: border-box;
  color: var(--at-tab-bg);
  background-color: var(--at-tab-color);
}

.schedule-tabs__speaker-figure span svg {
  width: 100%;
  height: auto;
  margin: auto;
  transform: translateY(5%);
}

.schedule-tabs__speaker-title,
.schedule-tabs__presenter-title {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 0;
}

.schedule-tabs__speaker-subtitle,
.schedule-tabs__presenter-title {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.schedule-tabs__event-infos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
}

.schedule-tabs__event-infos span {
  leading-trim: both;
  text-edge: cap;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  text-transform: uppercase;
}

.schedule-tabs__event-infos > div {
  display: flex;
  align-items: center;
  gap: 4px;
}

.schedule-tabs__events {
  flex: 1 1 auto;
}

.schedule-tabs__presenter-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--at-event-gap, 1rem);
  padding-bottom: var(--at-tablist-pb, var(--at-tablist-py, 24px));
  border-bottom: 1px solid;
}

.schedule-tabs__presenter-wrapper h3 {
  margin-bottom: 8px;
}

.schedule-tabs__presenter-title {
  font-size: 20px;
  margin-bottom: 0;
}

.schedule-tabs__events-headline {
  margin-bottom: 0;
}

@media (max-width: 600px) {
  .schedule-tabs__list {
    display: none;
    --at-tab-after-content: normal;
    --at-tabs-gap: 0;
    width: 100%;
  }

  .schedule-tabs__list .schedule-tabs__tab {
    width: 100%;
    border-top-width: 0;
    background-color: var(--at-tab-bg, #000);
    color: var(--at-tab-color, #fff);
  }

  .schedule-tabs__list .schedule-tabs__tab label {
    background-color: transparent;
    width: 100%;
    color: inherit;
  }

  .schedule-tabs__list .schedule-tabs__tab.is-active {
    display: none;
  }

  .schedule-tabs__list .schedule-tabs__tab:first-child {
    border-top-width: 1px;
  }

  .schedule-tabs__dropdown {
    display: flex;
  }

  .schedule-tabs__content {
    overflow: visible;
  }

  .schedule-tabs__tabs.is-open .schedule-tabs__list {
    display: flex;
    flex-direction: column;
    position: absolute;
    bottom: 0;
    transform: translate3d(0,100%,0);
    z-index: 10;
  }

  .schedule-tabs__tabs.is-open .schedule-tabs__dropdown {
    color: var(--at-highlight-color, #C7EB44);
    border-color: var(--at-tab-color, #fff);
  }

  .schedule-tabs__event {
    flex-direction: column;
  }
}

@media (min-width: 600.5px) {
  .schedule-tabs__list {
    --at-tabs-gap: 0.75rem;
  }
  .schedule-tabs__heading {
    --at-tabs-heading-mb: 2rem;
  }
  .schedule-tabs {
    --at-tablist-py: 1.5rem;
    --at-event-gap: clamp(1rem, 8%, 60px);
  }
  .schedule-tabs__event {
    flex-wrap: nowrap;
  }
  .schedule-tabs__presenter-heading,
  .schedule-tabs__event-time {
    width: 18%;
    max-width: 200px;
    flex-shrink: 0;
  }
  .schedule-tabs__event-name {
    flex: 1 1 auto;
  }
  .schedule-tabs__event-speaker {
    width: var(--at-event-speaker-width, 33%);
    max-width: 500px;
    flex-shrink: 0;
  }
  .schedule-tabs__speaker-figure {
    width: min(25%, 100px);
    min-width: min(25%, 100px);
    flex-grow: 0;
  }
  .schedule-tabs__presenter-wrapper {
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .schedule-tabs {
    gap: 2.5rem;
    /* --at-tablist-gap: 0.5rem; */
    --at-tablist-py: 2rem;
    --at-nested-event-title-fz: 20px;
    --at-event-title-fz: 28px;
  }
  
  .schedule-tabs__heading {
    --at-tabs-heading-mb: 2.5rem;
    --at-icon-fz: 2.5rem;
  }
  
  .schedule-tabs__list {
    --at-tab-label-gap: 20px;
    --at-tabs-gap: 1rem;
  }
  
  .schedule-tabs__nested,
  .schedule-tabs__appendix {
    margin-top: 3.5rem;
  }
}

@media (min-width: 960px) {
  .schedule-tabs__presenter {
    gap: 1.5rem;
    --at-figure-size: 100px;
  }
  .schedule-tabs__presenter-figure {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .schedule-tabs__presenter-title {
    font-size: 20px;
    margin-bottom: 0;
  }
}

@media (min-width: 1024px) {
  .schedule-tabs__heading {
    --at-tabs-heading-mb: 3rem;
  }
  
  .schedule-tabs {
    gap: 3rem;
    /* --at-tablist-gap: 1rem; */
  }
  
  .schedule-tabs__list {
    --at-tab-label-gap: 24px;
  }
  
  .schedule-tabs__nested,
  .schedule-tabs__appendix {
    margin-top: 4rem;
  }
}

@supports (container-type: inline-size) {
  .schedule-tabs__eventList {
    container-type: inline-size;
    container-name: event-list;
  }

  @container (max-width: 760px) {
    .schedule-tabs__event-details {
      flex-direction: column;
    }
    .schedule-tabs__event-speaker {
      width: auto;
      max-width: 100%;
    }
  }

  @container (min-width: 760.5px) {
    .schedule-tabs__event-details {
      --at-event-speaker-width: 40%;
    }
  }
}