.fhmc-donation-form-placement { box-sizing: border-box; inline-size: 100%; max-inline-size: var(--fhmc-donation-form-max-width, 42rem); }
.fhmc-donation-form-placement.aligncenter { float: none; margin-inline: auto; }
.fhmc-donation-form-placement.alignright { float: none; margin-inline: auto 0; }
.fhmc-donation-form-placement.alignleft { float: none; margin-inline: 0 auto; }
.fhmc-donation-form-placement.alignwide { margin-inline: auto; }
.fhmc-donation-form-placement.alignfull { max-inline-size: none; }
.fhmc-donation-form-placement > .fhmc-donations { max-inline-size: none; }
.fhmc-donation-form-unavailable { box-sizing: border-box; padding: .75rem; border-inline-start: 4px solid #d63638; background: #fff; }
.fhmc-donations {
	--fhmc-accent: #1769aa;
	--fhmc-accent-dark: #0d4e83;
	--fhmc-border: #c8d2dc;
	--fhmc-muted: #52606d;
	--fhmc-surface: #fff;
	--fhmc-soft: #f3f7fa;
	--fhmc-card-padding: clamp(1.25rem, 4vw, 2.25rem);
	--fhmc-header-gap: 1.75rem;
	--fhmc-section-gap: 1.5rem;
	--fhmc-control-gap: .65rem;
	--fhmc-payment-min-height: 23rem;
	box-sizing: border-box;
	background: var(--fhmc-surface);
	border: 1px solid var(--fhmc-border);
	border-radius: 1rem;
	box-shadow: 0 0.75rem 2rem rgba(21, 42, 62, 0.1);
	color: #17212b;
	font: inherit;
	inline-size: 100%;
	max-width: 42rem;
	overflow-wrap: anywhere;
	padding: var(--fhmc-card-padding);
}
.fhmc-donations--compact { --fhmc-card-padding: clamp(.75rem, 2.5vw, 1.15rem); --fhmc-header-gap: .8rem; --fhmc-section-gap: .85rem; --fhmc-control-gap: .4rem; --fhmc-payment-min-height: 0; }
.fhmc-donations--spacious { --fhmc-card-padding: clamp(1.75rem, 5vw, 3rem); --fhmc-header-gap: 2.25rem; --fhmc-section-gap: 2rem; --fhmc-control-gap: .9rem; --fhmc-payment-min-height: 25rem; }
.fhmc-donations--no-border { border-color: transparent; }
.fhmc-donations--no-background { background: transparent; box-shadow: none; }
.fhmc-donations *, .fhmc-donations *::before, .fhmc-donations *::after { box-sizing: inherit; }
.fhmc-donations__header { margin-block-end: var(--fhmc-header-gap); text-align: center; }
.fhmc-donations__eyebrow { color: var(--fhmc-accent-dark); font-size: .78rem; font-weight: 750; letter-spacing: .1em; margin: 0 0 .35rem; text-transform: uppercase; }
.fhmc-donations__heading { font-size: clamp(1.6rem, 4vw, 2.15rem); line-height: 1.15; margin: 0; }
.fhmc-donations__description { color: var(--fhmc-muted); line-height: 1.55; margin: .65rem auto 0; max-width: 34rem; }
.fhmc-donations__layout { display: grid; gap: var(--fhmc-section-gap); }
.fhmc-donations__column { min-inline-size: 0; }
.fhmc-donations__fieldset { border: 0; margin: 0 0 var(--fhmc-section-gap); min-inline-size: 0; padding: 0; }
.fhmc-donations__fieldset legend, .fhmc-donations__field > label { display: block; font-weight: 700; margin-block-end: .6rem; padding: 0; }
.fhmc-donations__frequencies { background: var(--fhmc-soft); border: 1px solid var(--fhmc-border); border-radius: .75rem; display: grid; gap: .25rem; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); padding: .25rem; }
.fhmc-donations__frequencies label, .fhmc-donations__preset { cursor: pointer; min-inline-size: 0; position: relative; }
.fhmc-donations__frequencies input, .fhmc-donations__preset input { inset: 0; opacity: 0; position: absolute; }
.fhmc-donations__frequencies span { align-items: center; border: 2px solid transparent; border-radius: .55rem; display: flex; font-weight: 650; justify-content: center; min-block-size: 3rem; padding: .55rem .65rem; text-align: center; }
.fhmc-donations__frequencies input:checked + span { background: var(--fhmc-surface); border-color: var(--fhmc-accent); box-shadow: 0 .15rem .45rem rgba(21,42,62,.09); color: var(--fhmc-accent-dark); }
.fhmc-donations__presets { display: grid; gap: var(--fhmc-control-gap); grid-template-columns: repeat(auto-fit, minmax(6.5rem, 1fr)); }
.fhmc-donations--amount-natural .fhmc-donations__presets { display: flex; flex-wrap: wrap; }
.fhmc-donations--amount-natural .fhmc-donations__preset { flex: 0 0 auto; }
.fhmc-donations--amount-natural .fhmc-donations__preset span { min-inline-size: 6.5rem; }
.fhmc-donations__preset span { align-items: center; border: 2px solid var(--fhmc-border); border-radius: .65rem; display: flex; font-size: 1.05rem; font-weight: 750; justify-content: center; min-block-size: 3.25rem; padding: .55rem .75rem; text-align: center; }
.fhmc-donations__preset input:checked + span { background: #eaf4fc; border-color: var(--fhmc-accent); color: var(--fhmc-accent-dark); }
.fhmc-donations__frequencies input:focus-visible + span, .fhmc-donations__preset input:focus-visible + span, .fhmc-donations input:focus-visible, .fhmc-donations button:focus-visible, .fhmc-donations paypal-button:focus-visible, .fhmc-donations venmo-button:focus-visible { outline: 3px solid #111; outline-offset: 3px; }
.fhmc-donations__field { margin-block: var(--fhmc-section-gap); }
.fhmc-donations__column > :first-child { margin-block-start: 0; }
.fhmc-donations__field input { background: var(--fhmc-surface); border: 1px solid #7d8b99; border-radius: .55rem; color: inherit; font: inherit; inline-size: 100%; min-block-size: 3rem; padding: .65rem .75rem; }
.fhmc-donations__amount-input { align-items: center; display: flex; position: relative; }
.fhmc-donations__amount-input span { font-weight: 700; inset-inline-start: .8rem; position: absolute; }
.fhmc-donations__amount-input input { padding-inline-start: 1.75rem; }
.fhmc-donations__hint { color: var(--fhmc-muted); font-size: .875rem; margin: .4rem 0 0; }
.fhmc-donations__payment-area { background: var(--fhmc-soft); border: 1px solid var(--fhmc-border); border-radius: .8rem; min-block-size: var(--fhmc-payment-min-height); padding: calc(var(--fhmc-card-padding) * .52); }
.fhmc-donations__method-panel > :first-child { margin-block-start: 0; }
.fhmc-donations__method-panel h3 { font-size: 1.05rem; margin-block-end: .85rem; }
.fhmc-donations__method-panel h4 { font-size: .95rem; margin: 1rem 0 .65rem; }
.fhmc-donations__wallets { display: grid; gap: var(--fhmc-control-gap); }
.fhmc-donations--payments-inline .fhmc-donations__wallets { grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.fhmc-donations paypal-button, .fhmc-donations venmo-button { display: block; inline-size: 100%; min-block-size: 3rem; }
.fhmc-donations__card { border-block-start: 1px solid var(--fhmc-border); margin-block-start: 1rem; padding-block-start: .25rem; }
.fhmc-donations__hosted-field { background: #fff; border: 1px solid #7d8b99; border-radius: .55rem; block-size: 3rem; inline-size: 100%; margin-block-end: .65rem; overflow: hidden; }
.fhmc-donations__card-row { display: grid; gap: .65rem; grid-template-columns: 1fr 1fr; }
.fhmc-donations__submit { background: var(--fhmc-accent); border: 2px solid var(--fhmc-accent); border-radius: .55rem; color: #fff; cursor: pointer; font: inherit; font-weight: 750; inline-size: 100%; min-block-size: 3rem; padding: .65rem 1rem; }
.fhmc-donations__submit:hover { background: var(--fhmc-accent-dark); border-color: var(--fhmc-accent-dark); }
.fhmc-donations__submit:disabled { cursor: not-allowed; opacity: .6; }
.fhmc-donations__status { margin: .85rem 0 0; min-block-size: 1.5rem; }
.fhmc-donations__status:not(:empty) { border-inline-start: .25rem solid var(--fhmc-accent); font-weight: 650; padding: .55rem .75rem; }
.fhmc-donations__success { background: #eef8f1; border: 2px solid #237a3b; border-radius: .85rem; padding: clamp(1.1rem, 4vw, 1.75rem); text-align: center; }
.fhmc-donations__success:focus { outline: 3px solid #111; outline-offset: 4px; }
.fhmc-donations__success-icon { align-items: center; background: #237a3b; border-radius: 50%; color: #fff; display: inline-flex; font-size: 1.35rem; font-weight: 800; block-size: 2.5rem; inline-size: 2.5rem; justify-content: center; margin-block-end: .65rem; }
.fhmc-donations__success-heading { font-size: clamp(1.35rem, 4vw, 1.8rem); margin: 0 0 .65rem; }
.fhmc-donations__success-summary { font-size: 1.05rem; font-weight: 700; margin: 0; }
.fhmc-donations__success-receipt { margin: .6rem 0 0; }
.fhmc-donations__success-reference { color: var(--fhmc-muted); font-size: .8rem; margin: .75rem 0 0; overflow-wrap: anywhere; }
.fhmc-donations__notice { color: var(--fhmc-muted); font-size: .8rem; line-height: 1.45; margin: .8rem 0 0; text-align: center; }
.fhmc-donations [hidden] { display: none !important; }
@media (min-width: 48rem) {
	.fhmc-donations--layout-two-column .fhmc-donations__layout { align-items: start; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.fhmc-donations--layout-two-column .fhmc-donations__column--details > .fhmc-donations__field { margin-block-start: 0; }
}
@media (max-width: 30rem) {
	.fhmc-donations { border-radius: .65rem; padding: 1rem; }
	.fhmc-donations--compact { padding: .7rem; }
	.fhmc-donations__frequencies, .fhmc-donations__presets { grid-template-columns: 1fr; }
	.fhmc-donations--amount-natural .fhmc-donations__presets { display: flex; }
	.fhmc-donations__card-row { grid-template-columns: 1fr; gap: 0; }
	.fhmc-donations__payment-area { min-block-size: var(--fhmc-payment-min-height); }
}
@media (prefers-reduced-motion: reduce) { .fhmc-donations * { scroll-behavior: auto; transition: none !important; } }
