/* Public volunteer group: volunteer-profile rhythm with a logo-led identity hero. */
body.ip-canonical-volunteer-group-body .ip-container,
.ip-volunteer-group {
	width: min(1140px, calc(100% - 48px));
	margin-inline: auto;
}

.ip-volunteer-group-hero {
	display: grid;
	min-height: 0;
	place-items: center;
	aspect-ratio: 1;
	overflow: hidden;
	border: 1px solid var(--ip-color-border);
	background:
		radial-gradient(circle at 30% 24%, color-mix(in srgb, var(--ip-purple-500) 13%, transparent), transparent 42%),
		var(--ip-color-surface-subtle);
}

.ip-volunteer-group-logo {
	display: grid;
	width: clamp(11rem, 30vw, 19rem);
	aspect-ratio: 1;
	place-items: center;
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border: 1px solid var(--ip-color-border);
	border-radius: 50%;
	background: var(--ip-color-surface);
	box-shadow: var(--ip-shadow-card);
}

.ip-volunteer-group-logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ip-volunteer-group-logo .ip-icon {
	width: clamp(3.5rem, 9vw, 6rem);
	height: clamp(3.5rem, 9vw, 6rem);
	color: var(--ip-color-text-muted);
}

.ip-volunteer-group-card .ip-vol-cta__apply {
	display: flex;
	text-decoration: none;
}

.ip-volunteer-group-activities {
	margin-bottom: 0;
}

@media (max-width: 899px) {
	.ip-volunteer-group-hero {
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 599px) {
	body.ip-canonical-volunteer-group-body .ip-container,
	.ip-volunteer-group {
		width: min(100% - 32px, 1140px);
	}

	.ip-volunteer-group-logo {
		width: min(52vw, 12.5rem);
	}

	.ip-volunteer-group-activities {
		grid-template-columns: 1fr;
	}
}

.ip-group-public-gallery .ip-gallery { width:100%; max-width:none; padding:0; margin:0 0 16px; }
.ip-group-public-gallery + .ip-volunteer-group-hero { min-height:0; padding:20px; }
.ip-group-public-map { display:block; width:100%; height:260px; border:0; border-radius:16px; }
