/* v267 — the parent acknowledgement is the member's one required task, so while it is open it
   reads as such: an accent stripe, a clear "access active" line, a required badge. Scoped to the
   gate; the rest of the page keeps its normal look. */
body.family-ack-pending .family-disclaimer { padding-top: clamp(24px, 4vw, 44px); }
.family-disclaimer .family-disclaimer__panel {
  border-color: rgba(201, 111, 80, .45);
  border-top: 5px solid var(--terracotta, #d97757);
}
.fm267-gate-head { margin: 0 0 1.1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(47, 81, 72, .14); }
.fm267-gate-active {
  display: flex; align-items: center; gap: .45rem; margin: 0;
  font-size: .95rem; font-weight: 600; color: #2f5148;
}
.fm267-gate-active svg { flex: none; }
.family-disclaimer__panel .fm267-gate-title { margin: .35rem 0 0; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; }
/* the heading receives focus programmatically (tabindex=-1) so screen readers start at the task;
   it is not a control, so it shows no focus ring */
.fm267-gate-title:focus, .fm267-gate-title:focus-visible { outline: none; }
.family-disclaimer__panel .fm267-required {
  display: inline-block; padding: .3rem .7rem; border: 1px solid rgba(201, 111, 80, .6);
  border-radius: 14px; background: rgba(217, 119, 87, .08); color: #9a4a2f; line-height: 1.5;
}
.family-disclaimer__panel .fm267-gate-sub { margin: .7rem 0 1rem; font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.3; }
.family-disclaimer__panel > .btn--primary:not(:disabled) { box-shadow: 0 6px 18px rgba(217, 119, 87, .28); }
