/* ==========================================================================
   Campus Location - Campuses (stacking cards)
   Tune header spacing with --pu-new-campus-location-header-offset
   ========================================================================== */

.pu-new-campus-location-campuses-section,
.pu-new-campus-location-campuses-section *,
.pu-new-campus-location-campuses-section *::before,
.pu-new-campus-location-campuses-section *::after {
	box-sizing: border-box !important;
}

.pu-new-campus-location-campuses-section {
	--pu-new-campus-location-header-offset: 150px; /* desktop: header height (~123px) + gap */
	position: relative !important;
	padding: 64px 0 !important;
	background: #0f0445 !important;
	color: #fff !important;
}

.pu-new-campus-location-campuses-container {
	width: min(1360px, 100%) !important;
	margin: 0 auto !important;
}

.pu-new-campus-location-campuses-intro {
	max-width: 1200px !important;
}

.pu-new-campus-location-campuses-intro .pu-new-campus-location-campuses-eyebrow {
	margin: 0 !important;
	color: #fff !important;
	font-size: 36px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.pu-new-campus-location-campuses-intro .pu-new-campus-location-campuses-heading {
	max-width: 1200px !important;
	margin: 8px 0 12px !important;
	color: #ffc800 !important;
	font-family: "Polymath Display", serif !important;
	font-size: 64px !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
}

.pu-new-campus-location-campuses-intro .pu-new-campus-location-campuses-description {
	max-width: 1200px !important;
	margin: 0 !important;
	color: #fff !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}

/* STACK: whole stack moves up via --pu-new-campus-location-campuses-stack-exit (set by JS) */
.pu-new-campus-location-campuses-stack {
	display: flow-root !important;
	width: min(1220px, 100%) !important;
	margin: 80px auto 0 !important;
	margin-bottom: calc(-1 * var(--pu-new-campus-location-campuses-runway, 100vh)) !important;
	transform: translate3d(0, var(--pu-new-campus-location-campuses-stack-exit, 0px), 0) !important;
	will-change: transform !important;
	pointer-events: none !important;
}

/* RUNWAY: keeps all cards pinned (assembled) while the stack exits.
   Pulled out of the layout by the negative margin above, so no extra empty height. */
.pu-new-campus-location-campuses-stack::after {
	content: "" !important;
	display: block !important;
	width: 100% !important;
	height: var(--pu-new-campus-location-campuses-runway, 100vh) !important;
	pointer-events: none !important;
}

.pu-new-campus-location-campus-card {
	position: sticky !important;
	top: calc(var(--pu-new-campus-location-header-offset, 150px) + (var(--pu-new-campus-location-card-index, 0) * 32px)) !important;
	z-index: var(--pu-new-campus-location-card-index, 1) !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(350px, 529px) !important;
	align-items: center !important;
	gap: 36px !important;
	width: 100% !important;
	min-height: 451px !important;
	margin: 0 0 35vh !important;
	padding: 40px !important;
	transform: none !important;
	border: 1px solid #000 !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 -24px 27.5px 0 #00000040 !important;
	color: #000 !important;
	pointer-events: auto !important;
}

.pu-new-campus-location-campus-card:nth-child(1) { --pu-new-campus-location-card-index: 0; z-index: 1 !important; }
.pu-new-campus-location-campus-card:nth-child(2) { --pu-new-campus-location-card-index: 1; z-index: 2 !important; }
.pu-new-campus-location-campus-card:nth-child(3) { --pu-new-campus-location-card-index: 2; z-index: 3 !important; }
.pu-new-campus-location-campus-card:nth-child(4) { --pu-new-campus-location-card-index: 3; z-index: 4 !important; }
.pu-new-campus-location-campus-card:nth-child(5) { --pu-new-campus-location-card-index: 4; z-index: 5 !important; }
.pu-new-campus-location-campus-card:nth-child(6) { --pu-new-campus-location-card-index: 5; z-index: 6 !important; }

.pu-new-campus-location-campus-card:last-child {
	margin-bottom: 0 !important;
}

.pu-new-campus-location-campus-content {
	min-width: 0 !important;
}

.pu-new-campus-location-campus-content .pu-new-campus-location-campus-title {
	margin: 0 0 12px !important;
	background: linear-gradient(90deg, #b53c72 0%, #5641e0 100%) !important;
	background-clip: text !important;
	-webkit-background-clip: text !important;
	color: transparent !important;
	font-family: "Polymath Display", serif !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.pu-new-campus-location-campus-content .pu-new-campus-location-campus-description {
	margin: 0 !important;
	color: #000 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
}

.pu-new-campus-location-campus-content .pu-new-campus-location-campus-facts {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 22px 28px !important;
	margin: 28px 0 22px !important;
	padding: 18px 0 !important;
	border-top: 1px solid #0000000d !important;
	border-bottom: 1px solid #0000000d !important;
}

.pu-new-campus-location-campus-fact .pu-new-campus-location-campus-fact-label {
	margin: 0 0 4px !important;
	color: #000 !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.pu-new-campus-location-campus-fact .pu-new-campus-location-campus-fact-value {
	margin: 0 !important;
	color: #0f0445 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.pu-new-campus-location-campus-content .pu-new-campus-location-campus-address {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	background: linear-gradient(90deg, #b53c72 0%, #5641e0 100%) !important;
	background-clip: text !important;
	-webkit-background-clip: text !important;
	color: transparent !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.pu-new-campus-location-campus-content .pu-new-campus-location-campus-address::before {
	width: 20px !important;
	height: 20px !important;
	flex: 0 0 20px !important;
	background: linear-gradient(90deg, #b53c72 0%, #5641e0 100%) !important;
	content: "" !important;
	mask: url("https://www.paruluniversity.ac.in/wp-content/uploads/2026/10/loaction.svg") center / contain no-repeat !important;
	-webkit-mask: url("https://www.paruluniversity.ac.in/wp-content/uploads/2026/10/loaction.svg") center / contain no-repeat !important;
}

.pu-new-campus-location-campus-card .pu-new-campus-location-campus-image {
	display: block !important;
	width: min(529px, 100%) !important;
	height: auto !important;
	aspect-ratio: 529 / 371 !important;
	border-radius: 16px !important;
	object-fit: cover !important;
}

/* TABLET */
@media screen and (max-width: 991px) and (min-width: 768px) {
	.pu-new-campus-location-campuses-section {
		--pu-new-campus-location-header-offset: 120px !important;
	}

	.pu-new-campus-location-campus-card {
		top: calc(var(--pu-new-campus-location-header-offset, 120px) + (var(--pu-new-campus-location-card-index, 0) * 24px)) !important;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 44%) !important;
		gap: 24px !important;
		min-height: 380px !important;
		padding: 28px !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-title {
		font-size: 26px !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-description {
		font-size: 14px !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-facts {
		gap: 16px 18px !important;
	}

	.pu-new-campus-location-campus-fact .pu-new-campus-location-campus-fact-label {
		font-size: 15px !important;
	}

	.pu-new-campus-location-campus-fact .pu-new-campus-location-campus-fact-value {
		font-size: 17px !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-address {
		font-size: 14px !important;
	}

	.pu-new-campus-location-campus-card:last-child {
		margin-bottom: 0 !important;
	}
}

/* MOBILE */
@media screen and (max-width: 767px) {
	.pu-new-campus-location-campuses-section {
		--pu-new-campus-location-header-offset: 100px !important; /* mobile header + top padding */
		padding: 32px 0 5vh !important;
	}

	.pu-new-campus-location-campuses-container {
		padding: 0 12px !important;
	}

	.pu-new-campus-location-campuses-intro .pu-new-campus-location-campuses-eyebrow {
		font-size: 14px !important;
		line-height: 1.4 !important;
	}

	.pu-new-campus-location-campuses-intro .pu-new-campus-location-campuses-heading {
		margin: 6px 0 10px !important;
		font-size: 32px !important;
		line-height: 1 !important;
	}

	.pu-new-campus-location-campuses-intro .pu-new-campus-location-campuses-description {
		font-size: 14px !important;
		line-height: 1.3 !important;
	}

	.pu-new-campus-location-campuses-stack {
		width: min(350.28px, 100%) !important;
		margin-top: 28px !important;
	}

	.pu-new-campus-location-campus-card {
		top: calc(var(--pu-new-campus-location-header-offset, 100px) + (var(--pu-new-campus-location-card-index, 0) * 18px)) !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
		min-height: 480px !important;
		margin-bottom: 10vh !important;
		padding: 16px !important;
		border-width: 0.3px !important;
		border-radius: 12px !important;
		box-shadow: 0 -8px 16px 0 #0000005c !important;
	}

	.pu-new-campus-location-campus-content {
		order: 2 !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-title {
		margin-bottom: 8px !important;
		font-size: 24px !important;
		line-height: 1.2 !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-description {
		font-size: 12px !important;
		line-height: 1.3 !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-facts {
		gap: 12px 16px !important;
		margin: 14px 0 12px !important;
		padding: 12px 0 !important;
	}

	.pu-new-campus-location-campus-fact .pu-new-campus-location-campus-fact-label,
	.pu-new-campus-location-campus-fact .pu-new-campus-location-campus-fact-value {
		font-size: 12px !important;
	}

	.pu-new-campus-location-campus-fact .pu-new-campus-location-campus-fact-label {
		margin-bottom: 3px !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-address {
		gap: 6px !important;
		font-size: 12px !important;
		line-height: 1 !important;
	}

	.pu-new-campus-location-campus-content .pu-new-campus-location-campus-address::before {
		width: 16px !important;
		height: 16px !important;
		flex-basis: 16px !important;
	}

	.pu-new-campus-location-campus-card .pu-new-campus-location-campus-image {
		order: 1 !important;
		width: 100% !important;
		aspect-ratio: 318.28 / 194.98 !important;
		border-radius: 12px !important;
	}

	.pu-new-campus-location-campus-card:last-child {
		margin-bottom: 0 !important;
	}
}