/* =====================================================
   Donation Counter Block – Fully Scoped Styles
   Scope root: .donation-counter
===================================================== */

/* -----------------------------
   Wrapper
------------------------------ */

.donation-counter {
	background: var(--dc-container-bg, transparent);
	padding: 40px;
	border-radius: 30px;
	max-width: 70%;
	margin: 0 auto;
	text-align: center;
}

@media (max-width: 1000px) {
	.donation-counter {
		padding: 30px;
		border-radius: 25px;
		max-width: 100%;
	}
}

/* -----------------------------
   Image
------------------------------ */

.donation-counter .donation-counter__image-wrap {
	margin-bottom: 12px;
}

.donation-counter .donation-counter__image-wrap img {
	width: 100%;
	max-width: 940px;
	aspect-ratio: 940 / 430;
	object-fit: cover;
	display: block;
}

/* -----------------------------
   Row / Column Layout
------------------------------ */

.donation-counter .donation-raised-wrapper .row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -12px;
	margin-right: -12px;
}

.donation-counter .donation-raised-wrapper .row > .lg-6,
.donation-counter .donation-raised-wrapper .row > .mob-12,
.donation-counter .donation-raised-wrapper .row > .lg-12,
.donation-counter .donation-raised-wrapper .row > .mob-6,
.donation-counter .donation-raised-wrapper .row > .lg-6,
.donation-counter .donation-raised-wrapper .row > .mob-6 {
	padding-left: 12px;
	padding-right: 12px;
	box-sizing: border-box;
}

/* Mobile default */
.donation-counter .donation-raised-wrapper .row > .mob-12 {
	flex: 0 0 100%;
	max-width: 100%;
}

/* Tablet / Desktop */
@media (min-width: 768px) {
	.donation-counter .donation-raised-wrapper .row > .lg-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.donation-counter .donation-raised-wrapper .row > .lg-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/* You currently keep two columns on small screens for .lg-6.
   Leaving as-is, but scoped. */
@media (max-width: 767px) {
	.donation-counter .donation-raised-wrapper .row > .lg-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
}

/* -----------------------------
   Headings / Values
------------------------------ */

/* IMPORTANT: scoped to prevent theme collisions */
.donation-counter .donation-raised-wrapper h2,
.donation-counter .donation-raised-wrapper h3 {
	margin: 15px 0;
	color: #404040 !important;
}

.donation-counter .donation-raised-wrapper h2 strong,
.donation-counter .donation-raised-wrapper h3 strong {
	color: #e51a2f !important;
}

.donation-counter .donation-raised-wrapper h3 {
	margin: 15px 0 25px;
}

.donation-counter .donation-raised-wrapper h4 {
	margin: 20px 0 0;
}

@media (max-width: 1000px) {
	.donation-counter .donation-raised-wrapper h2,
	.donation-counter .donation-raised-wrapper h3 {
		margin: 10px 0;
	}

	.donation-counter .donation-raised-wrapper h3 {
		margin: 10px 0 20px;
	}

	.donation-counter .donation-raised-wrapper h4 {
		margin: 15px 0 0;
	}
}

/* -----------------------------
   Details Section
------------------------------ */

.donation-counter .donation-counter__details {
	margin-top: 12px;
	display: grid;
	gap: 6px;
}

.donation-counter .donation-counter__detail strong {
	font-weight: 700;
}

/* -----------------------------
   CTA Button (center aligned + a11y)
------------------------------ */

.donation-counter .donation-counter__cta {
	margin-top: 40px;
	text-align: center;
}

.donation-counter .donation-counter__button {
	display: inline-block;
	padding: 12px 24px;
	background-color: #e51a2f;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	border-radius: 8px;
	transition: transform 0.15s ease, opacity 0.15s ease;
	width: 60%
}

.donation-counter .donation-counter__button:hover,
.donation-counter .donation-counter__button:focus {
	opacity: 0.9;
	transform: translateY(-1px);
}

.donation-counter .donation-counter__button:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

@media (max-width: 600px) {
	.donation-counter .donation-counter__cta {
	margin-top: 25px;
}
.donation-counter .donation-counter__button {
	width: 100%
}
}

/* -----------------------------
   Progress Meter (Horizontal)
------------------------------ */

.donation-counter .donation-counter__meter {
	width: 100%;
	height: 40px;
	background-color: var(--dc-meter-bg, #ffffff);
	position: relative;
	overflow: hidden;
	border-radius: 0;
}

@media (max-width: 1000px) {
	.donation-counter .donation-counter__meter {
		height: 30px;
	}
}

/* Striped + animated fill */
.donation-counter .donation-counter__bar {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 13px;
	box-sizing: border-box;
	min-width: 6px;

	background-color: var(--dc-bar-color, #7bdcb5);
	background-image: linear-gradient(
		45deg,
		rgba(255, 255, 255, 0.35) 25%,
		rgba(255, 255, 255, 0) 25%,
		rgba(255, 255, 255, 0) 50%,
		rgba(255, 255, 255, 0.35) 50%,
		rgba(255, 255, 255, 0.35) 75%,
		rgba(255, 255, 255, 0) 75%,
		rgba(255, 255, 255, 0) 100%
	);
	background-size: 40px 40px;

	transition: width 0.3s linear;
	animation: donationCounterStripes 1s linear infinite;
	will-change: background-position, width;
}

@keyframes donationCounterStripes {
	0% { background-position: 0 0; }
	100% { background-position: 40px 40px; }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
	.donation-counter .donation-counter__bar {
		animation: none;
	}
}

.donation-counter--overflow .donation-counter__bar {
	background-color: var(--dc-overflow-bar-color, rgba(50,205,50,1));
}

/* Percentage label */

.donation-counter .donation-counter__label {
	color: #000;
	font-weight: 700;
	font-size: 24px;
	white-space: nowrap;
}

@media (max-width: 800px) {
	.donation-counter .donation-counter__label {
		font-size: 20px;
	}
}

/* Label outside when <7% */
.donation-counter.donation-counter--label-outside .donation-counter__bar {
	justify-content: flex-start;
}

.donation-counter.donation-counter--label-outside .donation-counter__label {
	position: absolute;
	right: -42px; /* adjust if needed */
	color: #000;
	white-space: nowrap;
}

/* -----------------------------
   Spacers (block-only safety)
------------------------------ */

.donation-counter .wp-block-spacer {
	clear: both;
}
