.roundup-donation-box {
	border: 1px solid #e2e8f0;
	padding: 16px 20px;
	background-color: #ffffff;
	border-radius: 0;
	max-width: 600px;
	margin: 20px auto;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	box-sizing: border-box;
	text-align: center;
}

.roundup-donation-box form {
	display: inline-flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 16px;
	margin: 0;
}

.roundup-donation-box .roundup-checkbox-label {
	display: inline-flex !important;
	align-items: center !important;
	cursor: pointer !important;
	margin: 0 !important;
	user-select: none;
	font-weight: 500;
	color: #374151;
	font-size: 14px;
}

/* Professional Custom Checkbox */
.roundup-donation-box .roundup-checkbox-label input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	margin: 0 10px 0 0 !important;
	width: 18px !important;
	height: 18px !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 0 !important;
	background-color: #ffffff !important;
	display: grid;
	place-content: center;
	cursor: pointer !important;
	transition: all 0.1s ease-in-out;
	position: relative;
}

.roundup-donation-box .roundup-checkbox-label input[type="checkbox"]::before {
	content: "";
	width: 9px;
	height: 9px;
	transform: scale(0);
	transition: 0.1s transform ease-in-out;
	background-color: #ffffff;
	clip-path: polygon(14% 44%, 0 58%, 38% 95%, 100% 16%, 84% 3%, 38% 65%);
}

.roundup-donation-box .roundup-checkbox-label input[type="checkbox"]:checked::before {
	transform: scale(1.1);
}

.roundup-donation-box .roundup-checkbox-label input[type="checkbox"]:checked {
	border-color: #3b82f6 !important;
	background-color: #3b82f6 !important;
}

.roundup-donation-box .roundup-checkbox-label input[type="checkbox"]:hover {
	border-color: #3b82f6 !important;
}

span.roundup_popup,
span.penny_popup,
span.portioncampaign_popup {
	cursor: pointer !important;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
	color: inherit;
}

span.roundup_popup:after,
span.penny_popup:after,
span.portioncampaign_popup:after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	vertical-align: middle;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af' stroke-width='2.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath stroke-linecap='round' d='M12 16v-4m0-4h.01'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.8;
	transition: all 0.2s ease;
}

span.roundup_popup:hover,
span.penny_popup:hover,
span.portioncampaign_popup:hover {
	opacity: 0.7;
}

span.roundup_popup:hover:after,
span.penny_popup:hover:after,
span.portioncampaign_popup:hover:after {
	opacity: 1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232563eb' stroke-width='2.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath stroke-linecap='round' d='M12 16v-4m0-4h.01'/%3E%3C/svg%3E");
}

.donation-amount {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.donation-amount label {
	display: none !important;
}

/* Compact Stepper */
.da-qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid #d1d5db;
	border-radius: 0 !important;
	overflow: hidden;
	background-color: #ffffff;
	height: 32px;
	box-sizing: border-box;
}

.da-qty button {
	background: #f9fafb !important;
	border: none !important;
	border-radius: 0 !important;
	outline: none !important;
	color: #4b5563;
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	width: 32px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.1s ease;
	box-shadow: none !important;
}

.da-qty button.donation-decrement {
	border-right: 1px solid #d1d5db !important;
}

.da-qty button.donation-increment {
	border-left: 1px solid #d1d5db !important;
}

.da-qty button:hover:not(:disabled) {
	background-color: #f3f4f6 !important;
	color: #111827;
}

.da-qty button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	background-color: #f9fafb !important;
	color: #d1d5db;
}

.donation-amount .da-qty input {
	-moz-appearance: textfield;
	appearance: textfield;
	background: #ffffff !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	color: #111827;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	width: 50px;
	height: 100%;
	padding: 0;
	margin: 0;
	font-family: inherit;
}

.donation-amount .da-qty input::-webkit-outer-spin-button,
.donation-amount .da-qty input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.da-qty:after {
	display: none;
}

/* Modal Overlay Background */
.zted-dmodal {
	display: none;
	position: fixed;
	z-index: 999999 !important;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(15, 23, 42, 0.6); /* Slate overlay with opacity */
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
}

.donation-modal-content {
	border-radius: 12px;
	max-width: 1000px;
	width: 90%;
	position: relative;
	border: 1px solid #e2e8f0;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
	background: #ffffff;
	padding: 24px;
	margin: auto;
	box-sizing: border-box;
	animation: zted-dmodalFadeIn 0.2s ease-out;
}

@keyframes zted-dmodalFadeIn {
	from {
		opacity: 0;
		transform: scale(0.95);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.donation-modal-content h2 {
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	margin-top: 0;
}

.donation-modal-content .dp-campaign-image img {
	max-width: 100%;
	border-radius: 8px;
	margin: 15px 0;
}

.donation-modal-content .wp-block-image img {
	max-width: 100%;
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

.donation-modal-content span.zted-close {
	position: absolute;
	right: 16px;
	top: 16px;
	font-size: 28px;
	cursor: pointer;
	color: #64748b;
	transition: color 0.15s ease;
	line-height: 1;
}

.donation-modal-content span.zted-close:hover {
	color: #0f172a;
}

.donation-modal-content .dp-gallery-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 16px;
	margin: 0 auto;
}

.donation-modal-content .wp-block-image {
	margin: 0;
	padding: 0;
	display: block;
}

.donation-modal-content .wp-block-image img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
	transition: all 0.2s ease;
}

.donation-modal-content .wp-block-image img:hover {
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.04);
}

.dmc-content p:empty {
	display: none;
}

.donation-modal-content button.zted-done-button {
	margin-top: 20px;
	background: #2563eb;
	border-radius: 6px;
	padding: 10px 20px;
	font-weight: 600;
	color: #ffffff;
	border: none;
	cursor: pointer;
	transition: background 0.15s ease;
}

.donation-modal-content button.zted-done-button:hover {
	background: #1d4ed8;
}

.cart_totals {
	z-index: 1 !important;
}

/* Portion of Sale banner style */
.portion-sale-message {
	padding: 12px 16px;
	background-color: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	margin-top: 15px;
	margin-bottom: 15px;
	font-size: 14px;
	color: #334155;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	box-sizing: border-box;
}

.portion-sale-message span.portioncampaign_popup {
	font-weight: 600;
	color: #2563eb;
	cursor: pointer;
	text-decoration: underline;
}

.portion-sale-message span.portioncampaign_popup:hover {
	color: #1d4ed8;
}