/* BYNA Giving — follows the theme's Kadence palette. */
.bg-form, .bg-manage, .bg-thanks { --bg-forest: var(--global-palette1, #31533d); --bg-yellow: var(--global-palette2, #f3fa4f); --bg-ink: var(--global-palette3, #212e2d); --bg-mute: var(--global-palette5, #545855); --bg-sage: var(--global-palette6, #daddc4); --bg-cream: var(--global-palette8, #edf0e8); --bg-white: var(--global-palette9, #fff); }
.bg-form { max-width: 560px; margin: 0 auto; padding: 1.75rem; background: var(--bg-white); border: 1px solid var(--bg-sage); border-radius: 0; }
.bg-form fieldset { border: 0; padding: 0; margin: 0 0 1.25rem; min-width: 0; }
.bg-form legend { font-weight: 600; margin-bottom: .5rem; padding: 0; }
.bg-notice { margin: 0 0 1rem; padding: .7rem 1rem; background: var(--bg-cream); border-radius: 0; font-size: .95em; }
.bg-notice-test { background: #fff3c4; }
.bg-freq { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--bg-forest) !important; border-radius: 0; overflow: hidden; }
.bg-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.bg-toggle span { display: block; padding: .7rem; text-align: center; font-weight: 600; color: var(--bg-forest); cursor: pointer; }
.bg-toggle input:checked + span { background: var(--bg-forest); color: #fff; }
.bg-toggle input:focus-visible + span { outline: 2px solid var(--bg-yellow); outline-offset: -3px; }
.bg-presets { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-bottom: .6rem; }
.bg-preset input { position: absolute; opacity: 0; pointer-events: none; }
.bg-preset span { display: block; padding: .65rem; text-align: center; border: 1px solid var(--bg-sage); border-radius: 0; font-weight: 600; cursor: pointer; color: var(--bg-ink); }
.bg-preset input:checked + span { border-color: var(--bg-forest); background: var(--bg-cream); box-shadow: inset 0 0 0 1px var(--bg-forest); }
.bg-preset input:focus-visible + span { outline: 2px solid var(--bg-forest); outline-offset: 1px; }
.bg-custom { display: flex; align-items: center; border: 1px solid var(--bg-sage); border-radius: 0; overflow: hidden; }
.bg-currency { padding: 0 .8rem; color: var(--bg-mute); font-weight: 600; }
.bg-custom input { flex: 1; border: 0 !important; padding: .7rem .5rem !important; font-size: 1.15em; font-weight: 600; min-width: 0; }
.bg-custom input:focus { outline: none; }
.bg-custom:focus-within { border-color: var(--bg-forest); box-shadow: inset 0 0 0 1px var(--bg-forest); }
.bg-field { display: block; margin: 0 0 1rem; }
.bg-field > span { display: block; font-size: .9em; font-weight: 600; margin-bottom: .3rem; }
.bg-field input, .bg-field select, .bg-field textarea { width: 100%; padding: .65rem .8rem; border: 1px solid var(--bg-sage); border-radius: 0; font: inherit; background: var(--bg-white); color: var(--bg-ink); }
.bg-field input:focus, .bg-field select:focus, .bg-field textarea:focus { outline: 2px solid var(--bg-forest); outline-offset: 1px; }
.bg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.bg-check { display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 .8rem; font-size: .95em; line-height: 1.4; }
.bg-check input { margin-top: .25em; flex: 0 0 auto; }
.bg-tribute { padding: 1rem 1rem .25rem; margin: 0 0 1rem; background: var(--bg-cream); border-radius: 0; }
.bg-tribute[hidden] { display: none; }
.bg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.bg-error { margin: 0 0 .8rem; padding: .7rem 1rem; background: #fcf0f1; border-left: 4px solid #b32d2e; border-radius: 0; }
.bg-error[hidden] { display: none; }
.bg-submit { width: 100%; padding: .95rem; border: 0; border-radius: 0; background: var(--bg-yellow); color: var(--bg-ink); font: inherit; font-size: 1.1em; font-weight: 700; cursor: pointer; }
.bg-submit:hover { filter: brightness(.95); }
.bg-submit:disabled { opacity: .6; cursor: default; }
.bg-submit-secondary { background: var(--bg-forest); color: #fff; font-size: 1em; }
.bg-fine { margin: .8rem 0 0; font-size: .85em; color: var(--bg-mute); text-align: center; }
.bg-fine[hidden] { display: none; }
.bg-manage { max-width: 480px; }
.bg-thanks { max-width: 640px; margin: 0 auto; padding: 1.5rem 1.75rem; background: var(--bg-cream); border-radius: 0; }
.bg-thanks h2 { margin-top: 0; }
@media (max-width: 560px) { .bg-row { grid-template-columns: 1fr; } .bg-form { padding: 1.25rem; } }
