/* SmartSchools Donations – scoped to beat theme form styles, inherits shop fonts/colours/buttons */
.woocommerce div.product form.cart.kd-donation-form,
form.cart.kd-donation-form {
	display: block !important;
	width: 100%;
	max-width: 520px;
	margin: 1.25em 0 0;
}
form.kd-donation-form .kd-section { margin: 0 0 1.25em; padding: 0; float: none; width: auto; }
form.kd-donation-form .kd-heading { margin: 0 0 .75em; font-weight: 600; }

form.kd-donation-form .kd-row {
	display: grid !important;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	margin: 0 0 12px;
	padding: 0;
	float: none; width: auto;
}
form.kd-donation-form .kd-label {
	display: block; float: none; width: auto; margin: 0; padding: 0;
	text-align: left; font-weight: 500; line-height: 1.3;
}
form.kd-donation-form input.kd-amount {
	display: block; float: none; width: 100% !important; max-width: none;
	box-sizing: border-box; min-height: 50px; margin: 0 !important;
	padding: 10px 14px !important; font: inherit; color: inherit;
	background: #fff; border: 1px solid rgba(0, 0, 0, .3); border-radius: 4px; box-shadow: none;
	-moz-appearance: textfield; appearance: textfield;
}
form.kd-donation-form input.kd-amount::-webkit-outer-spin-button,
form.kd-donation-form input.kd-amount::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
form.kd-donation-form input.kd-amount:focus { outline: 2px solid currentColor; outline-offset: -1px; }

form.kd-donation-form .kd-product-option {
	display: flex !important; align-items: flex-start; gap: 12px; cursor: pointer;
	margin: 0; padding: 14px 16px; float: none; width: auto;
	background: #fff; border: 1px solid rgba(0, 0, 0, .3); border-radius: 4px; font-weight: normal;
}
form.kd-donation-form .kd-product-option:has(input:checked) { border-color: currentColor; box-shadow: inset 0 0 0 1px currentColor; }
form.kd-donation-form .kd-product-option input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: currentColor; }
form.kd-donation-form .kd-product-copy { display: flex; flex-direction: column; gap: 2px; }
form.kd-donation-form .kd-product-copy strong { font-weight: 600; }
form.kd-donation-form .kd-product-note { font-size: .9em; opacity: .75; }

form.kd-donation-form .kd-summary {
	display: flex !important; justify-content: space-between; align-items: baseline;
	padding: 14px 0; border-top: 1px solid rgba(0, 0, 0, .12); border-bottom: 1px solid rgba(0, 0, 0, .12);
}
form.kd-donation-form .kd-summary-label { font-weight: 600; }
form.kd-donation-form .kd-total { font-size: 1.5em; font-weight: 600; }

form.kd-donation-form .kd-submit { float: none; margin: 0; }

@media (max-width: 480px) {
	form.kd-donation-form .kd-row { grid-template-columns: 1fr; gap: 6px; }
}
