/* Canonical necesidad — the same editorial two-column rhythm as
 * Voluntariado; the identity head scrolls while the sticky CTA card
 * carries the essential rows above the contact button. */

.ip-need .ip-vol-layout {
	gap: clamp(48px, 4.5vw, 64px);
}

.ip-need-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ip-space-2);
	justify-content: center;
	margin-bottom: var(--ip-space-4);
}

.ip-need-dir,
.ip-need-reserved,
.ip-need-urgent {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	padding: 4px 10px;
	border: 1px solid var(--ip-color-border);
	border-radius: var(--ip-radius-pill);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ip-need-dir--busco {
	border-color: var(--ip-color-action);
	background: var(--ip-color-action);
	color: var(--ip-color-on-action);
}

.ip-need-dir--regalo {
	border-color: var(--ip-color-border-strong);
	background: var(--ip-color-accent-soft);
	color: var(--ip-color-text);
}

.ip-need-reserved {
	background: var(--ip-color-surface-subtle);
	color: var(--ip-color-text-muted);
}

.ip-need-urgent {
	border-color: var(--ip-color-danger);
	background: transparent;
	color: var(--ip-color-danger);
}

.ip-need .ip-vol-summary {
	padding-top: var(--ip-space-1);
}

.ip-need .ip-vol-summary__head .ip-vol-title {
	margin: 0;
	font-size: 2rem;
	line-height: 1.125;
}

.ip-need .ip-vol-summary__actions {
	margin-top: var(--ip-space-5);
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.ip-need .ip-vol-cta .ip-vol-summary__rows {
	gap: var(--ip-space-4);
	margin-bottom: var(--ip-space-5);
	padding-bottom: var(--ip-space-5);
	border-bottom: 1px solid var(--ip-color-border);
}

.ip-need .ip-vol-cta__apply {
	width: 100%;
	min-height: 52px;
	justify-content: center;
	border-color: var(--ip-color-action);
	background: var(--ip-color-action);
	color: var(--ip-color-on-action);
}

.ip-need .ip-vol-cta__apply:hover {
	border-color: var(--ip-color-action-hover);
	background: var(--ip-color-action-hover);
}

.ip-need-cta-note {
	margin: var(--ip-space-4) 0 0;
	font-size: 0.8125rem;
	line-height: 1.55;
}

@media (max-width: 599px) {
	.ip-need .ip-vol-summary__head .ip-vol-title {
		font-size: 1.75rem;
		line-height: 1.143;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ip-need .ip-vol-cta__apply { transition: none; }
}
