/* Shared native Elementor Nested Tabs used by generated SAIIE program pages. */
.saiie-native-tabs-block,
.saiie-native-tabs-block.e-con {
  --display: flex;
  --flex-direction: column;
  --gap: 0;
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.saiie-native-tabs {
  width: 100% !important;
  max-width: none !important;
  --n-tabs-gap: 0;
  --n-tabs-title-gap: 24px;
  --n-tabs-heading-wrap: wrap;
  --n-tabs-heading-justify-content: flex-start;
  --n-tabs-title-color: #41454f;
  --n-tabs-title-color-hover: #ff5c2a;
  --n-tabs-title-color-active: #ff5c2a;
  --n-tabs-title-background-color: transparent;
  --n-tabs-title-background-color-hover: transparent;
  --n-tabs-title-background-color-active: transparent;
}

/* Global tab typography. Keep every supported tab implementation consistent
   and make panel headings visually lighter without changing their hierarchy. */
.elementor-widget-n-tabs .e-n-tab-title,
.elementor-widget-n-tabs .e-n-tab-title-text,
.elementor-widget-tabs .elementor-tab-title,
.jet-tabs .jet-tabs__control,
.jet-tabs .jet-tabs__control-inner,
.jet-tabs .jet-tabs__label-text {
  font-family: Prompt, ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important;
}

.elementor-widget-n-tabs .e-n-tabs-content,
.elementor-widget-tabs .elementor-tab-content,
.jet-tabs .jet-tabs__content,
.jet-tabs .jet-tabs__content-inner {
  font-family: Prompt, ui-sans-serif, system-ui, sans-serif !important;
}

body .elementor-widget-n-tabs .e-n-tabs-content :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title),
body .elementor-widget-tabs .elementor-tab-content :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title),
body .jet-tabs .jet-tabs__content :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title),
body .jet-tabs .jet-tabs__content-inner :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
  font-family: Prompt, ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important;
}

.saiie-native-tabs .e-n-tabs-heading {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 24px !important;
  margin: 0 0 28px;
  border-bottom: 1px solid #e5e1dc;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(7px);
}

