.cyc-giving-board {
	--cyc-board-background: #f9f2ea;
	--cyc-board-primary: #545194;
	--cyc-board-funded: #56a62c;
	--cyc-board-funded-text: #254e18;
	--cyc-board-border: #545194;
	--cyc-board-text: #3e3b59;
	--cyc-board-hover: #efe9f3;
	color: var(--cyc-board-text);
	background: var(--cyc-board-background);
	padding: var(--cyc-board-padding, clamp(.75rem, 2vw, 1.25rem));
	border-radius: .5rem;
	max-width: 1200px;
	margin: 1rem auto;
	container-type: inline-size;
}
.cyc-giving-board *, .cyc-giving-board *::before, .cyc-giving-board *::after { box-sizing: border-box; }
.cyc-giving-board h1, .cyc-giving-board h2 { color: var(--cyc-board-primary); margin-top: 0; }
.cyc-giving-board > h2 { font-size: var(--cyc-board-heading-size, clamp(1.3rem, 2.5vw, 1.85rem)); line-height: 1.2; margin-bottom: .5rem; }
.cyc-board-description { max-width: 70ch; margin: 0 0 .5rem; font-size: var(--cyc-board-description-size, .95rem); line-height: 1.5; }
.cyc-board-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin: .5rem 0; }
.cyc-board-summary dt { font-size: var(--cyc-board-detail-size, .8rem); }
.cyc-board-summary dd { margin: .1rem 0 0; font-size: var(--cyc-board-summary-size, clamp(1.1rem, 2vw, 1.5rem)); font-weight: 800; color: var(--cyc-board-primary); }
.cyc-board-progress { display: block; width: 100%; height: .55rem; accent-color: var(--cyc-board-funded-text); }
.cyc-board-accounting, .cyc-board-live { font-size: var(--cyc-board-detail-size, .8rem); margin: .4rem 0; }
.cyc-board-live:empty { margin: 0; }
.cyc-board-grid { display: grid; grid-template-columns: repeat(var(--cyc-board-columns, 7), minmax(0, 1fr)); gap: 1px; padding: 1px !important; margin: .75rem 0 !important; background: var(--cyc-board-border); list-style: none !important; }
.cyc-board-grid li { list-style: none; margin: 0; padding: 0; min-width: 0; }
.cyc-board-square { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; text-align: center; min-height: var(--cyc-board-square-height, 96px); height: 100%; padding: .3rem; background: var(--cyc-board-background); color: var(--cyc-board-text) !important; text-decoration: none !important; overflow-wrap: anywhere; transition: background .15s; }
.cyc-board-square:hover[href] { background: var(--cyc-board-hover); }
.cyc-board-square > :not(.cyc-board-stamp) { position: relative; z-index: 1; }
.cyc-board-square-id { display: none; }
.cyc-board-target { font-size: var(--cyc-board-amount-size, clamp(1.2rem, 2vw, 1.7rem)); color: var(--cyc-board-primary); line-height: 1.2; white-space: nowrap; }
.cyc-board-featured .cyc-board-target { font-weight: 900; text-decoration: underline; text-underline-offset: .2em; }
.cyc-board-square-status, .cyc-board-square-funded, .cyc-board-square-remaining { font-size: var(--cyc-board-detail-size, .8rem); line-height: 1.4; }
.cyc-board-square-status { font-weight: 700; }
.cyc-board-square[data-state="available"] .cyc-board-square-funded,
.cyc-board-square[data-state="available"] .cyc-board-square-remaining,
.cyc-board-square[data-state="funded"] .cyc-board-square-funded,
.cyc-board-square[data-state="funded"] .cyc-board-square-remaining,
.cyc-board-square[data-state="partial"] .cyc-board-square-status { display: none; }
.cyc-board-square[data-state="funded"] .cyc-board-square-status { color: var(--cyc-board-funded-text); font-size: var(--cyc-board-detail-size, .85rem); margin: .1rem 0; }
.cyc-board-square[aria-disabled="true"] { cursor: default; }
.cyc-board-stamp { display: none; position: absolute; z-index: 0; left: 50%; top: 50%; width: min(76%, 88px); aspect-ratio: 1; max-height: 80%; object-fit: contain; pointer-events: none; transform: translate(-50%, -50%) rotate(-12deg); opacity: .22; }
.cyc-board-stamp-logo { background-color: var(--cyc-board-funded); -webkit-mask: url("../images/cyc-logo.png") center / contain no-repeat; mask: url("../images/cyc-logo.png") center / contain no-repeat; }
.cyc-board-square[data-state="partial"] .cyc-board-stamp { display: block; }
.cyc-board-square[data-state="funded"] .cyc-board-stamp { display: block; opacity: .6; }
.cyc-board-notice { border-left: 4px solid var(--cyc-board-primary); padding: .4rem .65rem; margin: .6rem 0; font-size: .85rem; background: #fff; }
.cyc-giving-board a:focus-visible, .cyc-giving-board button:focus-visible, .cyc-giving-board input:focus-visible { outline: 3px solid var(--cyc-board-primary); outline-offset: 3px; z-index: 1; }
.cyc-board-button { display: inline-block; background: var(--cyc-board-primary); color: #fff !important; padding: .75rem 1rem; border: 0; border-radius: .25rem; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none !important; }
.cyc-board-amount-form { display: grid; gap: .75rem; max-width: 600px; }
.cyc-board-amount-options { display: flex; flex-wrap: wrap; gap: .75rem; }
.cyc-board-amount-options button { font: inherit; cursor: pointer; padding: .6rem; }
.cyc-board-amount-form label { font-weight: 700; }
.cyc-board-amount-form input[type="number"] { max-width: 18rem; padding: .75rem; font: inherit; background: #fff; color: var(--cyc-board-text); border: 1px solid var(--cyc-board-border); }
.cyc-board-givewp-form { display: block; width: 100%; min-height: 1100px; border: 0; background: #fff; }
@media (max-width: 1024px) {
	.cyc-board-grid { grid-template-columns: repeat(min(var(--cyc-board-columns, 7), 4), minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.cyc-board-grid { grid-template-columns: repeat(min(var(--cyc-board-columns, 7), 2), minmax(0, 1fr)); }
	.cyc-board-summary { grid-template-columns: repeat(2, 1fr); }
	.cyc-board-target { font-size: var(--cyc-board-mobile-amount-size, 1.5rem); }
	.cyc-board-square { min-height: var(--cyc-board-mobile-square-height, 104px); padding: .35rem; }
}
@container (max-width: 850px) {
	.cyc-board-grid { grid-template-columns: repeat(min(var(--cyc-board-columns, 7), 4), minmax(0, 1fr)); }
}
@container (max-width: 450px) {
	.cyc-board-grid { grid-template-columns: repeat(min(var(--cyc-board-columns, 7), 2), minmax(0, 1fr)); }
	.cyc-board-summary { grid-template-columns: repeat(2, 1fr); }
	.cyc-board-target { font-size: var(--cyc-board-mobile-amount-size, 1.5rem); }
	.cyc-board-square { min-height: var(--cyc-board-mobile-square-height, 104px); }
}
@media (prefers-reduced-motion: reduce) {
	.cyc-board-square { transition: none; }
}
