/* Scoped to participation; existing pages keep their current palette and layout. */
:is(#bo-home-footer, #gg10) .gp {
  --gp-ink: var(--vp-ink, #173f35);
  --gp-paper: #fffdf8;
  --gp-rule: #b5c2b6;
  --gp-error: #9a3025;
  color: var(--gp-ink);
  margin-block: 24px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
:is(#bo-home-footer, #gg10) .gp h1 { font-size: 1.8em; line-height: 1.3; margin: 0 0 12px; text-wrap: balance; }
:is(#bo-home-footer, #gg10) .gp h2 { font-size: 1.2em; line-height: 1.4; margin: 28px 0 8px; }
:is(#bo-home-footer, #gg10) .gp h2:first-child { margin-top: 0; }
:is(#bo-home-footer, #gg10) .gp p { margin: 8px 0 16px; max-width: 68ch; }
:is(#bo-home-footer, #gg10) .gp .gp-hint { font-size: .9em; margin: 6px 0 16px; color: var(--gp-ink); }
:is(#bo-home-footer, #gg10) .gp-entry { border-top: 1px solid var(--gp-rule); padding-top: 24px; }
:is(#bo-home-footer, #gg10) .gp .gp-notice { background: var(--vp-soft, #e1ebd8); padding: 16px; margin-block: 20px; border-radius: 12px; }
:is(#bo-home-footer, #gg10) .gp .gp-notice p:last-child { margin-bottom: 0; }
:is(#bo-home-footer, #gg10) .gp .gp-field { margin-block: 24px; }
:is(#bo-home-footer, #gg10) .gp label { display: block; font-weight: 650; margin-bottom: 8px; }
:is(#bo-home-footer, #gg10) .gp :is(input, textarea) {
  box-sizing: border-box; display: block; width: 100%; min-width: 0; min-height: 48px;
  border: 1px solid #758d7e; border-radius: 8px; padding: 12px;
  color: var(--gp-ink); background: var(--gp-paper); font: inherit; font-size: max(16px, 1em);
  line-height: 1.6; caret-color: var(--gp-ink);
}
:is(#bo-home-footer, #gg10) .gp textarea { resize: vertical; min-height: 160px; }
:is(#bo-home-footer, #gg10) .gp .gp-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; max-width: 100%; padding: 10px 16px; border: 1px solid var(--gp-ink);
  border-radius: 8px; background: transparent; color: var(--gp-ink); font: inherit;
  font-weight: 600; line-height: 1.5; text-align: center; white-space: normal;
  cursor: pointer; text-decoration: none;
}
:is(#bo-home-footer, #gg10) .gp .gp-primary { color: var(--gp-paper); background: var(--gp-ink); }
:is(#bo-home-footer, #gg10) .gp :is(button, input, textarea):focus-visible { outline: 3px solid var(--gp-ink); outline-offset: 3px; }
:is(#bo-home-footer, #gg10) .gp .gp-button:hover { text-decoration: underline; text-underline-offset: .2em; }
:is(#bo-home-footer, #gg10) .gp .gp-button:active { opacity: .8; }
:is(#bo-home-footer, #gg10) .gp .gp-save-state { min-height: 1.65em; font-weight: 600; }
:is(#bo-home-footer, #gg10) .gp [data-error="true"] { color: var(--gp-error); }
:is(#bo-home-footer, #gg10) .gp .gp-membership { font-size: .9em; margin-top: 16px; }
:is(#bo-home-footer, #gg10) .gp .gp-drafts { list-style: none; padding: 0; margin: 0; }
:is(#bo-home-footer, #gg10) .gp .gp-drafts li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; border-top: 1px solid var(--gp-rule); padding-block: 18px; }
:is(#bo-home-footer, #gg10) .gp .gp-drafts li > div { min-width: 0; flex: 1 1 180px; }
:is(#bo-home-footer, #gg10) .gp .gp-drafts :is(strong, span, small) { display: block; }
:is(#bo-home-footer, #gg10) .gp .gp-drafts small { font-size: .9em; margin-top: 4px; }
:is(#bo-home-footer, #gg10) .gp .gp-actions { display: flex; flex-wrap: wrap; gap: 12px; }
:is(#bo-home-footer, #gg10) .gp ::selection { color: var(--gp-ink); background: #f6cb91; }
#gg10 .gi-phone .gi-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
#gg10 .gi-phone .gi-nav button { min-width: 0; min-height: 44px; }

/* Submitted recommendations and voluntary consent use the existing guide palette. */
:is(#bo-home-footer, #gg10) .gp .gp-remote { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--gp-rule); }
:is(#bo-home-footer, #gg10) .gp .gp-consents { min-width: 0; margin: 20px 0; padding: 0; border: 0; }
:is(#bo-home-footer, #gg10) .gp .gp-consents legend { margin-bottom: 12px; font-weight: 650; }
:is(#bo-home-footer, #gg10) .gp .gp-consent { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; margin: 12px 0; font-weight: 400; cursor: pointer; }
:is(#bo-home-footer, #gg10) .gp .gp-consent input { flex: 0 0 22px; width: 22px; height: 22px; min-height: 22px; margin: 3px 0; padding: 0; accent-color: var(--gp-ink); }
:is(#bo-home-footer, #gg10) .gp .gp-consent span { min-width: 0; }
:is(#bo-home-footer, #gg10) .gp .gp-button:disabled { opacity: .65; cursor: default; text-decoration: none; }
:is(#bo-home-footer, #gg10) .gp .gp-remote-status { min-height: 1.65em; }
:is(#bo-home-footer, #gg10) .gp-remote-records .gp-drafts li { display: block; }
:is(#bo-home-footer, #gg10) .gp-remote-records .gp-drafts p { white-space: pre-wrap; }
:is(#bo-home-footer, #gg10) .gp .gp-editor { margin-top: 28px; border-top: 2px solid var(--gp-rule); padding-top: 24px; }
:is(#bo-home-footer, #gg10) .gp .gp-editor h3 { font-size: 1.1em; margin: 0 0 12px; }
:is(#bo-home-footer, #gg10) .gp .gp-withdraw-confirm { margin-top: 16px; padding: 16px; border: 1px solid var(--gp-rule); }