.saiie-native-tabs .e-n-tab-title {
  min-height: 0;
  margin: 0;
  padding: 10px 12px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #41454f !important;
  font-family: Prompt, ui-sans-serif, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 25.6px;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.saiie-native-tabs .e-n-tab-title:hover,
.saiie-native-tabs .e-n-tab-title[aria-selected="true"] {
  color: #ff5c2a !important;
  border-bottom-color: #ff5c2a !important;
}

.saiie-native-tabs .e-n-tabs-content,
.saiie-native-tabs .e-n-tabs-content > .saiie-native-tabs-panel,
.saiie-native-tabs-panel-content,
.saiie-native-tabs-panel-content.e-con {
  width: 100%;
  padding: 0 !important;
}

.saiie-native-tabs .e-n-tabs-content > .saiie-native-tabs-panel:not(.e-active) {
  --display: none;
  display: none !important;
}

.saiie-native-tabs .e-n-tabs-content > .saiie-native-tabs-panel.e-active,
.saiie-native-tabs-panel-content,
.saiie-native-tabs-panel-content.e-con {
  --display: flex;
  --flex-direction: column;
  --gap: 0;
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
}

.saiie-native-tabs-panel-body.elementor-widget-text-editor,
.saiie-native-tabs-panel-body.elementor-widget-saiie-data-table,
.saiie-native-tabs-panel-body.elementor-widget-jet-table {
  margin: 0;
}

/* Table panels use the complete tab row instead of inheriting the 820/900px
   reading-width cap used by prose-only panels. */
.saiie-native-tabs .e-n-tabs-content > .saiie-native-tabs-panel:has(table) {
  width: 100% !important;
  max-width: none !important;
}

.saiie-native-tabs .saiie-native-tabs-panel:has(table) .saiie-native-tabs-panel-content,
.saiie-native-tabs .saiie-native-tabs-panel:has(table) .elementor-widget-saiie-data-table,
.saiie-native-tabs .saiie-native-tabs-panel:has(table) .elementor-widget-jet-table,
.saiie-native-tabs .saiie-native-tabs-panel:has(table) .elementor-widget-container,
.saiie-native-tabs .saiie-native-tabs-panel:has(table) .saiie-data-table-wrap,
.saiie-native-tabs .saiie-native-tabs-panel:has(table) table {
  width: 100% !important;
  max-width: none !important;
}

.saiie-native-tabs--internships .e-n-tabs-heading,
.saiie-native-tabs--faculty-led .e-n-tabs-heading {
  gap: 0 16px !important;
  margin-bottom: 24px;
  backdrop-filter: none;
}

.saiie-native-tabs--internships .e-n-tab-title,
.saiie-native-tabs--faculty-led .e-n-tab-title {
  padding: 10px 8px !important;
  color: #353535 !important;
  line-height: normal;
}

.saiie-native-tabs--faculty-led .e-n-tabs-heading {
  margin-bottom: 28px;
}

.saiie-native-tabs--gap-rowing .e-n-tabs-heading,
.saiie-native-tabs[class*="saiie-native-tabs--gap-sport-"] .e-n-tabs-heading,
.saiie-native-tabs[class*="saiie-native-tabs--athletics-sport-"] .e-n-tabs-heading {
  gap: 0 8px !important;
  background: rgba(255, 254, 254, 0.55);
  backdrop-filter: blur(8px);
}

.saiie-native-tabs--gap-rowing .e-n-tab-title,
.saiie-native-tabs[class*="saiie-native-tabs--gap-sport-"] .e-n-tab-title,
.saiie-native-tabs[class*="saiie-native-tabs--athletics-sport-"] .e-n-tab-title {
  padding: 10px 14px !important;
  border-bottom-width: 3px !important;
  line-height: 24px;
}

@media (min-width: 781px) {
  .elementor-widget-n-tabs.saiie-native-tabs .e-n-tabs-heading,
  .elementor-widget-n-tabs.saiie-fall-spring-native-tabs .e-n-tabs-heading,
  .elementor-widget-n-tabs.saiie-winterim-native-tabs .e-n-tabs-heading {
    width: 100% !important;
    gap: 0 !important;
    overflow-x: visible !important;
  }

  .elementor-widget-n-tabs.saiie-native-tabs .e-n-tab-title,
  .elementor-widget-n-tabs.saiie-fall-spring-native-tabs .e-n-tab-title,
  .elementor-widget-n-tabs.saiie-winterim-native-tabs .e-n-tab-title {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: normal !important;
    text-align: center;
    justify-content: center;
  }
}

@media (max-width: 780px) {
  .elementor-widget-n-tabs.saiie-native-tabs .e-n-tabs-heading,
  .elementor-widget-n-tabs.saiie-fall-spring-native-tabs .e-n-tabs-heading,
  .elementor-widget-n-tabs.saiie-winterim-native-tabs .e-n-tabs-heading {
    display: flex !important;
    width: 100% !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    max-width: 100%;
    overflow-x: visible !important;
  }

  .saiie-native-tabs .e-n-tab-title,
  .elementor-widget-n-tabs.saiie-fall-spring-native-tabs .e-n-tab-title,
  .elementor-widget-n-tabs.saiie-winterim-native-tabs .e-n-tab-title,
  .saiie-native-tabs--gap-rowing .e-n-tab-title,
  .saiie-native-tabs[class*="saiie-native-tabs--gap-sport-"] .e-n-tab-title,
  .saiie-native-tabs[class*="saiie-native-tabs--athletics-sport-"] .e-n-tab-title {
    flex: 0 0 50% !important;
    width: 50% !important;
    min-width: 0 !important;
    max-width: 50% !important;
    margin: 0 !important;
    padding: 10px !important;
    font-size: 13px;
    line-height: 18px;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .saiie-native-tabs .e-n-tab-title:last-child:nth-child(odd),
  .saiie-fall-spring-native-tabs .e-n-tab-title:last-child:nth-child(odd),
  .saiie-winterim-native-tabs .e-n-tab-title:last-child:nth-child(odd) {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
