/* Legacy Weebly HTML injected via theme fallbacks (mentor, impact-report, …) */

/* Prevent mid-CJK H1 breaks (navigator 職業領｜航員 / 孩｜子 at 375px). */
.has-legacy-fallback #main-content.wrap article > h1 {
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: normal;
  text-wrap: wrap;
  hyphens: none;
}

.has-legacy-fallback {
  overflow-x: clip;
}

.has-legacy-fallback #main-content.wrap {
  max-width: 100%;
  overflow-x: clip;
}

.gnacf-legacy-content {
  max-width: 100%;
  overflow-x: clip;
  box-sizing: border-box;
}

.gnacf-legacy-content *,
.gnacf-legacy-content *::before,
.gnacf-legacy-content *::after {
  box-sizing: border-box;
}

.gnacf-legacy-content img,
.gnacf-legacy-content table,
.gnacf-legacy-content iframe,
.gnacf-legacy-content video {
  max-width: 100%;
}

/* Social / custom embeds ship fixed min-widths — contain on ~320px content columns. */
.gnacf-legacy-content .wcustomhtml,
.gnacf-legacy-content .wcustomhtml iframe,
.gnacf-legacy-content iframe,
.gnacf-legacy-content .iframeWrapper,
.gnacf-legacy-content .iframeContainer,
.gnacf-legacy-content blockquote.tiktok-embed,
.gnacf-legacy-content .fb-post,
.gnacf-legacy-content .fb-video,
.gnacf-legacy-content .fb_iframe_widget,
.gnacf-legacy-content blockquote.instagram-media,
.gnacf-legacy-content .instagram-media,
.gnacf-legacy-content blockquote.twitter-tweet,
.gnacf-legacy-content .twitter-tweet {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.gnacf-legacy-content blockquote.tiktok-embed {
  margin-inline: auto;
}

.gnacf-legacy-content img {
  width: auto;
  height: auto;
  object-fit: contain;
}

.gnacf-legacy-content table {
  width: 100%;
}

.gnacf-legacy-content .wsite-multicol-table-wrap {
  margin-inline: 0 !important;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.gnacf-legacy-content .wsite-section-wrap,
.gnacf-legacy-content .wsite-section,
.gnacf-legacy-content .wsite-section-content,
.gnacf-legacy-content .container,
.gnacf-legacy-content .wsite-section-elements {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0;
}

/* Force left alignment for body copy; short section headings opt in via .gnacf-legacy-heading. */
.gnacf-legacy-content .wsite-section-elements,
.gnacf-legacy-content .wsite-multicol-col {
  text-align: left !important;
}

.gnacf-legacy-content .paragraph {
  text-align: left !important;
}

.gnacf-legacy-content .paragraph.gnacf-legacy-heading {
  text-align: center !important;
}

/* Full-width section rules — Weebly 50–80% stubs caused narrow columns + right gutter. */
.gnacf-legacy-content hr.styled-hr:not([style*="width:0"]):not([style*="width: 0"]) {
  width: 100% !important;
  margin-inline: 0;
}

/* Exclude img: Weebly logos use max-width:100% and would falsely match [style*="%"]. */
.gnacf-legacy-content [style*="width:"][style*="%"]:not(img):not(.imgPusher):not([style*="width:0"]):not([style*="width: 0"]):not([style*="width:0px"]):not([style*="width: 0px"]):not([style*="width: 0%"]):not([style*="width:0%"]) {
  width: 100% !important;
  margin-inline: 0;
}

.gnacf-legacy-content .paragraph,
.gnacf-legacy-content font {
  width: 100% !important;
}

.gnacf-legacy-content .paragraph,
.gnacf-legacy-content li,
.gnacf-legacy-content blockquote,
.gnacf-legacy-content font,
.gnacf-legacy-content span {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: auto;
}

.gnacf-legacy-content .fb-link-card strong,
.gnacf-legacy-content--navigator .gnacf-navigator-form-card__title {
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card__title {
  margin: 0 0 1rem;
  color: var(--green-dark);
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  text-align: center;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card iframe {
  display: block;
  min-height: 720px;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card__frame-wrap {
  width: 100%;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card__frame-wrap[hidden],
.gnacf-legacy-content--navigator .gnacf-navigator-form-card__iframe[hidden] {
  display: none;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card--probing .gnacf-navigator-form-card__frame-wrap,
.gnacf-legacy-content--navigator .gnacf-navigator-form-card--fallback .gnacf-navigator-form-card__frame-wrap {
  display: none;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card--ready .gnacf-navigator-form-card__frame-wrap {
  display: block;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card--ready .gnacf-navigator-form-card__fallback {
  display: none;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card__fallback {
  margin-top: 1.25rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--paper);
  text-align: center;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card__fallback-text {
  margin: 0 0 1rem;
  color: var(--muted);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card__fallback-btn {
  display: inline-block;
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius-sm);
  background: var(--green);
  color: #fff;
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.gnacf-legacy-content--navigator .gnacf-navigator-form-card__fallback-btn:hover,
.gnacf-legacy-content--navigator .gnacf-navigator-form-card__fallback-btn:focus-visible {
  background: var(--green-dark);
  color: #fff;
}

/* Collapse broken Weebly decorative spacers (zero-width styled-hr blocks). */
.gnacf-legacy-content hr.styled-hr[style*="width:0"],
.gnacf-legacy-content hr.styled-hr[style*="width: 0"] {
  display: none;
}

.gnacf-legacy-content div[style*="overflow: hidden"][style*="width: 0px"],
.gnacf-legacy-content div[style*="overflow: hidden"][style*="width:0px"] {
  display: none;
  height: 0 !important;
  margin: 0;
  padding: 0;
}

/* Always stack Weebly multicol — 33% cols caused narrow column + right gutter at all viewports. */
.gnacf-legacy-content .wsite-multicol-table,
.gnacf-legacy-content .wsite-multicol-tbody,
.gnacf-legacy-content .wsite-multicol-tr,
.gnacf-legacy-content .wsite-multicol-col,
.gnacf-legacy-content td.wsite-multicol-col {
  display: block !important;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}

.gnacf-legacy-content .wsite-multicol-col,
.gnacf-legacy-content td.wsite-multicol-col {
  padding-inline: 0 !important;
}

@media (max-width: 768px) {
  .has-legacy-fallback #main-content.wrap article > h1 {
    font-size: clamp(1.25rem, 4.2vw, 1.65rem);
  }
}
