/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4 */
/* BariatricPal leaderboard: compact ranked-list treatment. */

:root {
  --lb-accent: #d23b70;
  --lb-gold: #f0bd3f;
  --lb-surface: rgba(255, 255, 255, 0.025);
  --lb-surface-hover: rgba(255, 255, 255, 0.05);
  --lb-rule: rgba(255, 255, 255, 0.09);
  --lb-muted: #a7adb8;
  --lb-focus: #8ec7ff;
  --lb-radius: 12px;
}

.ipsLayout__main .ipsPageHeader {
  margin-bottom: 12px !important;
}

.ipsLayout__main .ipsPageHeader__title {
  font-size: clamp(1.6rem, 2.2vw, 2rem) !important;
  line-height: 1.1 !important;
}

#ipsTabs_leaderboard {
  min-height: 56px !important;
  border-radius: var(--lb-radius) var(--lb-radius) 0 0 !important;
}

#ipsTabs_leaderboard .ipsTabs__tab {
  min-height: 56px !important;
  padding-block: 10px !important;
}

#ipsTabs_leaderboard .ipsTabs__tab i {
  margin-right: 8px !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsButtonBar {
  min-height: 44px !important;
  padding: 6px 12px !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsDataFilters__button {
  min-height: 32px !important;
  padding: 6px 10px !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  counter-reset: leaderboard-rank;
  border-bottom: 1px solid var(--lb-rule) !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  min-height: 84px !important;
  padding: 10px 14px !important;
  gap: 12px !important;
  counter-increment: leaderboard-rank;
  border: 0 !important;
  border-top: 1px solid var(--lb-rule) !important;
  background: transparent !important;
  transition: background-color 160ms ease-out;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li:hover {
  background: var(--lb-surface-hover) !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li:first-child {
  background: var(--lb-surface) !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li::before {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  content: counter(leaderboard-rank, decimal-leading-zero);
  border-radius: 50%;
  color: var(--lb-muted);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li:first-child::before {
  color: #1c2028;
  background: var(--lb-gold);
}

#ipsTabs_leaderboard_leaderboard_panel .ipsCoverPhoto {
  display: none !important;
}

#ipsTabs_leaderboard_leaderboard_panel .cUserHovercard__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 180px !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

#ipsTabs_leaderboard_leaderboard_panel
  .cUserHovercard__grid
  > .i-padding_2 {
  min-width: 0 !important;
  padding: 0 !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsPhotoPanel {
  align-items: center !important;
  min-width: 0 !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsUserPhoto--fluid {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsPhotoPanel__text {
  min-width: 0 !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsPhotoPanel__text h4 {
  margin: 0 0 3px !important;
  font-size: 1rem !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsPhotoPanel__secondary {
  overflow: hidden;
  color: var(--lb-muted) !important;
  font-size: 0.82rem !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsPhotoPanel__secondary span {
  color: inherit !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsLeaderboard_trophy {
  margin-left: auto !important;
  transform: scale(0.78);
}

#ipsTabs_leaderboard_leaderboard_panel .ipsFluid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(70px, 1fr)) !important;
  gap: 10px !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsFluid > div {
  place-content: center !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsFluid .i-font-size_3 {
  font-size: 1rem !important;
  line-height: 1.15 !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsFluid .i-font-weight_500 {
  font-size: 0.75rem !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li > .ipsButtons {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li > .ipsButtons > li {
  flex: 0 0 auto !important;
}

#ipsTabs_leaderboard_leaderboard_panel
  .ipsMembers
  > li
  > .ipsButtons
  .ipsButton {
  width: auto !important;
  min-height: 36px !important;
  padding: 7px 12px !important;
  border-radius: 8px !important;
  white-space: nowrap;
}

#ipsTabs_leaderboard_leaderboard_panel
  .ipsMembers
  > li
  > .ipsButtons
  .ipsButton--primary {
  background: var(--lb-accent) !important;
}

#ipsTabs_leaderboard_leaderboard_panel
  .ipsMembers
  > li
  > .ipsButtons
  .ipsButton:focus-visible {
  outline: 2px solid var(--lb-focus) !important;
  outline-offset: 2px !important;
}

#ipsTabs_leaderboard_leaderboard_panel + * {
  margin-top: 18px !important;
}

@media (max-width: 860px) {
  #ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: start !important;
    min-height: 0 !important;
    padding: 12px !important;
    gap: 8px !important;
  }

  #ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li::before {
    width: 30px;
    height: 30px;
    margin-top: 7px;
  }

  #ipsTabs_leaderboard_leaderboard_panel .cUserHovercard__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #ipsTabs_leaderboard_leaderboard_panel .ipsFluid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #ipsTabs_leaderboard_leaderboard_panel .ipsMembers > li > .ipsButtons {
    grid-column: 2;
    justify-content: flex-start !important;
  }

  #ipsTabs_leaderboard_leaderboard_panel .ipsLeaderboard_trophy {
    display: none !important;
  }
}

@media (max-width: 430px) {
  #ipsTabs_leaderboard .ipsTabs__tab {
    padding-inline: 7px !important;
    font-size: 0.78rem !important;
  }

  #ipsTabs_leaderboard .ipsTabs__tab i {
    display: none !important;
  }

  #ipsTabs_leaderboard_leaderboard_panel
    .ipsMembers
    > li
    > .ipsButtons
    .ipsButton {
    min-height: 34px !important;
    padding: 6px 9px !important;
    font-size: 0.78rem !important;
  }
}

/* Compact sidebar system */
.ipsLayout__secondary-column .ipsWidget {
  margin-bottom: 16px !important;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 28, 58, 0.08);
}

.ipsLayout__secondary-column .ipsWidget__header {
  min-height: 46px;
  padding: 13px 16px !important;
}

.ipsLayout__secondary-column .ipsWidget__header h3 {
  font-size: 0.92rem !important;
  line-height: 1.2;
  letter-spacing: 0.045em;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__item {
  min-height: 0 !important;
  padding: 14px 15px !important;
  gap: 11px !important;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__icon {
  align-self: flex-start;
  flex: 0 0 30px !important;
  width: 30px !important;
  margin-top: 1px;
}

.ipsLayout__secondary-column
  .ipsData--topic-feed-widget
  .ipsData__icon
  .ipsUserPhoto {
  width: 30px !important;
  height: 30px !important;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__content {
  min-width: 0;
  gap: 8px !important;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__main {
  min-width: 0;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__category,
.ipsLayout__secondary-column
  .ipsData--topic-feed-widget
  .ipsData__last[data-ips-hook="latestAuthorPhoto"],
.ipsLayout__secondary-column
  .ipsData--topic-feed-widget
  .ipsData__last[data-ips-hook="latestUserPhoto"] {
  display: none !important;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__title h4 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 4px !important;
  font-size: 0.93rem !important;
  font-weight: 700;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__meta {
  overflow: hidden;
  font-size: 0.76rem !important;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__extra {
  align-self: center;
  flex: 0 0 auto;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__stats {
  display: flex !important;
  align-items: center;
  gap: 9px;
}

.ipsLayout__secondary-column .ipsData--topic-feed-widget .ipsData__stats li {
  margin: 0 !important;
  font-size: 0.75rem !important;
}

@media (max-width: 979px) {
  .ipsLayout__secondary-column .ipsWidget {
    margin-bottom: 12px !important;
  }
}

/* Top Members uses the same member-card component in several ranked groups. */
#ipsTabs_leaderboard_members_panel .ipsButtonBar {
  min-height: 44px !important;
  padding: 6px 12px !important;
}

#ipsTabs_leaderboard_members_panel .ipsDataFilters__button {
  min-height: 32px !important;
  padding: 6px 10px !important;
}

#ipsTabs_leaderboard_members_panel [data-role="tableRows"] > div > h2 {
  padding: 12px 14px !important;
  font-size: 0.86rem !important;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

#ipsTabs_leaderboard_members_panel .ipsMembers {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  counter-reset: leaderboard-rank;
  border-bottom: 1px solid var(--lb-rule) !important;
}

#ipsTabs_leaderboard_members_panel .ipsMembers > li {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  min-height: 84px !important;
  padding: 10px 14px !important;
  gap: 12px !important;
  counter-increment: leaderboard-rank;
  border: 0 !important;
  border-top: 1px solid var(--lb-rule) !important;
  background: transparent !important;
  transition: background-color 160ms ease-out;
}

#ipsTabs_leaderboard_members_panel .ipsMembers > li:hover {
  background: var(--lb-surface-hover) !important;
}

#ipsTabs_leaderboard_members_panel .ipsMembers > li::before {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  content: counter(leaderboard-rank, decimal-leading-zero);
  border-radius: 50%;
  color: var(--lb-muted);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

#ipsTabs_leaderboard_members_panel .ipsMembers > li:first-child::before {
  color: #1c2028;
  background: var(--lb-gold);
}

#ipsTabs_leaderboard_members_panel .ipsCoverPhoto {
  display: none !important;
}

#ipsTabs_leaderboard_members_panel .cUserHovercard__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 180px !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

#ipsTabs_leaderboard_members_panel
  .cUserHovercard__grid
  > .i-padding_2 {
  min-width: 0 !important;
  padding: 0 !important;
}

#ipsTabs_leaderboard_members_panel .ipsPhotoPanel {
  align-items: center !important;
  min-width: 0 !important;
}

#ipsTabs_leaderboard_members_panel .ipsUserPhoto--fluid {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
}

#ipsTabs_leaderboard_members_panel .ipsPhotoPanel__text {
  min-width: 0 !important;
}

#ipsTabs_leaderboard_members_panel .ipsPhotoPanel__text h4 {
  margin: 0 0 3px !important;
  font-size: 1rem !important;
}

#ipsTabs_leaderboard_members_panel .ipsPhotoPanel__secondary {
  overflow: hidden;
  color: var(--lb-muted) !important;
  font-size: 0.82rem !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ipsTabs_leaderboard_members_panel .ipsPhotoPanel__secondary span {
  color: inherit !important;
}

#ipsTabs_leaderboard_members_panel .ipsFluid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(70px, 1fr)) !important;
  gap: 10px !important;
}

#ipsTabs_leaderboard_members_panel .ipsFluid > div {
  place-content: center !important;
}

#ipsTabs_leaderboard_members_panel .ipsFluid .i-font-size_3 {
  font-size: 1rem !important;
  line-height: 1.15 !important;
}

#ipsTabs_leaderboard_members_panel .ipsFluid .i-font-weight_500 {
  font-size: 0.75rem !important;
}

#ipsTabs_leaderboard_members_panel .ipsMembers > li > .ipsButtons {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#ipsTabs_leaderboard_members_panel .ipsMembers > li > .ipsButtons > li {
  flex: 0 0 auto !important;
}

#ipsTabs_leaderboard_members_panel
  .ipsMembers
  > li
  > .ipsButtons
  .ipsButton {
  width: auto !important;
  min-height: 36px !important;
  padding: 7px 12px !important;
  border-radius: 8px !important;
  white-space: nowrap;
}

#ipsTabs_leaderboard_members_panel
  .ipsMembers
  > li
  > .ipsButtons
  .ipsButton--primary {
  background: var(--lb-accent) !important;
}

