.mss-plan,
.mss-portal,
.mss-confirmation {
	--mss-title-color: #0e1525;
	--mss-title-size: 24px;
	--mss-description-color: #5b6478;
	--mss-description-size: 16px;
	--mss-button-bg: #4f46e5;
	--mss-button-text: #ffffff;
	--mss-button-hover-bg: #4338ca;
	--mss-button-hover-text: #ffffff;
	--mss-link-color: #4f46e5;
	--mss-link-hover-color: #4338ca;
	--mss-link-size: 1rem;
	--mss-border-color: #e7e9f1;
	--mss-card-bg: #ffffff;
	--mss-form-field-border-color: #e7e9f1;
	--mss-form-field-bg: #ffffff;
	--mss-form-field-radius: 8px;
	--mss-completion-message-color: #4f46e5;
	--mss-completion-message-size: 1rem;
	--mss-fundraising-count-size: 1rem;
	--mss-fundraising-percentage-size: 1rem;
	--mss-border-radius: 8px;
	--mss-padding-vertical: 12px;
	--mss-padding-horizontal: 16px;
}

.mss-plan {
	background: var(--mss-card-bg) !important;
	border: 1px solid var(--mss-border-color) !important;
	border-radius: var(--mss-border-radius) !important;
	box-sizing: border-box !important;
	display: grid !important;
	gap: 1rem !important;
	margin: 1rem 0 !important;
	max-width: 420px !important;
	padding: 1rem !important;
}
.mss-portal {
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	outline: 0 !important;
	padding: 0 !important;
}

