.alt-tabs {
  background: var(--alt-tb-bg);
  color: var(--alt-tb-text);
}

.alt-tabs__header {
  margin-bottom: 28px;
  text-align: center;
}

.alt-tabs__heading {
  margin: 0;
  color: var(--alt-heading-color);
  font-family: var(--alt-font-heading);
  font-size: var(--alt-h3);
  font-weight: var(--alt-fw-heading);
  line-height: var(--alt-lh-h3);
}

/* ---------- the tab bar (built by alt-tabs.js) ---------- */

.alt-tabs__bar {
  display: flex;
  gap: 34px;
  justify-content: center;
  border-bottom: 1px solid var(--alt-tb-rule);
  margin-bottom: 32px;
  overflow-x: auto;
  scrollbar-width: none;
}
.alt-tabs__bar::-webkit-scrollbar { display: none; }
.alt-tabs__bar:empty { display: none; }

.alt-tabs--left .alt-tabs__bar { justify-content: flex-start; }

.alt-tabs__tab {
  position: relative;
  flex: 0 0 auto;
  padding: 0 0 14px;
  border: 0;
  background: none;
  color: var(--alt-tb-tab);
  cursor: pointer;
  font-family: var(--alt-font-heading);
  font-size: var(--alt-tb-tab-size);
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  transition: color var(--alt-hover-duration, 0.2s) ease;
}

.alt-tabs__tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--alt-tb-underline);
  opacity: 0;
  transition: opacity var(--alt-hover-duration, 0.2s) ease;
}

.alt-tabs__tab:hover { color: var(--alt-tb-tab-active); }

.alt-tabs__tab.is-active {
  color: var(--alt-tb-tab-active);
}
.alt-tabs__tab.is-active::after { opacity: 1; }

/* ---------- panels ---------- */

.alt-tabs__acc-trigger { display: none; }

.alt-tabs__item[hidden] { display: none; }

.alt-tabs__panel-inner {
  font-size: var(--alt-tb-text-size);
  color: var(--alt-tb-text);
}

.alt-tabs__panel-inner > *:first-child { margin-top: 0; }
.alt-tabs__panel-inner > *:last-child { margin-bottom: 0; }

/* ---------- mobile: accordion ---------- */

@media (max-width: 767px) {
  .alt-tabs[data-mobile="accordion"] .alt-tabs__bar { display: none; }

  .alt-tabs[data-mobile="accordion"] .alt-tabs__item {
    display: block !important;
    border-bottom: 1px solid var(--alt-tb-rule);
  }

  .alt-tabs[data-mobile="accordion"] .alt-tabs__acc-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 0;
    border: 0;
    background: none;
    color: var(--alt-tb-tab-active);
    cursor: pointer;
    font-family: var(--alt-font-heading);
    font-size: var(--alt-tb-tab-size);
    font-weight: 500;
    text-align: left;
  }

  .alt-tabs[data-mobile="accordion"] .alt-tabs__acc-icon {
    position: relative;
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    margin-left: 16px;
  }
  .alt-tabs[data-mobile="accordion"] .alt-tabs__acc-icon::before,
  .alt-tabs[data-mobile="accordion"] .alt-tabs__acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 12px;
    height: 2px;
    margin-top: -1px;
    background: currentColor;
    transition: transform 0.2s ease;
  }
  .alt-tabs[data-mobile="accordion"] .alt-tabs__acc-icon::after {
    transform: rotate(90deg);
  }
  .alt-tabs[data-mobile="accordion"] .alt-tabs__acc-trigger[aria-expanded="true"] .alt-tabs__acc-icon::after {
    transform: rotate(0deg);
  }

  .alt-tabs[data-mobile="accordion"] .alt-tabs__panel[hidden] { display: none; }
  .alt-tabs[data-mobile="accordion"] .alt-tabs__panel { padding-bottom: 20px; }

  .alt-tabs__header { margin-bottom: 20px; }
  .alt-tabs__bar { gap: 22px; margin-bottom: 24px; }
}