/* Past Leaders becomes a dense date-by-date results table. */
#ipsTabs_leaderboard_history_panel .cPastLeaders {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  border-top: 1px solid var(--lb-rule);
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_row {
  display: grid !important;
  grid-template-columns: 128px repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  min-height: 76px;
  padding: 10px 14px !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--lb-rule) !important;
  transition: background-color 160ms ease-out;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_row:hover {
  background: var(--lb-surface-hover);
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_title {
  margin: 0 !important;
  font-size: 0.95rem !important;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_title span {
  display: block;
  margin-top: 2px;
  color: var(--lb-muted);
  font-size: 0.74rem;
  font-weight: 500;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_cell {
  min-width: 0;
  padding: 7px 10px;
  border-radius: 9px;
  background: var(--lb-surface);
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsPhotoPanel {
  min-width: 0;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsUserPhoto--fluid {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsPhotoPanel__text {
  min-width: 0;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsPhotoPanel__primary,
#ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsPhotoPanel__secondary {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsPhotoPanel__secondary {
  color: var(--lb-muted);
  font-size: 0.76rem;
}

#ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsLeaderboard_trophy {
  margin-left: 7px;
  transform: scale(0.72);
}

@media (max-width: 860px) {
  #ipsTabs_leaderboard_members_panel .ipsMembers > li {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: start !important;
    min-height: 0 !important;
    padding: 12px !important;
    gap: 8px !important;
  }

  #ipsTabs_leaderboard_members_panel .ipsMembers > li::before {
    width: 30px;
    height: 30px;
    margin-top: 7px;
  }

  #ipsTabs_leaderboard_members_panel .cUserHovercard__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #ipsTabs_leaderboard_members_panel .ipsFluid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #ipsTabs_leaderboard_members_panel .ipsMembers > li > .ipsButtons {
    grid-column: 2;
    justify-content: flex-start !important;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_title {
    grid-column: 1 / -1;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_title span {
    display: inline;
    margin-left: 4px;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_cell {
    display: block !important;
    min-width: 0;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsPhotoPanel {
    display: grid !important;
    justify-items: center;
    gap: 5px;
    text-align: center;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsLeaderboard_trophy {
    display: none !important;
  }
}

@media (max-width: 430px) {
  #ipsTabs_leaderboard_members_panel
    .ipsMembers
    > li
    > .ipsButtons
    .ipsButton {
    min-height: 34px !important;
    padding: 6px 9px !important;
    font-size: 0.78rem !important;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_row {
    padding-inline: 9px !important;
    gap: 7px !important;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_cell {
    padding: 8px 5px;
  }

  #ipsTabs_leaderboard_history_panel .cPastLeaders_cell .ipsUsername {
    font-size: 0.78rem;
  }
}


/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */
/* BariatricPal site footer and desktop navigation cleanup. */

:root {
  --bp-footer-bg: #20242c;
  --bp-footer-bg-deep: #191d24;
  --bp-footer-field: #2b303a;
  --bp-footer-text: #f4f5f7;
  --bp-footer-muted: #aeb5c0;
  --bp-footer-rule: rgba(255, 255, 255, 0.11);
  --bp-footer-accent: #d83a73;
  --bp-footer-accent-hover: #eb4c86;
  --bp-footer-focus: #8ec7ff;
  --bp-footer-radius: 10px;
}

/* Keep Invision's native More overflow control visible. */

.ipsFooter__footer {
  padding: 0 !important;
  background: var(--bp-footer-bg) !important;
  color: var(--bp-footer-text);
}

.ipsFooter__footer > .ipsWidth {
  width: 100% !important;
  max-width: none !important;
}

.bpSiteFooter {
  width: min(100% - 40px, 1500px);
  margin-inline: auto;
  padding: clamp(42px, 5vw, 72px) 0 44px;
}

.bpSiteFooter__lead {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(360px, 0.9fr);
  align-items: end;
  gap: clamp(36px, 7vw, 110px);
  padding-bottom: 38px;
  border-bottom: 1px solid var(--bp-footer-rule);
}

.bpSiteFooter__brand {
  max-width: 510px;
}

.bpSiteFooter__logo {
  display: block;
  width: min(100%, 280px);
  height: auto;
  margin-bottom: 18px;
}

.bpSiteFooter__logo--light {
  display: none;
}

.bpSiteFooter__brand p {
  max-width: 48ch;
  margin: 0;
  color: var(--bp-footer-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.bpSiteFooter__newsletter {
  width: 100%;
  max-width: 560px;
  justify-self: end;
}

.bpSiteFooter__newsletter > label {
  display: block;
  margin-bottom: 10px;
  color: var(--bp-footer-text);
  font-size: 0.82rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bpSiteFooter__newsletterRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.bpSiteFooter__newsletter input {
  min-width: 0;
  height: 48px;
  padding: 0 15px;
  border: 1px solid var(--bp-footer-rule);
  border-radius: var(--bp-footer-radius);
  background: var(--bp-footer-field);
  color: var(--bp-footer-text);
  font: inherit;
}

.bpSiteFooter__newsletter input::placeholder {
  color: var(--bp-footer-muted);
  opacity: 1;
}

.bpSiteFooter__newsletter button {
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: var(--bp-footer-radius);
  background: var(--bp-footer-accent);
  color: var(--bp-footer-text);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  transition:
    background-color 160ms ease-out,
    transform 160ms ease-out;
}

.bpSiteFooter__newsletter button:hover {
  background: var(--bp-footer-accent-hover);
}

.bpSiteFooter__newsletter button:active {
  transform: translateY(1px);
}

.bpSiteFooter__newsletter input:focus-visible,
.bpSiteFooter__newsletter button:focus-visible,
.bpSiteFooter__nav a:focus-visible {
  outline: 2px solid var(--bp-footer-focus);
  outline-offset: 3px;
}

.bpSiteFooter__nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(24px, 3.5vw, 56px);
  padding-top: 38px;
}

.bpSiteFooter__nav section {
  min-width: 0;
}

.bpSiteFooter__nav h3 {
  margin: 0 0 15px;
  color: var(--bp-footer-text);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-transform: uppercase;
}

.bpSiteFooter__nav ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bpSiteFooter__nav a {
  color: var(--bp-footer-muted);
  font-size: 0.94rem;
  line-height: 1.4;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color 140ms ease-out;
}

.bpSiteFooter__nav a:hover {
  color: var(--bp-footer-text);
  text-decoration: underline;
}

.bpSiteFooter__connect {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.bpSiteFooter__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bpSiteFooter__socials a {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--bp-footer-rule);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: var(--bp-footer-text);
  font-size: 1.05rem;
}

.bpSiteFooter__socials a:hover {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.14);
  text-decoration: none;
}

.bpSiteFooter__shopFollow {
  min-height: 36px;
}

.bpSiteFooter__shopFallback {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 9px;
  padding: 0 16px;
  border-radius: 999px;
  background: #5934eb;
  color: #fff !important;
  font-weight: 750;
}

.bpSiteFooter__shopFallback:hover {
  background: #6846f4;
  text-decoration: none !important;
}

.bpSiteFooter__junip {
  display: block;
  width: 100%;
  max-width: 275px;
  min-height: 68px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  background: #fff;
  color: #18231d !important;
}

.bpSiteFooter__junip:hover {
  border-color: rgba(255, 255, 255, 0.42);
  text-decoration: none !important;
}

.bpSiteFooter__junipFallback {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 10px;
  align-items: center;
}

.bpSiteFooter__junipFallback strong {
  grid-row: 1 / 3;
  display: grid;
  min-width: 62px;
  min-height: 48px;
  place-items: center;
  border-radius: 7px;
  background: #079447;
  color: #fff;
  font-size: 1.2rem;
}

.bpSiteFooter__junipFallback > span:last-of-type {
  color: #18231d;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.bpSiteFooter__junipFallback b {
  color: #079447;
  font-size: 0.9rem;
}

.bpSiteFooter__stars {
  color: #079447;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.bpSiteFooter__stars span {
  color: #aeb5c0;
}

.bpSiteFooter__junip .junip-badge:not(:empty) + .bpSiteFooter__junipFallback {
  display: none;
}

.bpSiteFooter__utility {
  display: flex;
  justify-content: flex-end;
  padding-top: 18px;
  border-top: 1px solid var(--bp-footer-rule);
}

.bpSiteFooter__utility a {
  color: var(--bp-footer-muted);
  font-size: 0.76rem;
  text-decoration: none;
}

.bpSiteFooter__utility a:hover {
  color: var(--bp-footer-text);
  text-decoration: underline;
}

/* Retain Invision's dynamic controls as the utility bar below the new nav. */
.ipsFooter__align {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  padding: 18px max(20px, calc((100% - 1500px) / 2)) !important;
  border-top: 1px solid var(--bp-footer-rule);
  background: var(--bp-footer-bg-deep);
}

.ipsFooter__align > hr {
  display: none !important;
}

.ipsFooter__align .ipsColorSchemeChanger,
.ipsFooter__align .ipsSocialIcons,
.ipsFooter__align .ipsFooterLinks {
  margin: 0 !important;
}

.ipsFooter__align .ipsSocialIcons {
  justify-self: start;
}

.ipsFooter__align .ipsFooterLinks {
  justify-self: end;
}

.ipsFooter__align .ipsCopyright {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  margin: 0 !important;
  color: var(--bp-footer-muted);
}

@media (prefers-reduced-motion: reduce) {
  .bpSiteFooter__newsletter button,
  .bpSiteFooter__nav a {
    transition: none;
  }
}

@media (max-width: 1200px) {
  .bpSiteFooter__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .bpSiteFooter__lead {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 28px;
  }

  .bpSiteFooter__newsletter {
    max-width: 620px;
    justify-self: start;
  }

  .bpSiteFooter__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 34px;
  }

  .ipsFooter__align {
    grid-template-columns: 1fr auto !important;
  }

  .ipsFooter__align .ipsCopyright {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .bpSiteFooter {
    width: min(100% - 28px, 1500px);
    padding-block: 36px 32px;
  }

  .bpSiteFooter__lead {
    padding-bottom: 30px;
  }

  .bpSiteFooter__newsletterRow {
    grid-template-columns: minmax(0, 1fr);
  }

  .bpSiteFooter__newsletter button {
    width: 100%;
  }

  .bpSiteFooter__nav {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-top: 16px;
  }

  .bpSiteFooter__nav section {
    padding: 18px 0;
    border-bottom: 1px solid var(--bp-footer-rule);
  }

  .bpSiteFooter__nav section:last-child {
    border-bottom: 0;
  }

  .ipsFooter__align {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    padding: 18px 14px !important;
  }

  .ipsFooter__align .ipsSocialIcons,
  .ipsFooter__align .ipsFooterLinks,
  .ipsFooter__align .ipsCopyright {
    grid-column: 1;
    justify-self: start;
  }
}


/* BariatricPal About page */
body:has(#elCmsPageWrap[data-pageid="156"])
  .cWidgetContainer--isWidget:has(
    [data-blockid="app_cms_pagebuildertext_02fd7a"]
  ) {
  display: none;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  > .ipsWidget__content {
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid #e2e7f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(16, 30, 67, 0.1);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 24px;
  color: #16213a;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > * {
  margin: 0;
}

/* Hero */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(-n + 5) {
  grid-column: 1 / -1;
  padding-inline: clamp(24px, 5vw, 64px);
  background: #101e43;
  color: #fff;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > h3:first-child {
  padding-top: 48px;
  color: #ff5b91;
  font-size: 0.76rem;
  letter-spacing: 0.16em;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > h2 {
  max-width: 760px;
  padding-top: 10px;
  font-size: clamp(2rem, 4.6vw, 3.7rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(3) {
  max-width: 760px;
  padding-top: 18px;
  padding-bottom: 24px;
  color: #d9e0ef;
  font-size: 1.08rem;
  line-height: 1.65;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(4),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(5) {
  display: flex;
  width: auto;
  padding-bottom: 10px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(5) {
  padding-left: clamp(24px, 5vw, 64px);
  padding-bottom: 48px;
}

/* CTA links use readable labels instead of displaying raw URLs */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  p:has(> a) {
  font-size: 0;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  p:has(> a)
  a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 6px;
  color: #fff;
  font-size: 0;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-decoration: none;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  a[href*="/register/"],
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  a[href*="/forums/"] {
  border-color: #d91d62 !important;
  background: #d91d62;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  a[href*="/register/"]::after {
  content: "Join the community";
  font-size: 0.84rem;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  a[href*="/pages/about-us"]::after {
  content: "Read the Store story";
  font-size: 0.84rem;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  a[href*="/forums/"]::after {
  content: "Visit the forums";
  font-size: 0.84rem;
}

/* Founder story */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(n + 6) {
  padding-inline: clamp(24px, 5vw, 64px);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(6),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(12) {
  grid-column: 1 / -1;
  padding-top: 44px;
  color: #d91d62;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.15em;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(7),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(13),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(28) {
  grid-column: 1 / -1;
  padding-top: 8px;
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.1;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(8),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(9) {
  grid-column: 1 / 8;
  padding-top: 18px;
  color: #5e6a80;
  line-height: 1.7;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(9) {
  padding-bottom: 44px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(10),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(11) {
  grid-column: 8 / -1;
  padding: 24px 28px;
  border-left: 3px solid #d91d62;
  background: #f5f7fb;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(10) {
  align-self: end;
  padding-bottom: 7px;
  color: #101e43;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.5;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(11) {
  align-self: start;
  padding-top: 0;
  color: #5e6a80;
  font-size: 0.78rem;
}

/* Journey cards */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(13) {
  padding-bottom: 26px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(14),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(16),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(18),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(20) {
  padding: 20px 22px 6px;
  border: 1px solid #e1e6ef;
  border-bottom: 0;
  border-radius: 9px 9px 0 0;
  color: #101e43;
  font-size: 1rem;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(15),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(17),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(19),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(21) {
  padding: 0 22px 20px;
  border: 1px solid #e1e6ef;
  border-top: 0;
  border-radius: 0 0 9px 9px;
  color: #5e6a80;
  line-height: 1.55;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(14),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(15) {
  grid-column: 1 / 7;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(16),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(17) {
  grid-column: 7 / -1;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(18),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(19) {
  grid-column: 1 / 7;
  margin-top: 16px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(20),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(21) {
  grid-column: 7 / -1;
  margin-top: 16px;
}

/* Three community values */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(22),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(24),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(26) {
  margin-top: 44px;
  padding: 20px 20px 4px;
  background: #f5f7fb;
  color: #d91d62;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(23),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(25),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(27) {
  padding: 0 20px 20px;
  background: #f5f7fb;
  color: #5e6a80;
  line-height: 1.5;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(22),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(23) {
  grid-column: 1 / 5;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(24),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(25) {
  grid-column: 5 / 9;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(26),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(27) {
  grid-column: 9 / -1;
}

/* Closing CTA */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(28),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(29),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(30) {
  grid-column: 1 / -1;
  background: #182952;
  color: #fff;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(28) {
  margin-top: 48px;
  padding-top: 40px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(29) {
  padding-top: 12px;
  color: #d9e0ef;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(30) {
  padding-top: 22px;
  padding-bottom: 42px;
}

@media (max-width: 720px) {
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText {
    grid-template-columns: 1fr;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > * {
    grid-column: 1 !important;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(4),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(5) {
    width: auto;
    padding-inline: 24px;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(5) {
    padding-top: 0;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(10),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(11) {
    margin-inline: 24px;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(14),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(16),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(18),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(20),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(22),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(24),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(26) {
    margin-top: 12px;
  }
}


/* BariatricPal About page v2: full-width story page */

body:has(#elCmsPageWrap[data-pageid="156"]) {
  --bp-about-ink: #12213f;
  --bp-about-navy: #111c3f;
  --bp-about-navy-soft: #1b2d59;
  --bp-about-pink: #d91d62;
  --bp-about-pink-bright: #f05b91;
  --bp-about-paper: #ffffff;
  --bp-about-wash: #f4f7fb;
  --bp-about-line: #dfe5ee;
  --bp-about-muted: #5a667d;
}

body:has(#elCmsPageWrap[data-pageid="156"])
  .ipsLayout__columns {
  display: block;
}

body:has(#elCmsPageWrap[data-pageid="156"])
  .ipsLayout__secondary-column {
  display: none !important;
}

body:has(#elCmsPageWrap[data-pageid="156"])
  .ipsLayout__primary-column {
  width: 100% !important;
  max-width: none !important;
}

body:has(#elCmsPageWrap[data-pageid="156"])
  .cWidgetContainer--isWidget:has(
    [data-blockid="app_core_stats_fd8867"]
  ),
body:has(#elCmsPageWrap[data-pageid="156"])
  .cWidgetContainer--isWidget:has(
    [data-blockid="app_forums_forumStatistics_9bb32c"]
  ),
body:has(#elCmsPageWrap[data-pageid="156"])
  .cWidgetContainer--isWidget:has(
    [data-blockid="app_cms_Blocks_7570da0e"]
  ) {
  display: none !important;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  > .ipsWidget__content {
  border: 0;
  border-radius: 18px;
  box-shadow: 0 22px 65px rgba(18, 33, 63, 0.13);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 0 28px;
  background: var(--bp-about-paper);
}

/* Hero: one uninterrupted field, with the words doing the visual work. */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(-n + 5) {
  width: auto;
  max-width: none;
  padding-inline: clamp(28px, 7vw, 96px);
  background:
    radial-gradient(circle at 91% 18%, rgba(240, 91, 145, 0.2), transparent 28%),
    linear-gradient(135deg, var(--bp-about-navy) 0%, #142653 100%);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > h3:first-child {
  padding-top: clamp(52px, 7vw, 88px);
  padding-bottom: 0;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > h2 {
  padding-top: 14px;
  padding-right: clamp(28px, 22vw, 360px);
  font-size: clamp(2.65rem, 5.8vw, 5.4rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(3) {
  padding-top: 25px;
  padding-right: clamp(28px, 32vw, 520px);
  padding-bottom: 30px;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(4),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(5) {
  padding-bottom: 12px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(5) {
  padding-bottom: clamp(56px, 7vw, 88px);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  p:has(> a)
  a {
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 8px;
  transition:
    transform 150ms ease,
    border-color 150ms ease,
    background-color 150ms ease;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  p:has(> a)
  a:hover {
  transform: translateY(-2px);
}

/* Founder story: editorial copy beside a pull quote. */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(6) {
  grid-row: 6;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(7) {
  grid-row: 7;
  max-width: 820px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(8) {
  grid-column: 1 / 8;
  grid-row: 8;
  padding-top: 24px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(9) {
  grid-column: 1 / 8;
  grid-row: 9;
  padding-bottom: 64px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(10),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(11) {
  grid-column: 8 / -1;
  margin-right: clamp(28px, 7vw, 96px);
  border-left: 4px solid var(--bp-about-pink);
  background: var(--bp-about-wash);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(10) {
  grid-row: 8;
  align-self: end;
  padding: 30px 32px 8px;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(11) {
  grid-row: 9;
  align-self: start;
  padding: 3px 32px 30px;
}

/* Journey section: four equal paths, arranged as real paired cards. */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(12) {
  grid-row: 10;
  padding-top: 58px;
  background: var(--bp-about-wash);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(13) {
  grid-row: 11;
  padding-bottom: 30px;
  background: var(--bp-about-wash);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(14),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(16),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(18),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(20) {
  grid-row: 12;
  margin-top: 0;
  padding-top: 25px;
  border-top: 4px solid var(--bp-about-pink);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: #fff;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(15),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(17),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(19),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(21) {
  grid-row: 13;
  margin-top: 0;
  padding-bottom: 28px;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #fff;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(14),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(15) {
  grid-column: 1 / 4;
  margin-left: clamp(28px, 7vw, 96px);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(16),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(17) {
  grid-column: 4 / 7;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(18),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(19) {
  grid-column: 7 / 10;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(20),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(21) {
  grid-column: 10 / -1;
  margin-right: clamp(28px, 7vw, 96px);
}

/* Three reasons to trust the community. */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(22),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(24),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(26) {
  grid-row: 14;
  margin-top: 58px;
  border-top: 1px solid var(--bp-about-line);
  background: transparent;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(23),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(25),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(27) {
  grid-row: 15;
  padding-bottom: 58px;
  background: transparent;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(22),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(23) {
  margin-left: clamp(28px, 7vw, 96px);
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(26),
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(27) {
  margin-right: clamp(28px, 7vw, 96px);
}

/* Closing invitation. */
#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(28) {
  grid-row: 16;
  margin-top: 0;
  padding-top: 58px;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(29) {
  grid-row: 17;
}

#elCmsPageWrap[data-pageid="156"]
  [data-blockid="app_cms_Wysiwyg_2d9172"]
  .ipsRichText
  > :nth-child(30) {
  grid-row: 18;
  padding-bottom: 58px;
}

@media (prefers-reduced-motion: reduce) {
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    p:has(> a)
    a {
    transition: none;
  }
}

@media (max-width: 900px) {
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > h2,
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(3) {
    padding-right: clamp(28px, 7vw, 96px);
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(14),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(15),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(16),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(17),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(18),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(19),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(20),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(21) {
    margin-inline: 0;
  }
}

@media (max-width: 720px) {
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText {
    display: block;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(10),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(11) {
    margin-inline: 24px;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(14),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(16),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(18),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(20) {
    margin: 14px 24px 0;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(15),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(17),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(19),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(21) {
    margin: 0 24px;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(22),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(24),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(26) {
    margin: 32px 24px 0;
  }

  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(23),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(25),
  #elCmsPageWrap[data-pageid="156"]
    [data-blockid="app_cms_Wysiwyg_2d9172"]
    .ipsRichText
    > :nth-child(27) {
    margin: 0 24px;
    padding-bottom: 24px;
  }
}


/* Junip Store parity fix · 2026-07-26 */
.bpSiteFooter__junip {
  display: block;
  width: 230px;
  max-width: 100%;
  min-height: 71px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #18231d !important;
}

.bpSiteFooter__junip:hover {
  text-decoration: none !important;
}

/*
 * Invision's global box-sizing and word-wrap rules override Junip's widget
 * styles. Restore the Store badge's own 230 × 71 horizontal layout.
 */
.bpSiteFooter__junip .junip-badge,
.bpSiteFooter__junip .junip-badge *,
.bpSiteFooter__junip .junip-badge *::before,
.bpSiteFooter__junip .junip-badge *::after {
  box-sizing: border-box;
}

.bpSiteFooter__junip .junip-badge,
.bpSiteFooter__junip .junip-badge-container,
.bpSiteFooter__junip .junip-badge-mini {
  width: 230px !important;
  max-width: 100% !important;
}

.bpSiteFooter__junip .junip-badge-mini {
  min-width: 230px !important;
}

.bpSiteFooter__junip .junip-badge-rating-summary,
.bpSiteFooter__junip .junip-badge-details,
.bpSiteFooter__junip .junip-badge-rating-text {
  min-width: auto !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}




/* BariatricPal private redesign, TEST theme 5 */


:root {
  --bp-navy: #071a3d;
  --bp-navy-2: #0d2855;
  --bp-pink: #ef2b72;
  --bp-pink-dark: #c9185b;
  --bp-ink: #12213b;
  --bp-muted: #60708a;
  --bp-line: #dbe2ec;
  --bp-surface: #ffffff;
  --bp-canvas: #f4f6fa;
}

/* P2 FIX 2026-08-03: Dark mode site-wide. The IPS JS framework (blocked by
 * Cloudflare WAF 403 on /static/js/*.js) normally sets data-ips-scheme-active
 * from data-ips-scheme. The inline head script already sets data-ips-scheme="dark"
 * from prefers-color-scheme. These global token overrides + body background
 * apply dark mode via CSS alone, without JS. Site-wide, not just forum pages. */
html[data-ips-theme="5"][data-ips-scheme="dark"] {
  --bp-ink: #f7f9fd;
  --bp-muted: #aebbd0;
  --bp-line: #31415d;
  --bp-surface: #111c31;
  --bp-canvas: #091326;
}
html[data-ips-theme="5"][data-ips-scheme="dark"] body {
  background: var(--bp-canvas);
  color: var(--bp-ink);
}


/* One width token for the header, breadcrumb bar, content, and forum pages. */
html[data-ips-theme="5"] {
  --set__i-layout-width: 1320;
  --i-layout-width: 1320px;
  --bp-page-width: 1320px;
}

/* ===== BP THEME 5 WIDE INTEGRATED FORUM SHELL 20260729T082700Z ===== */
/* Owner: t_44368036. Forum routes alone inherit the wider shell. Public CMS
 * pages assigned to Theme 5 retain the established 1320px theme default. */
@media (min-width: 1200px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"] {
    --set__i-layout-width: 1500;
    --i-layout-width: 1500px;
    --bp-page-width: 1500px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 360px);
    column-gap: 24px;
    align-items: start;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__primary-column,
  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__secondary-column {
    width: auto;
    min-width: 0;
    max-width: none;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__primary-column {
    align-self: start;
  }

  /* Stretch only the transparent rail track to the primary-column boundary.
   * Cards remain natural-height inside the bounded native sticky owner. */
  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__secondary-column {
    align-self: stretch;
  }

  /* ===== BP THEME 5 BOUNDED SIDEBAR SCROLL 20260730 t_da434b74 =====
   * Only a rail proven taller than the usable viewport receives bounded
   * ownership. Short rails keep Invision's native top-sticky behavior. */
  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsLayout__secondary-sticky-inner[data-bp-sidebar-scroll="bounded"] {
    box-sizing: border-box;
    --bp-sidebar-sticky-offset: 0px;
    position: relative !important;
    top: var(--bp-sidebar-sticky-offset) !important;
    bottom: auto !important;
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
    scrollbar-gutter: auto;
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }

  /* Invision's outer wrapper is a second sticky owner. Release it only while
   * the inner rail is actively bounded, so Chromium cannot retain an adjusted
   * sticky end inset during reversal. */
  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsLayout__secondary-sticky-outer:has(> .ipsLayout__secondary-sticky-inner[data-bp-sidebar-scroll="bounded"]) {
    position: static !important;
    inset-block: auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-self: start !important;
    transition: none !important;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="topic"] .ipsEntry__post .ipsRichText--user {
    max-width: 85ch;
  }
}

/* Below the controller breakpoint, release Invision's outer sticky owner as
 * well as the inner rail. This keeps stacked Theme 5 forum layouts in normal
 * document flow without changing Theme 7 or non-forum routes. */
@media (max-width: 1199px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsLayout__secondary-sticky-outer {
    position: static !important;
    inset-block: auto !important;
    min-height: 0 !important;
    height: auto !important;
  }
}

/* The footer has its own legacy 1500px wrapper. Keep its content on the same
 * centered shell as the header, breadcrumb bar, and page body. */
html[data-ips-theme="5"] .bpSiteFooter,
html[data-ips-theme="5"] .ipsFooter__align {
  box-sizing: border-box;
  width: min(calc(100% - (2 * var(--i-layout-gutter))), var(--bp-page-width)) !important;
  max-width: var(--bp-page-width) !important;
  margin-inline: auto !important;
}

html[data-ips-theme="5"] .ipsHeader {
  background: var(--bp-navy);
  border-bottom: 3px solid var(--bp-pink);
  box-shadow: 0 8px 24px rgba(7, 26, 61, .18);
}

html[data-ips-theme="5"] .ipsHeader a,
html[data-ips-theme="5"] .ipsHeader button {
  letter-spacing: .02em;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] {
  background: var(--bp-canvas);
}

html[data-ips-theme="5"][data-ips-scheme="dark"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] {
  --bp-ink: #f7f9fd;
  --bp-muted: #aebbd0;
  --bp-line: #31415d;
  --bp-surface: #111c31;
  --bp-canvas: #091326;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] #ipsLayout__main {
  color: var(--bp-ink);
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsWidget,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--forum-grid {
  background: var(--bp-surface);
  border: 1px solid var(--bp-line);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(7, 26, 61, .07);
  overflow: hidden;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsWidget__header,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__header {
  background: var(--bp-navy);
  border: 0;
  color: #fff;
  padding: 15px 18px;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsWidget__header h3,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__header h2 {
  color: #fff;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: 17px;
  font-stretch: condensed;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.1;
  text-transform: uppercase;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsPageHeader {
  align-items: center;
  background: var(--bp-navy);
  border: 0;
  border-radius: 10px;
  color: #fff;
  margin-bottom: 18px;
  padding: 16px 18px;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsPageHeader h1 {
  color: #fff;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] a[href$="/startTopic/"] {
  background: var(--bp-pink);
  border: 0;
  border-radius: 7px;
  box-shadow: 0 8px 18px rgba(239, 43, 114, .24);
  color: #fff;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] a[href$="/startTopic/"]:hover {
  background: var(--bp-pink-dark);
  color: #fff;
  transform: translateY(-1px);
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] {
  margin-bottom: 18px;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__item {
  border-color: var(--bp-line);
  min-height: 0;
  padding: 17px;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__category a {
  color: var(--bp-pink-dark);
  font-size: 12px;
  font-weight: 750;
}

html[data-ips-theme="5"][data-ips-scheme="dark"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__category a {
  color: #ff77a8;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__title h4 {
  font-size: 16px;
  line-height: 1.28;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__meta,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__stats {
  color: var(--bp-muted);
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--forum-grid > .ipsData__item,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--forum-list > .ipsData__item {
  border-color: var(--bp-line);
  padding-block: 18px;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__title h3 a {
  color: var(--bp-ink);
  font-weight: 760;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__desc,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__meta {
  color: var(--bp-muted);
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsUserPhoto img {
  border: 2px solid rgba(239, 43, 114, .22);
}

@media (max-width: 767px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__columns,
  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__primary-column,
  html[data-ips-theme="5"] body[data-pageapp="forums"] .ipsLayout__secondary-column,
  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar,
  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsLayout__secondary-sticky,
  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsLayout__secondary-sticky-inner {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    flex-basis: 100%;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .cWidgetContainer,
  html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsWidget {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsPageHeader {
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 12px 14px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsPageHeader h1 {
    font-size: 24px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="1"] .ipsData__item:nth-child(n+5) {
    display: none;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__item {
    min-height: 0;
    padding: 13px 12px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__extra,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__last {
    display: none;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsWidget__header,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__header {
    padding: 12px 14px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--forum-grid > .ipsData__item,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData--forum-list > .ipsData__item {
    padding-block: 14px;
  }
}

/* Keep the native generated More menu. */

/* BariatricPal footer legal links 20260727 */
.ipsFooterLinks li:has(> a[href$="/privacy/"]),
.ipsFooterLinks li:has(> a[href$="/cookies/"]) {
  display: none !important;
}

.bpSiteFooter__utility {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
}

/* BariatricPal sidebar ad order 20260727 */
#ipsLayout_sidebar .ipsLayout__secondary-sticky-inner {
  display: flex;
  flex-direction: column;
}

#ipsLayout_sidebar .ipsLayout__secondary-sticky-inner > [data-role="sidebarAd"] {
  order: 100;
  width: 100%;
  margin-top: 20px;
}


/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */
/* BariatricPal site footer and desktop navigation cleanup. */

:root {
  --bp-footer-bg: #20242c;
  --bp-footer-bg-deep: #191d24;
  --bp-footer-field: #2b303a;
  --bp-footer-text: #f4f5f7;
  --bp-footer-muted: #aeb5c0;
  --bp-footer-rule: rgba(255, 255, 255, 0.11);
  --bp-footer-accent: #d83a73;
  --bp-footer-accent-hover: #eb4c86;
  --bp-footer-focus: #8ec7ff;
  --bp-footer-radius: 10px;
}

/* About Us is now in the footer, so the generated More menu can go away. */
/* moreLi hide removed - breaks primary nav overflow */

.ipsFooter__footer {
  padding: 0 !important;
  background: var(--bp-footer-bg) !important;
  color: var(--bp-footer-text);
}

.ipsFooter__footer > .ipsWidth {
  width: 100% !important;
  max-width: none !important;
}

.bpSiteFooter {
  width: min(100% - 40px, 1500px);
  margin-inline: auto;
  padding: clamp(42px, 5vw, 72px) 0 44px;
}

/* BP THEME 5 FOOTER NEWSLETTER INTEGRATION 20260729T134500Z */
html[data-ips-theme="5"] .bpSiteFooter__main {
  display: grid;
  grid-template-columns: minmax(250px, 0.9fr) minmax(0, 3.6fr);
  align-items: start;
  gap: clamp(34px, 4vw, 64px);
  padding-bottom: 38px;
  border-bottom: 1px solid var(--bp-footer-rule);
}

html[data-ips-theme="5"] .bpSiteFooter__brand {
  min-width: 0;
  max-width: 320px;
  padding-right: clamp(22px, 3vw, 42px);
  border-right: 1px solid var(--bp-footer-rule);
}

.bpSiteFooter__logo {
  display: block;
  width: min(100%, 280px);
  height: auto;
  margin-bottom: 18px;
}

.bpSiteFooter__logo--light {
  display: none;
}

html[data-ips-theme="5"] .bpSiteFooter__brand p {
  max-width: 34ch;
  margin: 0;
  color: var(--bp-footer-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}

html[data-ips-theme="5"] .bpSiteFooter__newsletter {
  width: 100%;
  max-width: 300px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--bp-footer-rule);
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterTitle {
  display: block;
  margin: 0 0 7px;
  color: var(--bp-footer-text);
  font-size: 0.94rem;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterText {
  margin: 0 0 14px;
  color: var(--bp-footer-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 44px;
  max-width: 100%;
  padding: 0 16px;
  border: 1px solid rgba(216, 58, 115, 0.72);
  border-radius: 8px;
  background: rgba(216, 58, 115, 0.12);
  color: var(--bp-footer-text);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 720;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 160ms ease-out,
    transform 160ms ease-out;
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterButton:hover {
  border-color: var(--bp-footer-accent-hover);
  background: rgba(216, 58, 115, 0.24);
  color: var(--bp-footer-text);
  text-decoration: none;
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterButton:active {
  transform: translateY(1px);
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterButton:focus-visible,
html[data-ips-theme="5"] .bpSiteFooter__nav a:focus-visible {
  outline: 2px solid var(--bp-footer-focus);
  outline-offset: 3px;
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterStatus {
  display: block;
  margin-top: 9px;
  color: var(--bp-footer-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

html[data-ips-theme="5"] .bpSiteFooter__newsletterStatus:empty {
  display: none;
}

html[data-ips-theme="5"] .bpSiteFooter__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(108px, 0.86fr)) minmax(200px, 1.2fr);
  gap: clamp(20px, 2.4vw, 38px);
  min-width: 0;
  padding-top: 0;
}

.bpSiteFooter__nav section {
  min-width: 0;
}

.bpSiteFooter__nav h3 {
  margin: 0 0 15px;
  color: var(--bp-footer-text);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-transform: uppercase;
}

.bpSiteFooter__nav ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bpSiteFooter__nav a {
  color: var(--bp-footer-muted);
  font-size: 0.94rem;
  line-height: 1.4;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color 140ms ease-out;
}

.bpSiteFooter__nav a:hover {
  color: var(--bp-footer-text);
  text-decoration: underline;
}

.bpSiteFooter__connect {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.bpSiteFooter__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

html[data-ips-theme="5"] .bpSiteFooter__socials a {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--bp-footer-rule);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: var(--bp-footer-text);
  font-size: 1.05rem;
}

.bpSiteFooter__socials a:hover {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.14);
  text-decoration: none;
}

.bpSiteFooter__shopFollow {
  min-height: 36px;
}

html[data-ips-theme="5"] .bpSiteFooter__shopFallback {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 0 16px;
  border-radius: 999px;
  background: #5934eb;
  color: #fff !important;
  font-weight: 750;
}

.bpSiteFooter__shopFallback:hover {
  background: #6846f4;
  text-decoration: none !important;
}


/* Junip / store reviews badge: always use static readable card */
.bpSiteFooter__nav a.bpSiteFooter__junip,
.bpSiteFooter__connect a.bpSiteFooter__junip,
a.bpSiteFooter__junip {
  display: block !important;
  width: min(100%, 300px) !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  color: #111827 !important;
  text-decoration: none !important;
}

.bpSiteFooter__nav a.bpSiteFooter__junip:hover,
a.bpSiteFooter__junip:hover {
  border-color: rgba(255, 255, 255, 0.45) !important;
  text-decoration: none !important;
}

/* old junip hide removed */

.bpSiteFooter__junipFallback,
.bpSiteFooter__junip .bpSiteFooter__junipFallback,
.bpSiteFooter__junip .junip-badge:not(:empty) + .bpSiteFooter__junipFallback {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 3px 12px !important;
  align-items: center !important;
  width: 100% !important;
  color: #111827 !important;
}

.bpSiteFooter__junipFallback strong {
  grid-row: 1 / 3 !important;
  display: grid !important;
  min-width: 58px !important;
  min-height: 52px !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: #079447 !important;
  color: #ffffff !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.bpSiteFooter__junipFallback .bpSiteFooter__stars,
.bpSiteFooter__stars {
  position: relative !important;
  display: inline-block !important;
  color: #d1d5db !important;
  font-size: 1rem !important;
  letter-spacing: 0.05em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.bpSiteFooter__stars::before {
  content: "★★★★★" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: calc(var(--rating, 4.51) / 5 * 100%) !important;
  overflow: hidden !important;
  color: #079447 !important;
  white-space: nowrap !important;
}

.bpSiteFooter__junipFallback > span:last-of-type,
.bpSiteFooter__junipFallback .bpSiteFooter__junipCount {
  color: #111827 !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.bpSiteFooter__junipFallback b,
.bpSiteFooter__junipFallback .bpSiteFooter__junipBrand {
  color: #047857 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

/* Kill footer nav link color inheritance on badge text */
.bpSiteFooter__nav a.bpSiteFooter__junip,
.bpSiteFooter__nav a.bpSiteFooter__junip *,
.bpSiteFooter__connect a.bpSiteFooter__junip,
.bpSiteFooter__connect a.bpSiteFooter__junip * {
  color: inherit;
}
.bpSiteFooter__nav a.bpSiteFooter__junip strong,
.bpSiteFooter__connect a.bpSiteFooter__junip strong {
  color: #ffffff !important;
}
.bpSiteFooter__nav a.bpSiteFooter__junip .bpSiteFooter__junipCount,
.bpSiteFooter__connect a.bpSiteFooter__junip .bpSiteFooter__junipCount,
.bpSiteFooter__nav a.bpSiteFooter__junip > .bpSiteFooter__junipFallback > span:last-of-type,
.bpSiteFooter__connect a.bpSiteFooter__junip > .bpSiteFooter__junipFallback > span:last-of-type {
  color: #111827 !important;
}
.bpSiteFooter__nav a.bpSiteFooter__junip b,
.bpSiteFooter__connect a.bpSiteFooter__junip b,
.bpSiteFooter__nav a.bpSiteFooter__junip .bpSiteFooter__junipBrand,
.bpSiteFooter__connect a.bpSiteFooter__junip .bpSiteFooter__junipBrand {
  color: #047857 !important;
}

.bpSiteFooter__utility {
  display: flex;
  justify-content: flex-end;
  padding-top: 18px;
  border-top: 1px solid var(--bp-footer-rule);
}

.bpSiteFooter__utility a {
  color: var(--bp-footer-muted);
  font-size: 0.76rem;
  text-decoration: none;
}

.bpSiteFooter__utility a:hover {
  color: var(--bp-footer-text);
  text-decoration: underline;
}

/* Retain Invision's dynamic controls as the utility bar below the new nav. */
.ipsFooter__align {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  padding: 18px max(20px, calc((100% - 1500px) / 2)) !important;
  border-top: 1px solid var(--bp-footer-rule);
  background: var(--bp-footer-bg-deep);
}

.ipsFooter__align > hr {
  display: none !important;
}

.ipsFooter__align .ipsColorSchemeChanger,
.ipsFooter__align .ipsSocialIcons,
.ipsFooter__align .ipsFooterLinks {
  margin: 0 !important;
}

.ipsFooter__align .ipsSocialIcons{display:none!important;}

.ipsFooter__align .ipsFooterLinks {
  justify-self: end;
}

.ipsFooter__align .ipsCopyright {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  margin: 0 !important;
  color: var(--bp-footer-muted);
}

@media (prefers-reduced-motion: reduce) {
  .bpSiteFooter__newsletterButton,
  .bpSiteFooter__nav a {
    transition: none;
  }
}

@media (max-width: 1200px) {
  html[data-ips-theme="5"] .bpSiteFooter__main {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  html[data-ips-theme="5"] .bpSiteFooter__brand {
    max-width: 680px;
    padding-right: 0;
    border-right: 0;
  }

  html[data-ips-theme="5"] .bpSiteFooter__newsletter {
    max-width: 460px;
  }

  html[data-ips-theme="5"] .bpSiteFooter__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 32px;
    border-top: 1px solid var(--bp-footer-rule);
  }
}

@media (max-width: 900px) {
  html[data-ips-theme="5"] .bpSiteFooter__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 34px;
  }

  .ipsFooter__align {
    grid-template-columns: 1fr auto !important;
  }

  .ipsFooter__align .ipsCopyright {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .bpSiteFooter {
    width: min(100% - 28px, 1500px);
    padding-block: 36px 32px;
  }

  html[data-ips-theme="5"] .bpSiteFooter__main {
    padding-bottom: 30px;
  }

  html[data-ips-theme="5"] .bpSiteFooter__newsletterButton {
    width: fit-content;
  }

  html[data-ips-theme="5"] .bpSiteFooter__nav {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-top: 16px;
  }

  .bpSiteFooter__nav section {
    padding: 18px 0;
    border-bottom: 1px solid var(--bp-footer-rule);
  }

  .bpSiteFooter__nav section:last-child {
    border-bottom: 0;
  }

  .ipsFooter__align {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    padding: 18px 14px !important;
  }

  .ipsFooter__align .ipsSocialIcons,
  .ipsFooter__align .ipsFooterLinks,
  .ipsFooter__align .ipsCopyright {
    grid-column: 1;
    justify-self: start;
  }
}


/* Compact single-line footer bar 2026-07-27 */
.bpSiteFooter {
  padding-bottom: 18px;
}
.bpSiteFooter__utility {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px 14px !important;
  padding: 10px 16px 0 !important;
  border-top: 1px solid var(--bp-footer-rule) !important;
  margin: 0 !important;
}
.bpSiteFooter__utility a,
.bpSiteFooter__utility .bpFooterContact {
  color: var(--bp-footer-muted) !important;
  font-size: 0.78rem !important;
  text-decoration: none !important;
  white-space: nowrap;
  line-height: 1.2;
}
.bpSiteFooter__utility a:hover,
.bpSiteFooter__utility .bpFooterContact:hover {
  color: var(--bp-footer-text) !important;
  text-decoration: underline !important;
}

/* One compact row: theme + copyright + socials; Contact Us lives with legal links above */
.ipsFooter__align {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px 16px !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 8px max(16px, calc((100% - 1500px) / 2)) !important;
  border-top: 1px solid var(--bp-footer-rule) !important;
  background: var(--bp-footer-bg-deep) !important;
}
.ipsFooter__align > hr {
  display: none !important;
}
.ipsFooter__align .ipsColorSchemeChanger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  margin: 0 !important;
  order: 1;
}
.ipsFooter__align .ipsColorSchemeChanger li {
  margin: 0 !important;
}
html[data-ips-theme="5"] .ipsFooter__align .ipsColorSchemeChanger button {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
}
.ipsFooter__align .ipsCopyright {
  order: 2;
  flex: 1 1 auto;
  text-align: center !important;
  margin: 0 !important;
  grid-column: unset !important;
  grid-row: unset !important;
  justify-self: unset !important;
  color: var(--bp-footer-muted) !important;
  font-size: 0.78rem !important;
  white-space: nowrap;
}
/* neutralized re-show of footer socials */
.ipsFooter__align .ipsSocialIcons a,
.ipsFooter__align .ipsSocialIcons__icon {
  width: 32px !important;
  height: 32px !important;
}
/* FooterLinks hide removed — theme switcher needs this list */

@media (max-width: 700px) {
  .ipsFooter__align {
    justify-content: center !important;
  }
  .ipsFooter__align .ipsCopyright {
    flex-basis: 100%;
    order: 3;
  }
  .ipsFooter__align .ipsSocialIcons{display:none!important;}
}

/* Hide Gorgias floating bubble on forum until user opens via Contact Us */
body:not(.bp-gorgias-open):not([data-pagecontroller="contact"]) [class^="gorgias-chat-key-"],
body:not(.bp-gorgias-open):not([data-pagecontroller="contact"]) [class*=" gorgias-chat-key-"],
body:not(.bp-gorgias-open):not([data-pagecontroller="contact"]) div[data-gorgias-chat-launcher],
body:not(.bp-gorgias-open):not([data-pagecontroller="contact"]) button[aria-label*="Open chat" i],
body:not(.bp-gorgias-open):not([data-pagecontroller="contact"]) button[aria-label*="Open the chat" i] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* Weight counter: never leave a tall empty white card */
#ipsLayout_sidebar .cWeightCounter,
#ipsLayout_sidebar .weightlost,
.ipsWidget .cWeightCounter,
.ipsWidget .weightlost {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
}
#ipsLayout_sidebar .ipsWidget[data-blockID*="WeightCounter"],
#ipsLayout_sidebar .ipsWidget[data-blocktitle="Weight Counter"],
#ipsLayout_sidebar .ipsWidget:has(.cWeightCounter),
#ipsLayout_sidebar .ipsWidget:has(.weightlost) {
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}
#ipsLayout_sidebar .ipsWidget:has(.cWeightCounter) .ipsWidget__content,
#ipsLayout_sidebar .ipsWidget:has(.cWeightCounter) .ipsWidget__content--wrap,
#ipsLayout_sidebar .cWidgetContainer:has(.cWeightCounter),
#ipsLayout_sidebar .cWidgetContainer:has(.weightlost),
#ipsLayout_sidebar .ipsWidget__content--wrap:has(.cWeightCounter) {
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}
/* The legacy ancestor :has() rule above matches the complete sidebar receiver.
 * Restore only the captured semantic rail owner and the nearest Weight Counter
 * widget wrappers on Theme 5 forum routes; unrelated routes keep their baseline. */
html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsLayout__secondary-sticky-inner > section.cWidgetContainer--main[data-widgetarea="sidebar"][data-widget-area-id="0"],
html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar section.cWidgetContainer--isWidget:has(.cWeightCounter),
html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar section.cWidgetContainer--isWidget:has(.weightlost),
html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsWidget[data-blockID*="WeightCounter"],
html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsWidget[data-blocktitle="Weight Counter"],
html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsWidget:has(.cWeightCounter),
html[data-ips-theme="5"] body[data-pageapp="forums"] #ipsLayout_sidebar .ipsWidget:has(.weightlost) {
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
}
/* Page-builder size token should not stretch sidebar widgets vertically */
#ipsLayout_sidebar .cWidgetContainer {
  --i-widget--size: auto !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
}
#ipsLayout_sidebar .ipsLayout__secondary-sticky-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  height: auto !important;
  min-height: 0 !important;
}
#ipsLayout_sidebar .ipsLayout__secondary-sticky-inner > * {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
#ipsLayout_sidebar .cWeightCounter__form,
#ipsLayout_sidebar .cWeightCounter__guest,
#ipsLayout_sidebar .sidebarWeightForm,
#ipsLayout_sidebar .sidebarWeightGuest {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}
/* Prefer top square house ad again */
#ipsLayout_sidebar .ipsLayout__secondary-sticky-inner > [data-role="sidebarAd"] {
  order: unset !important;
  width: 100%;
  margin: 0 0 14px !important;
}


/* Homepage feed widgets: no tall empty white areas under short grids */
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column .cWidgetContainer,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column .ipsWidget,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column .ipsWidget__content,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column .ipsWidget__content--wrap,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column i-data {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
}
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column .cWidgetContainer {
  --i-widget--size: auto !important;
}
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--widget-forums-postFeed,
body[data-pageapp="forums"][data-pagecontroller="index"] ul.ipsData {
  height: auto !important;
  min-height: 0 !important;
  align-content: start !important;
  grid-auto-rows: auto !important;
}
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget .ipsData__item,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid .ipsData__item,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--widget-forums-postFeed .ipsData__item {
  min-height: 0 !important;
  height: auto !important;
}
/* Keep house ads from creating empty stretch bands */
body[data-pageapp="forums"][data-pagecontroller="index"] .bp-vhad-wrap {
  margin: 14px 0 !important;
  min-height: 0 !important;
}


/* MOBILE 2026-07-27: kill empty white voids in stacked widgets */
@media (max-width: 979px) {
  /* Sticky sidebar often keeps a tall flex column on phones */
  #ipsLayout_sidebar,
  #ipsLayout_sidebar .ipsLayout__secondary,
  #ipsLayout_sidebar .ipsLayout__secondary-sticky,
  #ipsLayout_sidebar .ipsLayout__secondary-sticky-inner {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
  }
  #ipsLayout_sidebar .ipsLayout__secondary-sticky-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }
  #ipsLayout_sidebar .ipsLayout__secondary-sticky-inner > *,
  #ipsLayout_sidebar .cWidgetContainer,
  #ipsLayout_sidebar .ipsWidget__content--wrap,
  #ipsLayout_sidebar .ipsWidget,
  #ipsLayout_sidebar .ipsWidget__content,
  #ipsLayout_sidebar .ipsWidget__header,
  #ipsLayout_sidebar i-data,
  #ipsLayout_sidebar .ipsData,
  #ipsLayout_sidebar .ipsData__item {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
  }
  #ipsLayout_sidebar .cWidgetContainer,
  #ipsLayout_mainArea .cWidgetContainer,
  .ipsLayout__primary-column .cWidgetContainer {
    --i-widget--size: auto !important;
    --i-widget--gap: 0px !important;
  }
  /* Main column feed widgets too */
  #ipsLayout_mainArea .cWidgetContainer,
  #ipsLayout_mainArea .ipsWidget,
  #ipsLayout_mainArea .ipsWidget__content,
  #ipsLayout_mainArea .ipsWidget__content--wrap,
  #ipsLayout_mainArea i-data,
  #ipsLayout_mainArea .ipsData,
  .ipsLayout__primary-column .cWidgetContainer,
  .ipsLayout__primary-column .ipsWidget,
  .ipsLayout__primary-column .ipsWidget__content,
  .ipsLayout__primary-column .ipsWidget__content--wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
  }
  #ipsLayout_mainArea .ipsData--mini-grid,
  #ipsLayout_mainArea .ipsData--topic-feed-widget,
  #ipsLayout_mainArea .ipsData--widget-forums-postFeed,
  #ipsLayout_sidebar .ipsData--mini-grid,
  #ipsLayout_sidebar .ipsData--topic-feed-widget,
  #ipsLayout_sidebar .ipsData--minimal {
    height: auto !important;
    min-height: 0 !important;
    align-content: start !important;
    grid-auto-rows: auto !important;
  }
  /* Empty house-ad shells should not invent white voids */
  #ipsLayout_mainArea .bp-vhad-wrap,
  #ipsLayout_sidebar .bp-vhad-wrap,
  [data-bp-vhad]:not([data-bp-vhad-filled="1"]) {
    margin-block: 10px !important;
  }
}


/* Homepage mini-grids: multi-column cards (New Topics + New Posts) */
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--topic-feed-widget,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--widget-forums-postFeed,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--widget-forums-postFeed.ipsData--mini-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 12px !important;
  align-content: start !important;
  grid-auto-rows: auto !important;
  height: auto !important;
  min-height: 0 !important;
}
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--topic-feed-widget .ipsData__item,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--widget-forums-postFeed .ipsData__item,
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--widget-forums-postFeed .ipsData__item {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}
/* Do NOT force topic-feed to single column */
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--topic-feed-widget {
  grid-template-columns: unset;
}
@media (min-width: 980px) {
  body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--topic-feed-widget,
  body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--widget-forums-postFeed {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 979px) and (min-width: 600px) {
  body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--topic-feed-widget,
  body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--widget-forums-postFeed {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 599px) {
  body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--topic-feed-widget,
  body[data-pageapp="forums"][data-pagecontroller="index"] .ipsData--mini-grid.ipsData--widget-forums-postFeed {
    grid-template-columns: 1fr !important;
  }
}


/* Homepage horizontal feed widgets: always visible, stack cleanly on mobile */
body[data-pageapp="forums"][data-pagecontroller="index"] #ipsLayout_mainArea .ipsWidget--horizontal,
body[data-pageapp="forums"][data-pagecontroller="index"] #ipsLayout_mainArea .cWidgetContainer[data-widget-orientation="horizontal"],
body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column .ipsWidget--horizontal {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* Desktop: no main-column house-ad wraps left behind */
@media (min-width: 980px) {
  body[data-pageapp="forums"][data-pagecontroller="index"] #ipsLayout_mainArea .bp-vhad-wrap,
  body[data-pageapp="forums"][data-pagecontroller="index"] .ipsLayout__primary-column .bp-vhad-wrap,
  body[data-pageapp="forums"][data-pagecontroller="index"] #ipsLayout_mainArea .ipsData__item--advertisement {
    display: none !important;
  }
}


/* Sidebar widgets + ads: no tall empty cards, no ad horizontal jump */
#ipsLayout_sidebar .cWidgetContainer,
#ipsLayout_sidebar .ipsWidget,
#ipsLayout_sidebar .ipsWidget__content,
#ipsLayout_sidebar .ipsWidget__content--wrap,
#ipsLayout_sidebar i-data,
#ipsLayout_sidebar .ipsData,
#ipsLayout_sidebar .ipsData--minimal,
#ipsLayout_sidebar .ipsData--topic-feed-widget {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
}
#ipsLayout_sidebar .cWidgetContainer {
  --i-widget--size: auto !important;
}
#ipsLayout_sidebar .ipsData__item {
  height: auto !important;
  min-height: 0 !important;
}
#ipsLayout_sidebar [data-role="sidebarAd"],
#ipsLayout_sidebar .bp-vhad-wrap,
#ipsLayout_sidebar [data-bp-vhad] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  justify-self: stretch !important;
}
#ipsLayout_sidebar .bp-vhad__card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
/* Stop sticky column from inventing empty flex growth */
#ipsLayout_sidebar .ipsLayout__secondary-sticky-inner > * {
  flex: 0 0 auto !important;
}


/* Footer theme / color switcher must stay visible */
.ipsFooter__align .ipsColorSchemeChanger,
.ipsFooter__align [data-ips-hook="themeList"],
.ipsFooter__align ul[data-controller*="colorScheme"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  order: 1 !important;
  flex: 0 0 auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 34px !important;
  overflow: visible !important;
}
.ipsFooter__align .ipsColorSchemeChanger li,
.ipsFooter__align [data-ips-hook="themeList"] li {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html[data-ips-theme="5"] .ipsFooter__align .ipsColorSchemeChanger button,
html[data-ips-theme="5"] .ipsFooter__align [data-ips-hook="themeList"] button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.08) !important;
  color: #f4f5f7 !important;
  cursor: pointer !important;
}
.ipsFooter__align .ipsColorSchemeChanger button i,
.ipsFooter__align .ipsColorSchemeChanger button svg,
.ipsFooter__align [data-ips-hook="themeList"] button i {
  color: #f4f5f7 !important;
  fill: #f4f5f7 !important;
  opacity: 1 !important;
  font-size: 16px !important;
}
.ipsFooter__align .ipsColorSchemeChanger button:hover,
.ipsFooter__align [data-ips-hook="themeList"] button:hover {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.35) !important;
}
/* If IPS theme-set chooser renders near footer, keep it too */
.ipsFooter__align .ipsThemeSelector,
.ipsFooter .ipsThemeSelector,
[data-role="themeSelector"],
.ipsApp .cThemeSelector {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* Hide DUPLICATE Invision footer bar social icons (Connect column keeps the real set) */
.ipsFooter__align .ipsSocialIcons,
.ipsFooter__align ul.ipsSocialIcons,
.ipsFooter__footer > .ipsWidth .ipsSocialIcons,
div.ipsFooter__align > ul.ipsSocialIcons {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}


/* FINAL 2026-07-27: kill duplicate footer-bar socials (Connect column keeps icons) */
html body .ipsFooter__align .ipsSocialIcons,
html body .ipsFooter__align ul.ipsSocialIcons,
html body .ipsFooter__footer .ipsFooter__align .ipsSocialIcons,
html body footer .ipsFooter__align .ipsSocialIcons,
html body .ipsApp .ipsFooter__align .ipsSocialIcons {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
}


/* Theme SET switcher lives inside ipsFooterLinks — must stay visible for staff */
html body .ipsFooter__align .ipsFooterLinks {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  order: 4 !important;
  flex: 0 0 auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  position: static !important;
  width: auto !important;
  left: auto !important;
}
/* Hide duplicate legal/contact rows already in utility bar */
html body .ipsFooter__align .ipsFooterLinks > li:not([data-ips-hook="themes"]):not([data-ips-hook="languages"]) {
  display: none !important;
}
/* Keep Theme dropdown */
html body .ipsFooter__align .ipsFooterLinks > li[data-ips-hook="themes"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
}
html[data-ips-theme="5"] body .ipsFooter__align .ipsFooterLinks > li[data-ips-hook="themes"] > button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.08) !important;
  color: #f4f5f7 !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
}
html body .ipsFooter__align .ipsFooterLinks > li[data-ips-hook="themes"] > button:hover {
  background: rgba(255,255,255,.16) !important;
}
/* Still hide bar social duplicates */
html body .ipsFooter__align .ipsSocialIcons {
  display: none !important;
}


/* ===== STATIC JUNIP PRETTY 4.6 2026-07-27 ===== */
.bpSiteFooter__connect a.bpSiteFooter__junip,
.bpSiteFooter__nav a.bpSiteFooter__junip,
a.bpSiteFooter__junip,
a.bpSiteFooter__junip--static {
  display: block !important;
  width: min(100%, 300px) !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.22) !important;
  text-decoration: none !important;
  color: #111827 !important;
  box-sizing: border-box !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease !important;
}
a.bpSiteFooter__junip--static:hover,
a.bpSiteFooter__junip:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(7,148,71,.35) !important;
  box-shadow: 0 16px 32px rgba(0,0,0,.26) !important;
  text-decoration: none !important;
}

/* Hide any leftover live widget bits */
.bpSiteFooter__junip .junip-badge,
.bpSiteFooter__junip iframe.bpSiteFooter__junipFrame,
.bpSiteFooter__junip .junip-store-key {
  display: none !important;
}

.bpSiteFooter__junipFallback--static,
.bpSiteFooter__junip .bpSiteFooter__junipFallback {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  row-gap: 6px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.bpSiteFooter__junipScore,
.bpSiteFooter__junipFallback--static > strong,
.bpSiteFooter__junipFallback strong {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  display: grid !important;
  place-items: center !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #0aa854 0%, #079447 100%) !important;
  color: #ffffff !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.12) !important;
}

.bpSiteFooter__junipMeta {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
  min-width: 0 !important;
}

.bpSiteFooter__junipFallback--static .bpSiteFooter__stars,
.bpSiteFooter__stars {
  position: relative !important;
  display: inline-block !important;
  color: #d1d5db !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.bpSiteFooter__stars::before {
  content: "★★★★★" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: calc(var(--rating, 4.6) / 5 * 100%) !important;
  overflow: hidden !important;
  color: #079447 !important;
  white-space: nowrap !important;
}

.bpSiteFooter__junipCount {
  color: #374151 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.bpSiteFooter__junipBrand {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #079447 !important;
  font-size: 0 !important; /* hide leftover text if any */
}
.bpSiteFooter__junipLogo {
  display: block !important;
  width: 72px !important;
  height: 20px !important;
}
.bpSiteFooter__connect {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

/* Keep the official Junip aggregate available to its loader without letting
 * the provider markup affect layout. The visible card is updated from it. */
.bpSiteFooter__junipProvider {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}
.bpSiteFooter__junip .bpSiteFooter__junipProvider .junip-store-key,
.bpSiteFooter__junip .bpSiteFooter__junipProvider .junip-badge {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Theme 5 forum tree navigation. Desktop uses the native Popover API;
 * the mobile navigation drawer uses a native details/summary disclosure. */
@media (min-width: 980px) {
  html[data-ips-theme="5"] .bpForumNav {
    width: min(1100px, calc(100vw - 40px));
    inline-size: min(1100px, calc(100vw - 40px)) !important;
    min-inline-size: min(1100px, calc(100vw - 40px));
    max-width: calc(100vw - 40px);
    max-height: min(72vh, 720px);
    margin: 8px 0 0;
    padding: 20px;
    overflow: auto;
    border: 1px solid var(--bp-line);
    border-radius: 12px;
    background: var(--bp-surface);
    box-shadow: 0 24px 64px rgba(7, 26, 61, .24);
    color: var(--bp-ink);
    overscroll-behavior: contain;
  }
  html[data-ips-theme="5"] .bpForumNav:popover-open {
    display: block;
  }
  html[data-ips-theme="5"] .bpForumNav > li {
    min-width: 0;
    break-inside: avoid;
  }
  html[data-ips-theme="5"] .bpForumNav__all,
  html[data-ips-theme="5"] .bpForumNav__root {
    grid-column: 1 / -1;
  }
  html[data-ips-theme="5"] .bpForumNav__all a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: 10px;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--bp-navy) 6%, var(--bp-surface));
    color: var(--bp-ink);
  }
  html[data-ips-theme="5"] .bpForumNav__all span {
    color: var(--bp-muted);
    font-size: 12px;
  }
  html[data-ips-theme="5"] .bpForumNav__root {
    margin: 8px 0 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--bp-line);
  }
  html[data-ips-theme="5"] .bpForumNav__root > a {
    color: var(--bp-pink-dark);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  html[data-ips-theme="5"] .bpForumNav__groups {
    columns: 3;
    column-gap: 28px;
  }
  html[data-ips-theme="5"] .bpForumNav__group {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 8px 0;
    overflow-wrap: anywhere;
    break-inside: avoid;
  }
  html[data-ips-theme="5"] .bpForumNav__primary {
    display: block;
    padding: 5px 0;
    color: var(--bp-ink);
    font-size: 14px;
    font-weight: 760;
    line-height: 1.3;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  html[data-ips-theme="5"] .bpForumNav__group ul {
    display: grid;
    gap: 1px;
    margin: 3px 0 0;
    padding: 0 0 0 11px;
    border-left: 1px solid var(--bp-line);
    list-style: none;
  }
  html[data-ips-theme="5"] .bpForumNav__group ul ul {
    margin-top: 2px;
    padding-left: 9px;
  }
  html[data-ips-theme="5"] .bpForumNav__group > ul > li > ul {
    display: none;
  }
  html[data-ips-theme="5"] .bpForumNav__group li > a {
    display: block;
    padding: 4px 0;
    color: var(--bp-muted);
    font-size: 12.5px;
    line-height: 1.3;
  }
  html[data-ips-theme="5"] .bpForumNav a:hover {
    color: var(--bp-pink-dark);
    text-decoration: none;
  }
  html[data-ips-theme="5"] .bpForumNav a:focus-visible,
  html[data-ips-theme="5"] .bpForumNav__trigger:focus-visible {
    border-radius: 4px;
    outline: 3px solid var(--bp-pink);
    outline-offset: 3px;
  }
  html[data-ips-theme="5"][data-ips-scheme="dark"] .bpForumNav {
    --bp-ink: #f7f9fd;
    --bp-muted: #aebbd0;
    --bp-line: #31415d;
    --bp-surface: #111c31;
  }
  html[data-ips-theme="5"][data-ips-scheme="dark"] .bpForumNav__root > a,
  html[data-ips-theme="5"][data-ips-scheme="dark"] .bpForumNav a:hover {
    color: #ff77a8;
  }
}

@media (max-width: 1200px) and (min-width: 980px) {
  html[data-ips-theme="5"] .bpForumNav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 979px) {
  html[data-ips-theme="5"] .bpForumNavMobile {
    width: 100%;
  }
  html[data-ips-theme="5"] .bpForumNavMobile > summary {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    cursor: pointer;
    list-style: none;
  }
  html[data-ips-theme="5"] .bpForumNavMobile > summary::-webkit-details-marker {
    display: none;
  }
  html[data-ips-theme="5"] .bpForumNavMobile > summary > .fa-angle-down {
    margin-left: auto;
    transition: transform .16s ease;
  }
  html[data-ips-theme="5"] .bpForumNavMobile[open] > summary > .fa-angle-down {
    transform: rotate(180deg);
  }
  html[data-ips-theme="5"] .bpForumNavMobile__panel {
    max-height: 62vh;
    padding: 0 14px 18px 42px;
    overflow: auto;
    overscroll-behavior: contain;
  }
  html[data-ips-theme="5"] .bpForumNavMobile .bpForumNav__list,
  html[data-ips-theme="5"] .bpForumNavMobile .bpForumNav__list ul {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  html[data-ips-theme="5"] .bpForumNavMobile .bpForumNav__list ul {
    margin-left: 8px;
    padding-left: 10px;
    border-left: 1px solid currentColor;
  }
  html[data-ips-theme="5"] .bpForumNavMobile .bpForumNav__root {
    margin-top: 10px;
    color: var(--bp-pink-dark);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  html[data-ips-theme="5"][data-ips-scheme="dark"] .bpForumNavMobile .bpForumNav__root {
    color: #ff77a8;
  }
  html[data-ips-theme="5"] .bpForumNavMobile a {
    display: block;
    min-height: 44px;
    padding: 11px 0;
    color: inherit;
    line-height: 1.35;
  }
  html[data-ips-theme="5"] .bpForumNavMobile .bpForumNav__primary,
  html[data-ips-theme="5"] .bpForumNavMobile .bpForumNav__all strong {
    font-weight: 760;
  }
  html[data-ips-theme="5"] .bpForumNavMobile .bpForumNav__all span {
    display: block;
    opacity: .72;
    font-size: 12px;
  }
  html[data-ips-theme="5"] .bpForumNavMobile a:focus-visible,
  html[data-ips-theme="5"] .bpForumNavMobile > summary:focus-visible {
    border-radius: 4px;
    outline: 3px solid var(--bp-pink);
    outline-offset: 2px;
  }
}


/* ===== My Surgery order + stats 2026-07-27e ===== */
.cPatientStats,
body[data-pagecontroller="profile"] .cPatientStats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px 18px !important;
  margin: 0 0 1.25rem !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}
html[data-ips-scheme="dark"] .cPatientStats {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
.cPatientStats > div {
  margin: 0 !important;
  line-height: 1.35 !important;
  color: #111827 !important;
}
html[data-ips-scheme="dark"] .cPatientStats > div {
  color: #e5e7eb !important;
}
.cPatientStats .i-font-weight_bold {
  color: #0f172a !important;
  font-weight: 800 !important;
}
html[data-ips-scheme="dark"] .cPatientStats .i-font-weight_bold {
  color: #f8fafc !important;
}
.cPatientStory {
  margin: 0 0 1.25rem !important;
  max-width: 72ch !important;
  color: #1f2937 !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
}
html[data-ips-scheme="dark"] .cPatientStory {
  color: #e5e7eb !important;
}
.cPatientStory p {
  margin: 0 0 0.95em !important;
  opacity: 1 !important;
  color: inherit !important;
}
.cPatientStory p:last-child { margin-bottom: 0 !important; }
@media (max-width: 767px) {
  .cPatientStats { grid-template-columns: 1fr !important; }
}


/* ===== My Surgery photos row 2026-07-27f ===== */
.cPatientPhotos {
  margin: 0 0 1.25rem !important;
}
.cPatientPhotos__row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: stretch !important;
}
.cPatientPhotos .cPatientPhoto {
  position: relative !important;
  flex: 1 1 220px !important;
  max-width: 320px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #0f172a !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12) !important;
}
.cPatientPhotos .cPatientPhoto img,
.cPatientPhotos .cPatientPhoto .ipsImage {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 280px !important;
  object-fit: cover !important;
}
.cPatientPhotos .cPatientPhoto_badge {
  position: absolute !important;
  left: 10px !important;
  bottom: 10px !important;
  z-index: 2 !important;
}
.cPatientStory {
  margin: 0 0 1.25rem !important;
  max-width: 72ch !important;
  color: #1f2937 !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
}
html[data-ips-scheme="dark"] .cPatientStory {
  color: #e5e7eb !important;
}
.cPatientStory p {
  margin: 0 0 0.95em !important;
  opacity: 1 !important;
  color: inherit !important;
}
.cPatientSurgeonBlock {
  margin-top: 1.25rem !important;
}


/* ===== SIDEBAR ADS STAY VISIBLE 2026-07-27v ===== */
#ipsLayout_sidebar [data-bp-vhad],
#ipsLayout_sidebar .bp-vhad-wrap,
#ipsLayout_sidebar [data-role="sidebarAd"],
.ipsLayout__secondary-column [data-bp-vhad],
.ipsLayout__secondary-column .bp-vhad-wrap,
.ipsLayout__secondary [data-bp-vhad],
.ipsLayout__secondary .bp-vhad-wrap,
[data-bp-vhad-pinned="1"],
[data-bp-vhad-place="sidebar"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 1 !important;
}
/* Do not let the desktop main-column hide rules affect sidebar */
@media (min-width: 980px) {
  #ipsLayout_sidebar [data-bp-vhad],
  .ipsLayout__secondary-column [data-bp-vhad],
  .ipsLayout__secondary [data-bp-vhad],
  [data-bp-vhad-place="sidebar"],
  [data-bp-vhad-pinned="1"] {
    display: block !important;
  }
}


/* ===== DESKTOP ADS SIDEBAR ONLY + NO STACK 2026-07-27w ===== */
@media (min-width: 980px) {
  /* Hide any house ad that is not inside the sidebar/secondary column */
  #ipsLayout_mainArea [data-bp-vhad],
  #ipsLayout_mainArea .bp-vhad-wrap,
  .ipsLayout__primary-column [data-bp-vhad],
  .ipsLayout__primary-column .bp-vhad-wrap,
  .ipsLayout__primary [data-bp-vhad],
  .ipsLayout__primary .bp-vhad-wrap {
    display: none !important;
  }
  /* Sidebar ads: full rail width, no floating centered strip */
  #ipsLayout_sidebar .bp-vhad-wrap,
  .ipsLayout__secondary-column .bp-vhad-wrap,
  .ipsLayout__secondary .bp-vhad-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 14px !important;
    padding: 0 !important;
    justify-content: stretch !important;
  }
  #ipsLayout_sidebar [data-bp-vhad],
  .ipsLayout__secondary-column [data-bp-vhad],
  .ipsLayout__secondary [data-bp-vhad] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  #ipsLayout_sidebar .bp-vhad__card,
  .ipsLayout__secondary-column .bp-vhad__card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* ===== BP THEME 5 JOURNEY RESPONSIVE 20260729T192500Z ===== */
html[data-ips-theme="5"] .bpJourney[hidden] {
  display: none !important;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney {
  background: linear-gradient(135deg, var(--bp-navy), var(--bp-navy-2));
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 10px;
  color: #fff;
  container: bp-journey / inline-size;
  margin-bottom: 22px;
  padding: 24px;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__eyebrow {
  color: #ff77a8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0 0 5px;
  text-transform: uppercase;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney h2 {
  color: #fff;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  margin: 0;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__intro > p:last-child {
  color: #c7d2e5;
  display: none;
  margin: 8px 0 0;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item {
  min-width: 0;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item--glp {
  grid-column: 1 / -1;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card {
  align-items: center;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 7px;
  height: 100%;
  justify-content: center;
  min-height: 48px;
  min-width: 0;
  padding: 10px;
  text-align: center;
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card:hover {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .32);
  color: #fff;
  transform: translateY(-2px);
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card--glp {
  background: rgba(239, 43, 114, .18);
  border-color: rgba(255, 119, 168, .72);
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card span {
  color: #c7d2e5;
  display: none;
  font-size: 13px;
  line-height: 1.35;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__actions {
  display: block;
  margin-top: 16px;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__ask,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__latest {
  align-items: center;
  border-radius: 7px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  text-transform: uppercase;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] a.bpJourney__ask[href$="/startTopic/"] {
  background: var(--bp-pink-dark);
  width: 100%;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__latest {
  border: 1px solid rgba(255, 255, 255, .24);
  display: none;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__activity {
  border-top: 1px solid rgba(255, 255, 255, .18);
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 14px;
  padding-top: 10px;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__activity a {
  align-items: center;
  border-radius: 6px;
  color: #fff;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  padding: 8px 4px;
}
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .cWeightCounter__title,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .cWeightCounter__lbs,
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .cWeightCounter__guest {
  color: var(--bp-ink);
}

@media (max-width: 767px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .ipsWidth--main-content {
    overflow-x: clip;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"],
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] .ipsWidget,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] .ipsData__item,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] .ipsData__main,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] .ipsData__title {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] .ipsData__title,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] .ipsData__title a,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] h4 {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney {
    padding: 16px;
  }
}

@container bp-journey (min-width: 560px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__intro > p:last-child,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card span {
    display: block;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__grid {
    margin-top: 20px;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card {
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 104px;
    padding: 14px;
    text-align: left;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__actions {
    display: flex;
    gap: 10px;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] a.bpJourney__ask[href$="/startTopic/"] {
    width: auto;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__latest {
    display: inline-flex;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__activity {
    display: flex;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__activity a {
    padding: 12px 14px;
  }
}

@container bp-journey (min-width: 720px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item {
    grid-column: span 2;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item--longterm,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item--revision {
    grid-column: span 3;
  }
}

@container bp-journey (min-width: 1040px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item--longterm,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__item--revision {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card {
    transition: none;
  }
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] .bpJourney__card:hover {
    transform: none;
  }
}

/* Index descriptions are context, not the destination. Keep forum titles and
 * activity primary; retain the full description on each forum page. */
html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__main > .ipsData__desc {
  display: -webkit-box;
  max-height: 1.4em;
  margin-top: 0.2rem;
  overflow: hidden;
  color: var(--bp-muted);
  font-size: 0.78rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__main > .ipsData__desc > :first-child {
  margin-top: 0;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsSubList {
  margin-top: 0.42rem;
  row-gap: 0.28rem;
}

html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsSubList__item {
  font-size: 0.76rem;
  line-height: 1.35;
}

@media (max-width: 767px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsData__main > .ipsData__desc,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsSubList {
    display: none;
  }
}

/* ===== BP THEME 5 THREE-SURFACE HIERARCHY PASS 20260728T065543Z ===== */
/* Real DOM anchors: header widget area IDs 1/2, forum-category rows, and
 * ipsData--snippet-topic-list. Theme 5 only; no template or data changes. */

/* Desktop homepage: make New Topics and New Posts read as two deliberate
 * sections, then strengthen the type rhythm inside their existing mini-grid. */
@media (min-width: 980px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="1"] {
    margin-bottom: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="2"] {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagecontroller="index"] section[data-widgetarea="header"] .ipsWidget__content {
    padding: 0;
    background: color-mix(in srgb, var(--bp-canvas) 72%, var(--bp-surface));
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="1"] .ipsData__item,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="2"] .ipsData__item {
    padding: 18px;
    border: 1px solid var(--bp-line);
    border-radius: 8px;
    background: var(--bp-surface);
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="1"] .ipsData__title h4,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="2"] .ipsData__title h4 {
    margin-top: 4px;
    font-size: 17px;
    font-weight: 750;
    line-height: 1.3;
    letter-spacing: -0.01em;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="1"] .ipsData__category {
    margin-bottom: 4px;
    line-height: 1.35;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="1"] .ipsData__meta,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="2"] .ipsData__meta {
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.4;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] section[data-widgetarea="header"][data-widget-area-id="2"] .ipsData__desc {
    margin-top: 6px;
    color: var(--bp-muted);
    font-size: 13px;
    line-height: 1.45;
  }
}

/* Desktop forum lists: keep the full record, but make the title the scan target
 * and constrain excerpts to a readable measure instead of a wall of text. */
@media (min-width: 768px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list > .ipsData__item {
    padding: 18px 16px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__title h4 {
    max-width: 72ch;
    font-size: 17px;
    font-weight: 760;
    line-height: 1.3;
    letter-spacing: -0.01em;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__meta {
    margin-top: 3px;
    color: var(--bp-muted);
    font-size: 13px;
    line-height: 1.4;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__desc {
    display: -webkit-box;
    max-width: 82ch;
    max-height: 3em;
    margin-top: 8px;
    overflow: hidden;
    color: var(--bp-muted);
    font-size: 14px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__extra {
    margin-top: 12px;
    color: var(--bp-muted);
    font-size: 12.5px;
  }
}

/* Give the topic-list page the same restrained light/dark material tokens
 * already used by the index without affecting topic view or other apps. */
html[data-ips-theme="5"][data-ips-scheme="dark"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] {
  --bp-ink: #f7f9fd;
  --bp-muted: #aebbd0;
  --bp-line: #31415d;
  --bp-surface: #111c31;
  --bp-canvas: #091326;
}

@media (max-width: 767px) {
  /* Mobile forum index: explicit visual role labels and an inset Latest Topic
   * region stop the forum name, post count, and activity from reading as one blob. */
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData--forum-category > .ipsData__item {
    padding: 14px 12px 12px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData--forum-category > .ipsData__item > .ipsData__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__main::before {
    content: "Forum";
    display: block;
    margin-bottom: 5px;
    color: var(--bp-pink-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
  }

  html[data-ips-theme="5"][data-ips-scheme="dark"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__main::before {
    color: #ff77a8;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__title h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.25;
    letter-spacing: -0.012em;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__stats {
    display: flex;
    margin-top: 4px;
    color: var(--bp-muted);
    font-size: 13px;
    line-height: 1.3;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__stats li {
    padding: 0;
    border-radius: 0;
    background: transparent;
    text-align: left;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__last {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    column-gap: 10px;
    min-width: 0;
    margin-top: 4px;
    padding: 24px 10px 9px;
    border: 1px solid var(--bp-line);
    border-radius: 8px;
    background: color-mix(in srgb, var(--bp-navy) 3.5%, var(--bp-surface));
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__last::before {
    content: "Latest topic";
    position: absolute;
    top: 8px;
    left: 10px;
    color: var(--bp-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__last .ipsUserPhoto {
    width: 28px;
    height: 28px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__last-primary {
    min-width: 0;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.3;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory .ipsData__last-secondary {
    margin-top: 3px;
    color: var(--bp-muted);
    font-size: 12.5px;
    line-height: 1.35;
  }

  /* Mobile topic list: keep native links, badges, reactions, counts, and latest
   * activity, but organize each row as a scan-first conversation card. */
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] {
    background: var(--bp-canvas);
    color: var(--bp-ink);
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list {
    display: grid;
    gap: 10px;
    padding-block: 10px;
    background: transparent;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list > .ipsData__item--snippet {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    column-gap: 10px;
    padding: 14px 12px;
    border: 1px solid var(--bp-line);
    border-radius: 10px;
    background: var(--bp-surface);
    box-shadow: 0 4px 14px rgba(7, 26, 61, 0.045);
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list > .ipsData__item--snippet > .ipsData__icon {
    grid-column: 1;
    min-width: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list > .ipsData__item--snippet > .ipsData__content {
    grid-column: 2;
    min-width: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__main,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsColumns,
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsColumns__primary {
    min-width: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__title h4 {
    margin: 0;
    font-size: 17px;
    font-weight: 760;
    line-height: 1.28;
    letter-spacing: -0.012em;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__meta {
    margin-top: 4px;
    color: var(--bp-muted);
    font-size: 12.5px;
    line-height: 1.4;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__desc {
    display: -webkit-box;
    margin-top: 10px;
    overflow: hidden;
    color: var(--bp-muted);
    font-size: 14px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__extra {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--bp-line);
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__last {
    order: 1;
    display: flex;
    align-items: center;
    min-width: 0;
    color: var(--bp-ink);
    font-size: 12.5px;
    line-height: 1.35;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__last::before {
    content: "Latest";
    flex: 0 0 auto;
    margin-right: 7px;
    color: var(--bp-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__last-text {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 6px;
    min-width: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__last-secondary {
    color: var(--bp-muted);
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__stats {
    order: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    color: var(--bp-muted);
    font-size: 12.5px;
    font-variant-numeric: tabular-nums;
    line-height: 1.3;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsData__stats > li {
    margin: 0;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list .ipsReactOverview img {
    width: 20px;
    height: 20px;
  }

  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="forums"] .ipsData--snippet-topic-list a:focus-visible {
    border-radius: 3px;
    outline: 3px solid var(--bp-pink);
    outline-offset: 3px;
  }
}

/* BP Theme 5 house-video candidate. REVIEW ONLY. */
html[data-ips-theme="5"] .bp-vhad-wrap,
html[data-ips-theme="5"] [data-bp-vhad-owned="1"][data-bp-vhad] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
html[data-ips-theme="5"] .bp-vhad-wrap {
  margin: 12px 0 14px;
}
html[data-ips-theme="5"] .bp-vhad__card {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  background: #0b1a2b;
  box-shadow: 0 10px 28px rgba(7, 26, 61, .16);
  color: #fff;
  isolation: isolate;
}
html[data-ips-theme="5"] .bp-vhad__poster,
html[data-ips-theme="5"] .bp-vhad__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
html[data-ips-theme="5"] .bp-vhad__poster { z-index: 1; opacity: 1; }
html[data-ips-theme="5"] .bp-vhad__poster[data-active="0"] { opacity: 0; }
html[data-ips-theme="5"] .bp-vhad__video { z-index: 2; opacity: 0; cursor: pointer; }
html[data-ips-theme="5"] .bp-vhad__video[data-playing="1"] { opacity: 1; }
html[data-ips-theme="5"] .bp-vhad__top,
html[data-ips-theme="5"] .bp-vhad__bottom {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 5;
  padding: 10px;
}
html[data-ips-theme="5"] .bp-vhad__top {
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(rgba(0, 0, 0, .58), transparent);
}
html[data-ips-theme="5"] .bp-vhad__bottom {
  bottom: 0;
  padding-top: 32px;
  background: linear-gradient(transparent, rgba(0, 0, 0, .76));
}
html[data-ips-theme="5"] .bp-vhad__bottom strong { display: block; margin-bottom: 8px; }
html[data-ips-theme="5"] .bp-vhad__brand::before {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 7px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--bp-vhad-brand, #ef2b72);
  content: "";
  vertical-align: -2px;
}
html[data-ips-theme="5"] .bp-vhad__mute,
html[data-ips-theme="5"] .bp-vhad__play {
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .62);
  color: #fff;
  cursor: pointer;
}
html[data-ips-theme="5"] .bp-vhad__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
html[data-ips-theme="5"] .bp-vhad__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 10px;
  background: #fff;
  color: #111;
  font-weight: 800;
  text-decoration: none;
}
html[data-ips-theme="5"] .bp-vhad__mute:focus-visible,
html[data-ips-theme="5"] .bp-vhad__play:focus-visible,
html[data-ips-theme="5"] .bp-vhad__cta:focus-visible {
  outline: 3px solid #7ec8ff;
  outline-offset: 2px;
}
html[data-ips-theme="5"] #ipsLayout_sidebar .bp-vhad-wrap,
html[data-ips-theme="5"] #ipsLayout_sidebar [data-bp-vhad-owned="1"][data-bp-vhad] {
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
}
@media (max-width: 979px) {
  html[data-ips-theme="5"] .bp-vhad-wrap--mobile,
  html[data-ips-theme="5"] .ipsData__item--advertisement:has(> [data-bp-vhad-owned="1"]) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 16px 0;
    padding: 12px 0;
    border: 0;
    border-radius: 16px;
    background: var(--i-background_1, #fff);
  }
}
@media (prefers-reduced-motion: reduce) {
  html[data-ips-theme="5"] .bp-vhad__poster,
  html[data-ips-theme="5"] .bp-vhad__video { transition: none; }
}

/* BP THEME 5 IPHONE FORUM INDEX CONTAINMENT 20260801T035000Z
 * Keep native .ipsPull forum categories inside the clipped main-content gutter. */
@media (max-width: 767px) {
  html[data-ips-theme="5"] body[data-pageapp="forums"][data-pagemodule="forums"][data-pagecontroller="index"] .ipsBox--forumCategory.ipsPull {
    margin-inline: 0;
  }
}

/* Related Articles section */
.bpInfoRelatedArticles{margin:2rem 0;padding:1.5rem;border-top:2px solid #e0e0e0;}
.bpInfoRelatedArticles h2{font-size:1.25rem;font-weight:600;margin:0 0 1rem 0;color:#1a1a1a;}
.bpInfoRelatedList{list-style:none;padding:0;margin:0;display:grid;gap:0.75rem;}
.bpInfoRelatedItem a{display:block;padding:0.75rem 1rem;border-radius:0.5rem;background:#f5f5f5;color:#2c5282;text-decoration:none;font-weight:500;transition:background 0.15s ease,color 0.15s ease;}
.bpInfoRelatedItem a:hover{background:#e8e8e8;color:#1a365d;}
@media(min-width:48rem){.bpInfoRelatedList{grid-template-columns:repeat(2,1fr);}}
@media(min-width:61.25rem){.bpInfoRelatedList{grid-template-columns:repeat(3,1fr);}}

/* ==== BP RESPONSIVE FIXES 2026-08-03 · THEME 5 ONLY · BEGIN ==== */
/* Mobile-first corrections from the multi-breakpoint audit.
   Remove everything between the BEGIN and END markers to roll back. */

/* 1. Inline video house ad was eating the entire first screen.
      375px: 345px tall. 768px: 722px tall (a full viewport).
      Keep the impression, cap the footprint, crop instead of letterbox. */
@media screen and (max-width: 767px) {
  .ipsLayout__primary-column .bp-vhad-wrap--inline,
  .ipsLayout__primary-column .bp-vhad--inline {
    max-height: 208px !important;
    overflow: hidden !important;
    border-radius: 10px;
  }
  .ipsLayout__primary-column .bp-vhad--inline .bp-vhad__card {
    max-height: 208px !important;
    overflow: hidden !important;
    position: relative;
  }
  .ipsLayout__primary-column .bp-vhad--inline .bp-vhad__video {
    max-height: 208px !important;
    height: 208px !important;
    object-fit: cover !important;
    object-position: center 35%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ipsLayout__primary-column .bp-vhad-wrap--inline,
  .ipsLayout__primary-column .bp-vhad--inline,
  .ipsLayout__primary-column .bp-vhad--inline .bp-vhad__card {
    max-height: 300px !important;
    overflow: hidden !important;
  }
  .ipsLayout__primary-column .bp-vhad--inline .bp-vhad__video {
    max-height: 300px !important;
    height: 300px !important;
    object-fit: cover !important;
    object-position: center 35%;
  }
}
.bp-vhad__card { overflow: hidden; }

/* 2. Breadcrumb ran off the right edge on mobile and tablet with no
      ellipsis and the current page clipped. Make it scroll, fade the edge. */
@media screen and (max-width: 1023px) {
  .ipsBreadcrumb--mobile,
  .ipsBreadcrumb {
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
  }
  .ipsBreadcrumb--mobile::-webkit-scrollbar,
  .ipsBreadcrumb::-webkit-scrollbar { display: none; height: 0; }
  .ipsBreadcrumb__feed {
    flex-wrap: nowrap !important;
    white-space: nowrap;
    padding-right: 28px;
  }
  .ipsBreadcrumb__feed > li { flex: 0 0 auto; }
}

/* 3. Sticky mobile footer: 8.5px labels, covered the last content row,
      no iOS home-indicator safe area. */
.ipsMobileFooter {
  padding-bottom: env(safe-area-inset-bottom, 0px);
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.08);
}
.ipsMobileFooter__text {
  font-size: 10.5px !important;
  line-height: 1.25;
  letter-spacing: 0.01em;
}
.ipsMobileFooter__item { min-height: 52px; }
@media screen and (max-width: 979px) {
  #ipsLayout__main,
  .ipsLayout__main { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* 4. Gallery image page: 487px navy stage holding a 280px image,
      prev/next chevrons on the photo with no scrim, filmstrip
      bisected by the mobile footer bar. */
.elGalleryHeader {
  min-height: 0 !important;
  height: auto !important;
  padding-block: 12px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* the stage was pinned to 60vh regardless of the photo, leaving ~200px
   of dead navy above and below a 280px image on mobile */
.elGalleryImage,
.cGalleryViewImage,
.elGalleryImage > a,
.cGalleryViewImage > a {
  height: auto !important;
  min-height: 0 !important;
  max-height: min(78vh, 900px) !important;
  place-items: center;
}
.elGalleryHeader img {
  max-height: min(78vh, 900px) !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.elGalleryHeader a[class*="rev"],
.elGalleryHeader a[class*="ext"],
.cGalleryImageNav a,
.elGalleryHeader .ipsButton--overlay {
  background: rgba(0, 0, 0, 0.55) !important;
  color: #fff !important;
  border-radius: 999px;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
}
@media screen and (max-width: 979px) {
  .cGalleryImageThumbs { margin-bottom: 16px; }
}

/* 5. Contrast: white on the light pink measured 3.99:1, AA needs 4.5.
      #C83C6F measures 4.85:1 with white. */
.ipsButton--primary,
.ipsButton.ipsButton--primary,
a.ipsButton--primary,
button.ipsButton--primary {
  background-color: #c83c6f !important;
  border-color: #c83c6f !important;
  color: #fff !important;
}
.ipsButton--primary:hover,
.ipsButton.ipsButton--primary:hover {
  background-color: #b1315f !important;
  border-color: #b1315f !important;
}
.i-color_soft { color: #5a6478 !important; }

/* 6. Tap targets. Audit found controls at 12x21, 67x15, 58x39.
      44x44 is the platform minimum. */
#subscribe.btn.btn-link {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 12px !important;
}
.bpFooterContact {
  display: inline-flex !important;
  align-items: center;
  min-height: 44px;
  padding-inline: 2px;
  font-size: 13.5px !important;
}
@media screen and (max-width: 767px) {
  .ipsButton--small { font-size: 13px !important; min-height: 40px; }
  .ipsBreadcrumb__feed a,
  .ipsPagination a { min-height: 40px; display: inline-flex; align-items: center; }
}

/* 7. RETIRED 2026-08-05. These two viewport media queries forced the journey
      grid's COLUMN COUNT with hard overrides while the container queries below set
      the ITEM SPANS, so the two halves disagreed: at container 720-879px the
      items asked for span 2 and span 3 of a 6-column grid and got 2/3 and 3/3
      of a 3-column one, stacking all five cards one per row at ragged widths.
      The container queries now own this grid outright. Do not reintroduce a
      viewport-based column override here. */

/* 8. Forum listing on mobile: 583px of chrome before the first topic
      on an 812px screen. Tighten header, clamp description. */
@media screen and (max-width: 767px) {
  .ipsPageHeader--topic-list { padding: 14px 16px !important; }
  .ipsPageHeader--topic-list .ipsPageHeader__title {
    font-size: 1.35rem !important;
    line-height: 1.2;
  }
  .ipsPageHeader__desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13.5px !important;
    line-height: 1.45;
    margin-block: 6px !important;
  }
  .ipsPageHeader--topic-list .ipsButton--follow {
    width: auto !important;
    min-width: 140px;
  }
}

/* 9. Figure captions were white text directly on member photos and
      vanished on light images. Add a gradient scrim. */
.ipsFigure__footer {
  background: linear-gradient(to top, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0) 100%) !important;
  padding-top: 28px !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.ipsFigure__footer a,
.ipsFigure__footer .ipsUsername { color: #fff !important; }

/* 10. Sign-in / sign-up prompts styled the prompt like a link and the
       actual link like body copy. */
.ipsFieldRow + p a,
p.i-color_soft a {
  color: #c83c6f !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* 11. Right rail started ~15px below the main column on every desktop
       page with a sidebar. */
@media screen and (min-width: 1024px) {
  .ipsLayout__secondary-column > *:first-child { margin-top: 0 !important; }
  .ipsLayout__secondary-column { padding-top: 0 !important; }
}

/* 12. Search page had five simultaneous full-width magenta selected
       bars, which destroyed the button hierarchy. */


/* 13. Gallery index category carousel hid most categories behind
       arrows, cut the 4th card mid-word, and printed raw unlabeled
       numbers (58038 12638 25524). Replaced with a labelled grid. */
.bpGalleryCats__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.bpGalleryCats__all {
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
}
.bpGalleryCats__body { padding: 14px !important; }
.bpGalleryCats__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 560px)  { .bpGalleryCats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media screen and (min-width: 900px)  { .bpGalleryCats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media screen and (min-width: 1280px) { .bpGalleryCats__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.bpGalleryCats__item { margin: 0; list-style: none; }
.bpGalleryCats__card {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: var(--i-background_2, #f4f6fa);
  border: 1px solid rgba(0, 0, 0, 0.08);
  text-decoration: none !important;
  height: 100%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.bpGalleryCats__card:hover,
.bpGalleryCats__card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(7, 26, 61, 0.16);
}
.bpGalleryCats__media {
  display: block;
  position: relative;
  aspect-ratio: 4 / 3;
  background: #0f2547;
  overflow: hidden;
}
.bpGalleryCats__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bpGalleryCats__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.45);
  font-size: 1.9rem;
}
.bpGalleryCats__meta { display: block; padding: 10px 12px 12px; }
.bpGalleryCats__title {
  display: -webkit-box;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.25;
  color: var(--i-color_hard, #12213b);
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 2.4em;
}
.bpGalleryCats__stats {
  display: block;
  margin-top: 4px;
  font-size: 0.8125rem;
  color: #5a6478;
}


/* 14. Gallery index categories: the carousel hid most categories behind
       arrows and sliced the 4th card mid-word at every width. Turn it
       into a plain responsive grid and surface the labelled stats
       instead of the raw unlabelled numbers (58038 12638 25524). */
.ipsBox--galleryCategories .ipsCarouselNav { display: none !important; }
.ipsBox--galleryCategories .ipsBox__header h2 { margin: 0; }


 


/* the numbers were rendered by the icon pseudo-element with no unit;


/* ==== BP RESPONSIVE FIXES 2026-08-03 · THEME 5 ONLY · END ==== */

/* ===== BP author-pane patient stats card — 2026-08-04 ===== */
.bpPatientAuthorInfo { margin: 0 !important; }

.bpPStat {
  --bpps-accent: #ef2b72;
  --bpps-ink: #12213b;
  --bpps-muted: #61708a;
  --bpps-line: rgba(18, 33, 59, 0.10);
  --bpps-surface: rgba(18, 33, 59, 0.035);
  box-sizing: border-box !important;
  inline-size: 100% !important;
  max-inline-size: 260px !important;
  margin: 10px auto 12px !important;
  padding: 12px 12px 10px !important;
  border: 1px solid var(--bpps-line) !important;
  border-radius: 12px !important;
  background: var(--bpps-surface) !important;
  text-align: start !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: var(--bpps-ink) !important;
}
.bpPStat:empty { display: none !important; }

/* --- hero: the number that matters --- */
.bpPStat__hero {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 0 4px !important;
  margin: 0 0 8px !important;
}
.bpPStat__heroNum {
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  font-variant-numeric: tabular-nums !important;
  color: var(--bpps-accent) !important;
}
.bpPStat__heroUnit {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--bpps-accent) !important;
}
.bpPStat__heroLabel {
  flex: 1 0 100% !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--bpps-muted) !important;
}

/* --- progress meter --- */
.bpPStat__meter {
  display: block !important;
  block-size: 6px !important;
  margin: 0 0 5px !important;
  border-radius: 999px !important;
  background: rgba(18, 33, 59, 0.12) !important;
  overflow: hidden !important;
}
.bpPStat__meterFill {
  display: block !important;
  block-size: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #7b2ff7 0%, var(--bpps-accent) 100%) !important;
}
.bpPStat__meterMeta {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 6px !important;
  margin: 0 0 10px !important;
  font-size: 10px !important;
  color: var(--bpps-muted) !important;
}
.bpPStat__pct { font-weight: 800 !important; color: var(--bpps-ink) !important; font-variant-numeric: tabular-nums !important; }
.bpPStat__togo { text-align: end !important; }
.bpPStat__togo--met { font-weight: 700 !important; color: #1c7c4a !important; }

/* --- surgery pills --- */
.bpPStat__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  list-style: none !important;
}
.bpPStat__tags li {
  margin: 0 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: rgba(239, 43, 114, 0.10) !important;
  color: #b01450 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

/* --- facts grid --- */
.bpPStat__facts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 10px !important;
  margin: 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--bpps-line) !important;
}
.bpPStat__facts:first-child { border-top: 0 !important; padding-top: 0 !important; }
.bpPStat__fact { margin: 0 !important; min-inline-size: 0 !important; }
.bpPStat__fact--wide { grid-column: 1 / -1 !important; }
.bpPStat__facts dt {
  margin: 0 0 1px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--bpps-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.bpPStat__facts dd {
  margin: 0 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--bpps-ink) !important;
  font-variant-numeric: tabular-nums !important;
}
.bpPStat__facts dd i {
  font-style: normal !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--bpps-muted) !important;
}
.bpPStat__fact--wide dd { font-weight: 600 !important; font-size: 12px !important; }

/* --- dark --- */
html[data-ips-scheme="dark"] .bpPStat {
  --bpps-ink: #f2f5fb;
  --bpps-muted: #9fadc4;
  --bpps-line: rgba(255, 255, 255, 0.10);
  --bpps-surface: rgba(255, 255, 255, 0.04);
}
html[data-ips-scheme="dark"] .bpPStat__meter { background: rgba(255, 255, 255, 0.12) !important; }
html[data-ips-scheme="dark"] .bpPStat__heroNum,
html[data-ips-scheme="dark"] .bpPStat__heroUnit { color: #ff6a9c !important; }
html[data-ips-scheme="dark"] .bpPStat__tags li { background: rgba(255, 106, 156, 0.14) !important; color: #ffa6c4 !important; }
html[data-ips-scheme="dark"] .bpPStat__togo--met { color: #5fd18f !important; }

/* --- narrow / stacked author pane --- */
@media (max-width: 979px) {
  .bpPStat { max-inline-size: none !important; margin: 8px 0 10px !important; }
  .bpPStat__heroNum { font-size: 22px !important; }
  .bpPStat__facts { grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)) !important; }
  .bpPStat__fact--wide { grid-column: auto !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .bpPStat__meterFill { transition: inline-size .4s ease !important; }
}

/* ==== BP ROOT SCROLL AND CANVAS 2026-08-04 · BEGIN ====
 * Symptom: on iOS Safari the page kept scrolling well past its own bottom and
 * left a large empty band below the mobile footer bar.
 *
 * Measured before changing anything. Across 12 page types at 390 / 768 / 1280
 * / 1600 px, in both Chromium and WebKit, document height equals the bottom of
 * .ipsMobileFooter exactly, and the document does not grow after scrolling to
 * the end. Nothing renders below the footer, so the band was not content.
 * Two causes, both fixed here:
 *
 * 1. overscroll-behavior was auto on both html and body, so iOS elastic
 *    scrolling carried on past the end of the document with nothing to stop
 *    it. This is the one that produced the long scroll.
 * 2. html carried no background at all, so the canvas above and below the
 *    document painted body's colour rather than the site chrome. In the light
 *    scheme that is #f4f6fa under a white footer bar, which reads as an
 *    endless empty page rather than the edge of the document.
 *
 * Deliberately NOT changed here: the framework sets
 * html{overflow-x:hidden;overflow-y:scroll}, which makes the root a scroll
 * container on both axes and is a known aggravator of position:sticky and of
 * momentum scrolling on iOS. overflow-x:clip cannot fix that while overflow-y
 * is scroll, because clip computes back to hidden when the other axis is
 * scroll (verified in Chromium: the computed value stayed hidden). The real
 * change is overflow-y:auto plus scrollbar-gutter:stable, which has a much
 * larger desktop regression surface and is left as separate work.
 *
 * Trade-off accepted: overscroll-behavior-y:none also disables pull-to-refresh
 * in Chrome on Android. For a forum that is the right side of the trade.
 *
 * Rollback: delete everything between the BEGIN and END markers.
 * ===================================================================== */
:root {
  overscroll-behavior-y: none;
  background-color: var(--bp-canvas, #f4f6fa);
}

body {
  overscroll-behavior-y: none;
}

html[data-ips-theme="5"][data-ips-scheme="dark"] {
  background-color: var(--bp-canvas, #091326);
}
/* ==== BP ROOT SCROLL AND CANVAS 2026-08-04 · END ==== */

/* BP-WELCOME-TOPIC -- v2 */
/* =============================================
   Welcoming "Ask a Question" / New Topic Page
   Theme 5 Custom CSS — v2 (full design)
   =============================================
   Apply this to Theme 5 set_custom_css via:
   - Deploy script: php scripts/deploy-welcome-topic.php
   - Or AdminCP: Themes → Edit Theme → Custom CSS
   ============================================= */

/* ── CSS Custom Properties ── */
body[data-pageapp=forums] {
    --bp-navy: #1a2744;
    --bp-navy-light: #1e3056;
    --bp-pink: #e44d8c;
    --bp-pink-hover: #d43d7c;
    --bp-pink-bg: rgba(228,77,140,0.12);
    --bp-bg: #f0f2f5;
    --bp-card-bg: #ffffff;
    --bp-text: #1f2937;
    --bp-muted: #6b7280;
    --bp-subtle: #9ca3af;
    --bp-border: #d1d5db;
    --bp-border-light: #e5e7eb;
    --bp-radius-lg: 14px;
    --bp-radius-md: 12px;
    --bp-radius-sm: 10px;
    --bp-radius-xs: 8px;
    --bp-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

/* ==================================================================
   STEP 1: FORUM PICKER PAGE  (/startTopic/)
   body[data-pageapp=forums][data-pagecontroller=createTopic]
   ================================================================== */

/* ── Full-page background ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] {
    background: #f0f2f5 !important;
}

/* ── Welcome Banner (via ::before pseudo-element content injection) ── */

/* Hide the original page title text — we replace it with our banner */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsType_pageTitle {
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Create the welcome banner */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsType_pageTitle::before {
    content: "We'd Love to Hear From You!" !important;
    display: block !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    text-align: center !important;
    line-height: 1.3 !important;
    margin-bottom: 0 !important;
}

/* Wrap the page header to create the full banner */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsPageHeader,
body[data-pageapp=forums][data-pagecontroller=createTopic] h1.ipsType_pageTitle {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: linear-gradient(135deg, #1a2744 0%, #1e3056 100%) !important;
    border-radius: var(--bp-radius-lg) !important;
    padding: 2rem 1.5rem 1.75rem !important;
    margin-bottom: 1.25rem !important;
    text-align: center !important;
    overflow: hidden !important;
}

/* Decorative pink circle accents */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsPageHeader::before {
    content: '' !important;
    position: absolute !important;
    top: -30px !important;
    right: -30px !important;
    width: 100px !important;
    height: 100px !important;
    background: rgba(228,77,140,0.12) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    display: block !important;
}

body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsPageHeader {
    margin-bottom: 1.25rem !important;
    border-radius: var(--bp-radius-lg) !important;
    padding: 2rem 1.5rem 1.75rem !important;
}

/* Subtitle text */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsType_pageTitle::after {
    content: "You're part of a supportive community. Every member started with a first post — ask anything, you're welcome here." !important;
    display: block !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: rgba(255,255,255,0.85) !important;
    text-align: center !important;
    max-width: 480px !important;
    margin: 0.5rem auto 0 !important;
    font-weight: 400 !important;
}

/* ── Form Card Container ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] form[data-role="createTopicForm"],
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsBox {
    background: #fff !important;
    border-radius: var(--bp-radius-lg) !important;
    padding: 1.5rem !important;
    box-shadow: var(--bp-shadow) !important;
    border: none !important;
}

/* ── Question Label ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsFormRow_label {
    display: block !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 0.35rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsFormRow_label .ipsFieldRow_requiredStar {
    display: none !important;
}

/* ── Form Row Layout ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsFormRow {
    max-width: 100% !important;
}

/* ── Styled Dropdown (replaces the plain default) ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] select,
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsSelect {
    font-size: 1rem !important;
    padding: 0.85rem 1rem !important;
    border-radius: var(--bp-radius-sm) !important;
    border: 2px solid var(--bp-border-light, #e5e7eb) !important;
    width: 100% !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    cursor: pointer !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 1rem center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    color: var(--bp-text) !important;
    min-height: 48px !important;
}

body[data-pageapp=forums][data-pagecontroller=createTopic] select:hover,
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsSelect:hover {
    border-color: var(--bp-pink) !important;
}

body[data-pageapp=forums][data-pagecontroller=createTopic] select:focus,
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsSelect:focus {
    border-color: var(--bp-pink) !important;
    box-shadow: 0 0 0 3px rgba(228,77,140,0.15) !important;
    outline: none !important;
}

/* ── Remove old dropdown label hint ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsFieldRow_desc {
    font-size: 0.8rem !important;
    color: var(--bp-subtle) !important;
    margin-bottom: 0.5rem !important;
}

/* ── Pink Accent "Continue" Button ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsButton_primary {
    background: var(--bp-pink) !important;
    border-radius: var(--bp-radius-sm) !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    padding: 0.9rem 2.5rem !important;
    transition: background 0.2s !important;
    border: none !important;
    color: #fff !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
}

body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsButton_primary:hover {
    background: var(--bp-pink-hover) !important;
}

/* ── Hide Sidebar Clutter ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsSideMenu,
body[data-pageapp=forums][data-pagecontroller=createTopic] #elSecondary,
body[data-pageapp=forums][data-pagecontroller=createTopic] aside[data-role="sidebar"],
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsWidget:not([data-blocktitle*="Welcome"]):not([data-blocktitle*="Topic"]) {
    display: none !important;
}

/* ── Center the content — single column, max-width ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] #elContent {
    max-width: 680px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsLayout_container > .ipsColumns,
body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsColumns > .ipsColumn_fluid {
    width: 100% !important;
}

/* ── Hide guest signup banner (logged-in users) ── */
body[data-pageapp=forums][data-pagecontroller=createTopic] .cCreateTopic_guest {
    display: none !important;
}

/* ==================================================================
   STEP 2: NEW TOPIC EDITOR PAGE  (/startTopic/forum-NNN/)
   body[data-pageapp=forums][data-pagecontroller=topics]
   ================================================================== */

/* ── Guidance Banner ── */

/* Hide original title */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsPageHeader[data-role="newTopicHeader"] .ipsType_pageTitle,
body[data-pageapp=forums][data-pagecontroller=topics] h1.ipsType_pageTitle {
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Guidance banner container */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsPageHeader[data-role="newTopicHeader"],
body[data-pageapp=forums][data-pagecontroller=topics] [data-controller="forums.front.topics.createTopic"] > .ipsBox:first-child {
    background: #f9fafb !important;
    border-radius: var(--bp-radius-lg) !important;
    border: 1px solid var(--bp-border-light) !important;
    text-align: center !important;
    padding: 0 !important;
    margin-bottom: 0.75rem !important;
}

/* "You're Almost There!" headline */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsPageHeader::before {
    content: "You're Almost There!" !important;
    display: block !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--bp-text) !important;
    text-align: center !important;
    padding: 1.5rem 1.5rem 0 !important;
    line-height: 1.3 !important;
}

/* Guidance subtext */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsPageHeader::after {
    content: "A clear title and some helpful details are all you need. You can always add more later." !important;
    display: block !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: var(--bp-muted) !important;
    text-align: center !important;
    padding: 0.35rem 1.5rem 1.25rem !important;
    max-width: 440px !important;
    margin: 0 auto !important;
}

/* ── Topic Bar ("Posting in [Forum Name]") ── */
body[data-pageapp=forums][data-pagecontroller=topics] .bpTopicBar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #fff !important;
    border-radius: var(--bp-radius-lg) !important;
    padding: 0.75rem 1.25rem !important;
    margin-bottom: 0.75rem !important;
    box-shadow: var(--bp-shadow) !important;
    font-size: 0.85rem !important;
    color: var(--bp-muted) !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] .bpTopicBar .bpPinkDot {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    background: var(--bp-pink) !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] .bpTopicBar strong {
    color: var(--bp-text) !important;
    font-weight: 600 !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] .bpTopicBar .bpChangeLink {
    margin-left: auto !important;
    color: var(--bp-pink) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-size: 0.8rem !important;
    cursor: pointer !important;
}

/* ── Editor Container Styling ── */
body[data-pageapp=forums][data-pagecontroller=topics] [data-controller="forums.front.topics.createTopic"] > .ipsBox {
    background: #fff !important;
    border-radius: var(--bp-radius-lg) !important;
    padding: 1.25rem !important;
    box-shadow: var(--bp-shadow) !important;
    border: none !important;
}

/* ── Title Field ── */
body[data-pageapp=forums][data-pagecontroller=topics] input[name="topic_title"],
body[data-pageapp=forums][data-pagecontroller=topics] #elInput_title,
body[data-pageapp=forums][data-pagecontroller=topics] .ipsField_title input {
    width: 100% !important;
    padding: 0.8rem 0.9rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border: 2px solid var(--bp-border-light) !important;
    border-radius: var(--bp-radius-sm) !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    margin-bottom: 0 !important;
    font-family: inherit !important;
    color: var(--bp-text) !important;
    background: #fff !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] input[name="topic_title"]:focus,
body[data-pageapp=forums][data-pagecontroller=topics] #elInput_title:focus {
    border-color: var(--bp-pink) !important;
    box-shadow: 0 0 0 3px rgba(228,77,140,0.12) !important;
}

/* ── Simplify Formatting Toolbar ── */
/* Hide complex toolbar buttons; show only Bold, Italic, Underline, Link, Emoji, Lists, + More */

/* Strategy: show only the simplified toolbar */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    padding: 0.5rem 0 !important;
    border-bottom: 1px solid var(--bp-border-light) !important;
    margin-bottom: 0 !important;
}

/* Strategy: hide ALL toolbar buttons first, then show specific allowed ones */
/* This avoids the specificity explosion from :not() chains */

/* Hide every toolbar button by default */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role] {
    display: none !important;
}

/* Show only the 7 simplified buttons and separators */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="bold"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="italic"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="underline"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="link"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="emoji"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="unorderedList"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="orderedList"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="separator"] {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Separators display as inline-block, not flex items */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar [data-role="separator"] {
    display: inline-block !important;
    width: 1px !important;
    height: 20px !important;
    background: var(--bp-border-light) !important;
    margin: 6px 4px !important;
}

/* Style the toolbar buttons */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar a,
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar button {
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    background: transparent !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 0.9rem !important;
    color: #4b5563 !important;
    transition: background 0.15s !important;
    line-height: 1 !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar a:hover,
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar button:hover,
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar a.ipsEditor_active,
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar button.ipsEditor_active {
    background: #f3f4f6 !important;
    color: var(--bp-text) !important;
}



/* Hide the "more" dropdown trigger from the toolbar (it reveals advanced options) — 
   we keep it accessible but styled as "+ More options" */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar .ipsEditor_moreBar {
    margin-left: auto !important;
    font-size: 0.75rem !important;
    color: var(--bp-subtle) !important;
    align-self: center !important;
}

/* ── Editor Body ── */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_editor {
    min-height: 140px !important;
    padding: 0.75rem 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #374151 !important;
}

/* ── Tips Box ── */
body[data-pageapp=forums][data-pagecontroller=topics] .bpTipsBox {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: var(--bp-radius-sm) !important;
    padding: 0.75rem 1rem !important;
    margin-top: 0.75rem !important;
    color: #166534 !important;
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] .bpTipsBox .bpTipsIcon {
    font-size: 1.1rem !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] .bpTipsBox .bpTipsLabel {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    display: block !important;
    margin-bottom: 2px !important;
    color: #166534 !important;
}

/* ── Tags Row ── */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsField_tags {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 0.75rem 0 0.5rem !important;
    border-top: 1px solid var(--bp-border-light) !important;
    margin-top: 0.25rem !important;
}

/* ── Submit Button ── */
body[data-pageapp=forums][data-pagecontroller=topics] input[type="submit"],
body[data-pageapp=forums][data-pagecontroller=topics] .ipsButton_primary[type="submit"],
body[data-pageapp=forums][data-pagecontroller=topics] button[type="submit"] {
    display: block !important;
    width: 100% !important;
    padding: 0.9rem !important;
    background: var(--bp-pink) !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--bp-radius-sm) !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    text-align: center !important;
    margin-top: 1.25rem !important;
}

body[data-pageapp=forums][data-pagecontroller=topics] input[type="submit"]:hover,
body[data-pageapp=forums][data-pagecontroller=topics] .ipsButton_primary[type="submit"]:hover,
body[data-pageapp=forums][data-pagecontroller=topics] button[type="submit"]:hover {
    background: var(--bp-pink-hover) !important;
}

/* ── Hide form element labels that aren't needed ── */
body[data-pageapp=forums][data-pagecontroller=topics] .ipsField_title .ipsFieldRow_label,
body[data-pageapp=forums][data-pagecontroller=topics] .ipsField_tags .ipsFieldRow_label {
    display: none !important;
}

/* ==================================================================
   MOBILE ADJUSTMENTS
   ================================================================== */
@media screen and (max-width: 767px) {
    /* Step 1 — Forum Picker */
    body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsPageHeader,
    body[data-pageapp=forums][data-pagecontroller=createTopic] h1.ipsType_pageTitle {
        padding: 1.5rem 1.25rem !important;
        border-radius: 12px !important;
    }

    body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsType_pageTitle::before {
        font-size: 1.3rem !important;
    }

    body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsType_pageTitle::after {
        font-size: 0.85rem !important;
    }

    body[data-pageapp=forums][data-pagecontroller=createTopic] #elContent {
        max-width: 100% !important;
        padding: 0 !important;
    }

    body[data-pageapp=forums][data-pagecontroller=createTopic] form[data-role="createTopicForm"],
    body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsBox {
        padding: 1rem !important;
    }

    /* Step 2 — Topic Editor */
    body[data-pageapp=forums][data-pagecontroller=topics] .ipsPageHeader::before {
        font-size: 1.1rem !important;
        padding: 1.25rem 1rem 0 !important;
    }

    body[data-pageapp=forums][data-pagecontroller=topics] .ipsPageHeader::after {
        font-size: 0.85rem !important;
        padding: 0.35rem 1rem 1rem !important;
    }

    body[data-pageapp=forums][data-pagecontroller=topics] [data-controller="forums.front.topics.createTopic"] > .ipsBox {
        padding: 1rem !important;
    }

    body[data-pageapp=forums][data-pagecontroller=topics] .bpTopicBar {
        flex-wrap: wrap !important;
    }

    body[data-pageapp=forums][data-pagecontroller=topics] input[name="topic_title"],
    body[data-pageapp=forums][data-pagecontroller=topics] #elInput_title {
        font-size: 0.95rem !important;
    }

    body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar {
        gap: 2px !important;
    }

    body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar a,
    body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar button {
        width: 32px !important;
        height: 32px !important;
    }
}

@media screen and (max-width: 589px) {
    body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsPageHeader,
    body[data-pageapp=forums][data-pagecontroller=createTopic] h1.ipsType_pageTitle {
        padding: 1.25rem 1rem !important;
    }

    body[data-pageapp=forums][data-pagecontroller=createTopic] .ipsType_pageTitle::before {
        font-size: 1.2rem !important;
    }

    body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar a,
    body[data-pageapp=forums][data-pagecontroller=topics] .ipsEditor_toolbar button {
        width: 28px !important;
        height: 28px !important;
        font-size: 0.8rem !important;
    }
}

/* ==================================================================
   IPB v5 live markup compatibility for /startTopic/ forum selector
   The live v5 route renders data-pageController="forums" and uses
   .ipsBox--forumSelector/.ipsSelectTree rather than the legacy classes.
   ================================================================== */
.ipsBox--forumSelector {
    max-width: 680px !important;
    margin: 1.5rem auto !important;
    background: transparent !important;
}

.ipsBox--forumSelector::before {
    content: "We'd Love to Hear From You!\A Every member starts with a first post. Pick the community that feels right and ask away." !important;
    display: block !important;
    white-space: pre-line !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin-bottom: 1rem !important;
    padding: 1.75rem 1.5rem !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #1a2744 0%, #1e3056 100%) !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    box-shadow: 0 4px 14px rgba(26,39,68,.16) !important;
}

.ipsBox--forumSelector > .ipsBox--formTemplate {
    box-sizing: border-box !important;
    padding: 1.5rem !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
}

.ipsBox--forumSelector .ipsFieldRow__label {
    display: block !important;
    margin-bottom: .4rem !important;
    color: #374151 !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
}

.ipsBox--forumSelector .ipsFieldRow__required {
    display: none !important;
}

.ipsBox--forumSelector .ipsSelectTree {
    position: relative !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 10px !important;
    background: #fff !important;
    transition: border-color .2s, box-shadow .2s !important;
}

.ipsBox--forumSelector .ipsSelectTree:hover,
.ipsBox--forumSelector .ipsSelectTree:focus-within {
    border-color: #e44d8c !important;
    box-shadow: 0 0 0 3px rgba(228,77,140,.15) !important;
}

.ipsBox--forumSelector .ipsSelectTree_value {
    min-height: 44px !important;
    box-sizing: border-box !important;
    padding: .75rem 3rem .75rem 1rem !important;
    color: #1f2937 !important;
    font-size: 1rem !important;
}

.ipsBox--forumSelector .ipsSelectTree_placeholder::after {
    content: "Choose the best place for your question" !important;
    color: #6b7280 !important;
}

.ipsBox--forumSelector .ipsSelectTree_expand {
    color: #e44d8c !important;
}

.ipsBox--forumSelector form button[type="submit"] {
    display: block !important;
    width: 100% !important;
    margin-top: 1.25rem !important;
    padding: .9rem 1.25rem !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #e44d8c !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
}

.ipsBox--forumSelector form button[type="submit"]:hover,
.ipsBox--forumSelector form button[type="submit"]:focus-visible {
    background: #d43d7c !important;
}

@media screen and (max-width: 589px) {
    .ipsBox--forumSelector {
        margin: .75rem auto !important;
    }
    .ipsBox--forumSelector > .ipsBox--formTemplate {
        padding: 1rem !important;
    }
    .ipsBox--forumSelector::before {
        padding: 1.25rem 1rem !important;
        font-size: 1.05rem !important;
    }
}
/* BP-WELCOME-TOPIC-END */