.mss-plan--full-width {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.mss-plan--no-card-border {
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.mss-plan--content-button-only {
	display: inline-grid !important;
	gap: 0 !important;
}

.mss-plan--content-button-only .mss-plan__form {
	gap: 0.75rem !important;
}

.mss-plan__title {
	color: var(--mss-title-color) !important;
	font-size: var(--mss-title-size) !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.mss-plan__media {
	margin: 0 !important;
	text-align: center !important;
}

.mss-plan__image {
	display: block !important;
	height: auto !important;
	margin: 0 auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
}

.mss-plan__image--small {
	max-height: 120px !important;
}

.mss-plan__image--medium {
	max-height: 180px !important;
}

.mss-plan__image--large {
	max-height: 240px !important;
}

.mss-plan__description {
	color: var(--mss-description-color) !important;
	font-size: var(--mss-description-size) !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.mss-plan__price {
	color: var(--mss-price-color, var(--mss-title-color)) !important;
	font-size: var(--mss-price-size, 1.25rem) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	overflow-wrap: anywhere !important;
}

.mss-plan__price-amount {
	color: var(--mss-price-color, inherit) !important;
}

.mss-plan__price-duration {
	color: var(--mss-duration-color, inherit) !important;
	font-size: var(--mss-duration-size, 0.9375rem) !important;
	font-weight: 500 !important;
}

.mss-plan__form {
	display: grid !important;
	gap: 1rem !important;
	margin: 0 !important;
}

.mss-plan__checkout {
	box-sizing: border-box !important;
	cursor: pointer !important;
	font: inherit !important;
}

.mss-plan__checkout--button {
	appearance: none !important;
	background: var(--mss-button-bg) !important;
	border: 0 !important;
	border-radius: var(--mss-border-radius) !important;
	color: var(--mss-button-text) !important;
	display: inline-flex !important;
	font-size: var(--mss-button-size, 1rem) !important;
	font-weight: 600 !important;
	justify-content: center !important;
	line-height: 1.2 !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	padding: var(--mss-padding-vertical) var(--mss-padding-horizontal) !important;
	text-align: center !important;
	text-decoration: none !important;
	text-decoration-color: currentColor !important;
	white-space: normal !important;
}

.mss-plan__checkout--button:hover,
.mss-plan__checkout--button:focus {
	background: var(--mss-button-hover-bg) !important;
	color: var(--mss-button-hover-text) !important;
	filter: none !important;
	opacity: 1 !important;
	text-decoration-color: currentColor !important;
}

.mss-plan__checkout--link {
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--mss-link-color) !important;
	display: inline !important;
	font-size: var(--mss-link-size) !important;
	line-height: inherit !important;
	opacity: 1 !important;
	padding: 0 !important;
	text-decoration: underline !important;
	text-decoration-color: currentColor !important;
}

.mss-plan__checkout--link:hover,
.mss-plan__checkout--link:focus {
	color: var(--mss-link-hover-color) !important;
	filter: none !important;
	opacity: 1 !important;
	text-decoration-color: currentColor !important;
}

.mss-message {
	background: #f6f8fa !important;
	border-left: 4px solid #d0d7de !important;
	margin: 1rem 0 !important;
	padding: 0.75rem 1rem !important;
}

.mss-confirmation {
	background: var(--mss-card-bg) !important;
	border: 1px solid var(--mss-border-color) !important;
	border-radius: var(--mss-border-radius) !important;
	box-sizing: border-box !important;
	margin: 1rem 0 !important;
	max-width: 560px !important;
	padding: 1.25rem !important;
}

.mss-confirmation__title {
	color: var(--mss-title-color) !important;
	font-size: var(--mss-title-size) !important;
	margin: 0 0 1rem !important;
}

.mss-confirmation__details {
	display: grid !important;
	gap: 0.75rem !important;
	margin: 0 !important;
}

.mss-confirmation__row {
	border-bottom: 1px solid var(--mss-border-color) !important;
	display: grid !important;
	gap: 0.25rem !important;
	grid-template-columns: minmax(110px, 0.45fr) 1fr !important;
	padding: 0 0 0.75rem !important;
}

.mss-confirmation__row dt {
	color: #57606a !important;
	font-weight: 600 !important;
	margin: 0 !important;
}

.mss-confirmation__row dd {
	color: #24292f !important;
	margin: 0 !important;
	overflow-wrap: anywhere !important;
}

.mss-confirmation__links {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
	margin-top: 1rem !important;
}

.mss-confirmation__link {
	background: var(--mss-button-bg) !important;
	border-radius: var(--mss-border-radius) !important;
	color: var(--mss-button-text) !important;
	display: inline-flex !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	padding: 0.65rem 0.85rem !important;
	text-decoration: none !important;
	text-decoration-color: currentColor !important;
}

.mss-confirmation__link:hover,
.mss-confirmation__link:focus {
	background: var(--mss-button-hover-bg) !important;
	color: var(--mss-button-hover-text) !important;
	filter: none !important;
	opacity: 1 !important;
	text-decoration-color: currentColor !important;
}

@media (max-width: 520px) {
	.mss-confirmation__row {
		grid-template-columns: 1fr !important;
	}
}
.mss-plan__notes {
	margin: 0 !important;
}

.mss-plan__notes-label {
	color: var(--mss-form-label-color, inherit) !important;
	display: block !important;
	margin: 0 0 6px !important;
}

.mss-plan__notes-input {
	background: #fff !important;
	border: 1px solid var(--mss-border-color) !important;
	border-radius: var(--mss-border-radius) !important;
	box-sizing: border-box !important;
	color: inherit !important;
	display: block !important;
	font: inherit !important;
	max-width: 100% !important;
	min-height: 96px !important;
	padding: 10px 12px !important;
	resize: vertical !important;
	width: 100% !important;
}

.mss-donation {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mss-donation__legend {
	color: var(--mss-donation-prompt-color, inherit) !important;
	display: block !important;
	font-size: var(--mss-donation-prompt-size, 1rem) !important;
	font-weight: 600 !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	width: 100% !important;
}

.mss-donation__loading {
	color: inherit !important;
	margin: 0 !important;
}

.mss-donation--hydrating {
	min-height: 54px !important;
}

.mss-donation__options {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 !important;
}

.mss-donation--cards .mss-donation__option {
	flex: 1 1 calc(50% - 8px) !important;
}

.mss-donation--horizontal .mss-donation__option {
	flex: 0 1 auto !important;
}

.mss-donation--vertical .mss-donation__options {
	flex-direction: column !important;
}

.mss-donation--vertical .mss-donation__option {
	width: 100% !important;
}

.mss-donation__option {
	cursor: pointer !important;
	margin: 0 !important;
	min-width: 0 !important;
}

.mss-donation__option input {
	height: 1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	width: 1px !important;
}

.mss-donation__option span {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid var(--mss-donation-primary) !important;
	border-radius: var(--mss-border-radius) !important;
	box-sizing: border-box !important;
	color: var(--mss-donation-primary) !important;
	display: inline-flex !important;
	font-weight: 600 !important;
	justify-content: center !important;
	min-height: 44px !important;
	padding: 9px 12px !important;
	text-align: center !important;
	width: 100% !important;
}

.mss-donation__option input:checked + span,
.mss-donation__option input:focus + span {
	background: var(--mss-donation-primary) !important;
	color: var(--mss-donation-accent) !important;
	outline: 2px solid var(--mss-donation-primary) !important;
	outline-offset: 2px !important;
}

.mss-donation__custom-label {
	color: var(--mss-donation-custom-label-color, inherit) !important;
	display: block !important;
	font-size: var(--mss-donation-custom-label-size, 0.9375rem) !important;
	font-weight: 600 !important;
	margin: 12px 0 6px !important;
}

.mss-donation__custom-input {
	background: #fff !important;
	border: 1px solid var(--mss-donation-primary) !important;
	border-radius: var(--mss-border-radius) !important;
	box-sizing: border-box !important;
	color: inherit !important;
	display: block !important;
	font: inherit !important;
	max-width: 220px !important;
	padding: 10px 12px !important;
	width: 100% !important;
}

.mss-fundraising {
	background: var(--mss-fundraising-bg, #f6f7fb) !important;
	border: 1px solid var(--mss-fundraising-border-color, var(--mss-border-color)) !important;
	border-radius: var(--mss-border-radius) !important;
	box-sizing: border-box !important;
	margin: 0 0 18px !important;
	padding: 14px !important;
}

.mss-fundraising [hidden],
.mss-campaign-availability [hidden] {
	display: none !important;
}

.mss-fundraising__loading {
	color: inherit !important;
	margin: 0 !important;
}

.mss-fundraising--hydrating {
	min-height: 52px !important;
}

.mss-fundraising__amount {
	color: inherit !important;
	margin: 0 !important;
}

.mss-fundraising__amount strong {
	color: var(--mss-fundraising-raised-color, inherit) !important;
	font-size: 1.15em !important;
}

.mss-fundraising__goal {
	color: var(--mss-fundraising-goal-color, inherit) !important;
}

.mss-fundraising__percentage {
	color: inherit !important;
	font-size: var(--mss-fundraising-percentage-size, 1rem) !important;
	font-weight: 700 !important;
	margin: 6px 0 0 !important;
}

.mss-fundraising__track {
	background: var(--mss-fundraising-track-color, #eef0fe) !important;
	border: 1px solid var(--mss-fundraising-track-border-color, #e7e9f1) !important;
	border-radius: 999px !important;
	box-sizing: border-box !important;
	height: 12px !important;
	margin: 10px 0 0 !important;
	overflow: hidden !important;
	width: 100% !important;
}

.mss-fundraising__bar {
	background: var(--mss-fundraising-progress) !important;
	border-radius: inherit !important;
	display: block !important;
	height: 100% !important;
	max-width: 100% !important;
}

.mss-fundraising__count,
.mss-fundraising__end-date {
	color: inherit !important;
	margin: 8px 0 0 !important;
}

.mss-fundraising__count {
	font-size: var(--mss-fundraising-count-size, 1rem) !important;
}

.mss-fundraising__completion {
	color: var(--mss-completion-message-color, var(--mss-fundraising-progress)) !important;
	font-size: var(--mss-completion-message-size, 1rem) !important;
	font-weight: 700 !important;
	margin: 10px 0 0 !important;
}

.mss-fundraising__closed {
	background: #f6f7fb !important;
	border: 1px solid var(--mss-border-color) !important;
	border-radius: var(--mss-border-radius) !important;
	color: inherit !important;
	font-weight: 600 !important;
	margin: 0 !important;
	padding: 12px !important;
}

@media (max-width: 520px) {
	.mss-donation--cards .mss-donation__option,
	.mss-donation--horizontal .mss-donation__option {
		flex: 1 1 100% !important;
	}
}
.mss-plan__launch-status {
	min-height: 1.5em;
	margin: 8px 0 0;
	color: var(--mss-description-color);
	font-size: 14px;
}

.mss-plan__checkout[aria-busy="true"] {
	cursor: wait;
}

.mss-plan__checkout[disabled] {
	cursor: wait !important;
	opacity: 0.65 !important;
}
.mss-payment-form {
	margin: 16px 0;
}

.mss-payment-form[hidden] {
	display: none;
}

.mss-payment-form__grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.mss-payment-form__field {
	grid-column: span 6;
	min-width: 0;
}

.mss-payment-form__field--half {
	grid-column: span 3;
}

.mss-payment-form__field--third {
	grid-column: span 2;
}

.mss-payment-form__field > label,
.mss-payment-form__field legend {
	color: var(--mss-form-label-color, inherit);
	display: block;
	font-weight: 600;
	margin: 0 0 6px;
}

.mss-payment-form__field input:not([type="radio"]):not([type="checkbox"]),
.mss-payment-form__field select,
.mss-payment-form__field textarea {
	background: var(--mss-form-field-bg, #ffffff);
	border: 1px solid var(--mss-form-field-border-color, #e7e9f1);
	border-radius: var(--mss-form-field-radius, var(--mss-border-radius));
	box-sizing: border-box;
	color: inherit;
	font: inherit;
	max-width: 100%;
	min-height: 40px;
	padding: 8px 10px;
	width: 100%;
}

.mss-payment-form__field textarea {
	min-height: 84px;
}

.mss-payment-form__field fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.mss-payment-form__field fieldset label {
	display: block;
	margin: 5px 0;
}

.mss-payment-form__field fieldset .mss-payment-form__checkbox-label {
	align-items: flex-start;
	display: flex;
	gap: 0.35em;
}

.mss-payment-form__field fieldset input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: 0.2em;
}

.mss-payment-form__description,
.mss-payment-form__loading,
.mss-payment-form__error {
	font-size: 0.9em;
	margin: 6px 0 0;
}

.mss-payment-form__description {
	opacity: 0.78;
}

.mss-payment-form__error {
	color: #b32d2e;
}

.mss-payment-form--modern {
	background: var(--mss-fundraising-bg, #f6f7fb);
	border: 1px solid var(--mss-form-field-border-color, #e7e9f1);
	border-radius: var(--mss-form-field-radius, var(--mss-border-radius));
	padding: 16px;
}

@media (max-width: 640px) {
	.mss-payment-form__field--half,
	.mss-payment-form__field--third {
		grid-column: span 6;
	}
}
