/* ═══════════ How We Approach — native Divi Tabs (.hwa) ═══════
   Scoped to the "hwa" CSS-class on the Tabs module. Overrides
   Divi's tab chrome to match the design.
   DESKTOP: tabs + divider pinned to the column TOP; margin-bottom:auto
   on the tab row pushes the text panel to the column BOTTOM (3rem
   padding-top on the panel = the minimum gap under the divider).
   TABLET/MOBILE: column stacks — equal 2rem gap above/below.
   Number gap clamps 2rem (desktop) → 1rem (mobile).
   ──────────────────────────────────────────────────────────── */

/* Fill the column so the text group can sit at the bottom (desktop) */
.hwa.et_pb_tabs {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Tab row (numbers) + divider under it */
.hwa .et_pb_tabs_controls {
  flex: 0 0 auto !important;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, 0.6rem + 1.2vw, 2rem);
  list-style: none;
  margin: 0 0 auto !important;
  padding: 0 0 3rem !important; /* margin-bottom:auto keeps tabs+divider at the column TOP and pushes the text below to the bottom */
  border: 0 !important;
  border-bottom: 1px solid var(--dark-navy) !important;
  background: transparent !important;
}
.hwa .et_pb_tabs_controls li,
.hwa .et_pb_tabs_controls li.et_pb_tab_active {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  list-style: none;
  box-shadow: none !important;
  float: none;
}
.hwa .et_pb_tabs_controls li:before {
  content: none !important;
}
.hwa .et_pb_tab_nav_item_link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  padding: 0 !important;
  border: 1px solid var(--dark-navy);
  border-radius: 0.625rem;
  color: var(--dark-navy);
  background: transparent;
  font-family: var(--font-mrs-eaves-xl-serif);
  font-size: var(--text-sm);
  font-weight: 400;
  font-style: italic; /* match .heading-sm (Mrs Eaves italic) — was the missing piece */
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.hwa .et_pb_tabs_controls .et_pb_tab_active .et_pb_tab_nav_item_link {
  background: var(--dark-navy) !important;
  color: var(--light-pink) !important;
}

/* Content panels — equal 3rem gap under the divider (matches the 3rem above it) */
.hwa .et_pb_all_tabs {
  flex: 0 0 auto !important;
  margin-top: 0 !important;
  padding: 3rem 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.hwa .et_pb_tab {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.hwa .et_pb_tab_content {
  color: var(--dark-navy);
  margin: 0 !important;
  padding: 0 !important;
}
.hwa .et_pb_tab_content h3 {
  font-family: var(--font-mrs-eaves-xl-serif);
  font-size: var(--text-sm);
  line-height: normal;
  color: var(--dark-navy);
  margin: 0 0 3rem;
}
.hwa .et_pb_tab_content p {
  font-family: var(--font-wavehaus);
  font-size: var(--text-body-xl);
  font-weight: 500;
  line-height: normal;
  color: var(--dark-navy);
  margin: 0;
}

/* Tablet / mobile — column stacks: no bottom-push, normal 2rem under the divider */
@media (max-width: 980px) {
  .hwa.et_pb_tabs {
    height: auto;
  }
  .hwa .et_pb_tabs_controls {
    padding-bottom: 2rem !important;
  }
  .hwa .et_pb_all_tabs {
    margin-top: 0 !important;
    padding-top: 2rem !important;
  }
  .hwa .et_pb_tab_content h3 {
    margin-bottom: 1.5rem;
  }
}
