.wf-fct {
  --fct-ink: #18333d;
  --fct-muted: #52656d;
  --fct-accent: #006d86;
  --fct-line: #dce5e8;
  max-width: 880px;
  margin: 28px auto 48px;
  color: var(--fct-ink);
  font-size: 16px;
  line-height: 1.65;
  text-align: left;
}
.wf-fct *, .wf-fct *::before, .wf-fct *::after { box-sizing: border-box; }
.wf-fct [hidden] { display: none !important; }
/* Opt-in for dedicated trainer pages; embedded trainers retain their page title. */
.wf-fct-standalone-page > .entry-header { display: none; }
.wf-fct-standalone-page .wf-fct { margin-left: 0; margin-right: 0; }
.wf-fct .wf-fct-header { padding: clamp(22px, 4vw, 34px); background: #eff8f3; border-radius: 12px; margin-bottom: 24px; }
.wf-fct .wf-fct-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.wf-fct .wf-fct-kicker { display: flex; align-items: center; gap: 9px; color: #007b54; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; margin: 0; }
.wf-fct .wf-fct-kicker svg { width: 21px; height: 21px; flex: 0 0 21px; }
.wf-fct .wf-fct-title { font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.15; letter-spacing: -.025em; margin: 0; font-weight: 700; color: var(--fct-ink); }
.wf-fct .wf-fct-title span { color: #00875d; }
.wf-fct .wf-fct-subtitle { font-size: 1rem; line-height: 1.55; margin: 14px 0 0; }
.wf-fct .wf-fct-provenance { color: var(--fct-muted); font-size: .8rem; margin: 20px 0 0; }
.wf-fct .wf-fct-intro { max-width: 700px; color: var(--fct-muted); margin: 0 0 24px; }
.wf-fct .wf-fct-languages { display: flex; flex-wrap: wrap; gap: 8px; }
.wf-fct .wf-fct-languages a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid var(--fct-line); border-radius: 24px; padding: 6px 15px; background: #fff; color: #52656d; text-decoration: none; font-size: .85rem; }
.wf-fct .wf-fct-languages a[aria-current] { background: var(--fct-ink); border-color: var(--fct-ink); color: #fff; }
.wf-fct .wf-fct-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 18px 0; border-top: 1px solid var(--fct-line); border-bottom: 1px solid var(--fct-line); }
.wf-fct .wf-fct-toolbar label { font-size: .9rem; font-weight: 600; }
.wf-fct select { flex: 1; min-width: 0; max-width: 100%; min-height: 44px; padding: 8px 32px 8px 12px; background-color: #fff; border: 1px solid #9baeb6; border-radius: 6px; color: var(--fct-ink); font: inherit; }
.wf-fct button { border: 1px solid var(--fct-accent); border-radius: 7px; background: var(--fct-accent); color: #fff; padding: 10px 19px; min-height: 44px; font: inherit; font-size: .95rem; font-weight: 600; line-height: 1.4; text-transform: none; letter-spacing: normal; cursor: pointer; box-shadow: none; white-space: normal; }
.wf-fct button:hover { background: #005569; border-color: #005569; }
/* The site's global button rule forces white text with !important. */
.wf-fct button.wf-fct-secondary { background: #fff; border-color: #9baeb6; color: #264b57 !important; }
.wf-fct button.wf-fct-secondary:hover { background: #edf5f6; }
.wf-fct a { color: #006480; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.wf-fct :focus-visible { outline: 3px solid #267d43; outline-offset: 4px; }
.wf-fct .wf-fct-progress { color: var(--fct-muted); font-size: .88rem; margin: 20px 0 10px; min-height: 1.5em; }
.wf-fct .wf-fct-card { background: #fff; border: 1px solid var(--fct-line); border-top: 4px solid #00986d; border-radius: 12px; padding: clamp(20px, 4vw, 36px); box-shadow: 0 10px 26px rgba(0,0,0,.04); }
.wf-fct h3.wf-fct-term { font-size: clamp(1.55rem, 4.5vw, 2.15rem); line-height: 1.25; margin: 0 0 26px; color: var(--fct-ink); overflow-wrap: anywhere; }
.wf-fct .wf-fct-section { border-top: 1px solid var(--fct-line); padding-top: 20px; margin-top: 22px; }
.wf-fct .wf-fct-section h4 { font-size: .82rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; color: var(--fct-muted); margin: 0 0 10px; }
.wf-fct .wf-fct-section p { margin: 0 0 12px; }
.wf-fct .wf-fct-section p:last-child { margin-bottom: 0; }
.wf-fct .wf-fct-section ul { padding-left: 23px; margin: 0; }
.wf-fct .wf-fct-section li { margin: 6px 0; }
.wf-fct .wf-fct-details { border-top: 1px solid var(--fct-line); padding-top: 16px; margin-top: 22px; }
.wf-fct .wf-fct-details summary { color: #006480; cursor: pointer; padding: 8px 0; font-weight: 600; min-height: 44px; }
.wf-fct .wf-fct-details .wf-fct-section:first-of-type { border-top: 0; margin-top: 6px; }
.wf-fct .wf-fct-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 22px; }
.wf-fct .wf-fct-actions a { font-size: .9rem; }
@media (max-width: 540px) {
  .wf-fct { margin-top: 18px; }
  .wf-fct .wf-fct-toolbar label { flex-basis: 100%; }
  .wf-fct .wf-fct-toolbar select { flex-basis: 100%; }
  .wf-fct .wf-fct-actions { align-items: stretch; flex-direction: column; }
  .wf-fct .wf-fct-actions button { width: 100%; }
}
