/*
 * Prayag Pandits — New Zealand Pitru Paksha route.
 * Country-specific additions only; shared NRI components remain authoritative.
 */

body.nnz-route {
	--ppn-text-muted: #68615a;
}

body.nnz-route .ppn-fab,
body.nnz-route .ppn-footer-form,
body.nnz-route #ppnFcBtn,
body.nnz-route > .ppn-currency-router--automatic {
	display: none !important;
}

.nnz-route .npd-section-head--split > p,
.nnz-route .npd-section-head__aside > p,
.nnz-route .npd-section-head--center > p:last-child {
	font-size: 0.98rem;
	line-height: 1.68;
}

.nnz-route .nza-hero-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-inline: 4px;
	font-family: var(--ppn-font-heading);
	font-size: var(--ppn-text-xs);
	font-weight: 700;
	line-height: 1.3;
	color: var(--ppn-maroon);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.nnz-route .nza-hero-link:hover {
	color: var(--ppn-maroon-hover);
}

.nnz-route .nza-payment-next {
	display: block;
	max-width: 560px;
	margin-top: 3px;
	font-family: var(--ppn-font-body);
	font-size: var(--ppn-text-2xs);
	line-height: 1.55;
	color: var(--ppn-text-muted);
}

.nnz-route .npd-faq__group-title {
	margin: 24px 0 0;
	padding: 12px 0 10px;
	border-bottom: 1px solid var(--ppn-border);
	font-family: var(--ppn-font-heading);
	font-size: var(--ppn-text-2xs);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ppn-saffron-deep);
}

.nnz-route .npd-faq__group-title:first-child {
	margin-top: 0;
}

.nza-dates {
	background: var(--ppn-white);
}

.nza-date-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 20px;
}

.nza-date-card {
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--ppn-border);
	border-radius: var(--ppn-radius-lg);
	background: var(--ppn-white);
	box-shadow: var(--ppn-shadow-sm);
}

.nza-date-card h3 {
	margin: 0;
	padding: 15px 18px;
	border-bottom: 1px solid var(--ppn-border);
	background: var(--ppn-bg-cream);
	font-family: var(--ppn-font-heading);
	font-size: var(--ppn-text-base);
	font-weight: 700;
	line-height: 1.35;
	color: var(--ppn-charcoal);
}

.nza-date-card ul {
	padding: 6px 18px;
	margin: 0;
	list-style: none;
}

.nza-date-card li {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-height: 42px;
	padding: 8px 0;
	border-bottom: 1px solid var(--ppn-border-light, var(--ppn-border));
}

.nza-date-card li:last-child {
	border-bottom: 0;
}

.nza-date-card time {
	font-family: var(--ppn-font-heading);
	font-size: var(--ppn-text-xs);
	font-weight: 700;
	line-height: 1.35;
	color: var(--ppn-charcoal);
}

.nza-date-card li > span {
	font-family: var(--ppn-font-body);
	font-size: var(--ppn-text-xs);
	line-height: 1.45;
	color: var(--ppn-text-muted);
}

.nza-date-card li.is-key-date time,
.nza-date-card li.is-key-date > span {
	color: var(--ppn-maroon);
}

.nza-date-card li.is-key-date time::before {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 7px 1px 0;
	border-radius: var(--ppn-radius-circle);
	background: var(--ppn-saffron);
	content: "";
}

.nza-date-note {
	max-width: 880px;
	margin: 18px 0 0;
	font-family: var(--ppn-font-body);
	font-size: var(--ppn-text-xs);
	line-height: 1.65;
	color: var(--ppn-text-muted);
}

.nza-date-note a,
.nza-card-link,
.nza-rites__footer a {
	font-weight: 700;
	color: var(--ppn-maroon);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.nza-calendar-guidance {
	padding: clamp(24px, 3vw, 34px);
	border: 1px solid var(--ppn-border);
	border-left: 4px solid var(--ppn-saffron);
	border-radius: var(--ppn-radius-lg);
	background: var(--ppn-bg-cream);
}

.nza-calendar-guidance h3 {
	margin: 8px 0 10px;
	font-family: var(--ppn-font-heading);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
	line-height: 1.35;
	color: var(--ppn-charcoal);
}

.nza-calendar-guidance > p:last-child {
	margin: 0;
	font-family: var(--ppn-font-body);
	font-size: var(--ppn-text-base);
	line-height: 1.7;
	color: var(--ppn-text-muted);
}

.nza-paths {
	background: var(--ppn-bg-warm);
	border-block: 1px solid var(--ppn-border);
}

.nza-paths__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 980px;
	margin-inline: auto;
}

.nza-paths__grid article {
	position: relative;
	padding: clamp(24px, 3vw, 34px);
	border: 1px solid var(--ppn-border);
	border-radius: var(--ppn-radius-lg);
	background: var(--ppn-white);
	box-shadow: var(--ppn-shadow-sm);
}

.nza-paths__grid article.nza-paths__primary {
	border-color: var(--ppn-saffron);
}

.nza-paths__icon {
	width: 44px;
	height: 44px;
	margin-bottom: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--ppn-radius-circle);
	background: var(--ppn-bg-cream);
	color: var(--ppn-maroon);
}

.nza-paths__icon svg {
	width: 21px;
	height: 21px;
}

.nza-paths__grid h3 {
	margin: 0 0 10px;
	font-family: var(--ppn-font-heading);
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--ppn-charcoal);
}

.nza-paths__grid article > p:not(.npd-eyebrow) {
	margin: 0;
	font-family: var(--ppn-font-body);
	font-size: var(--ppn-text-base);
	line-height: 1.7;
	color: var(--ppn-text-muted);
}

.nza-paths__grid .npd-button {
	margin-top: 20px;
}

.nza-card-link {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-top: 18px;
	font-family: var(--ppn-font-heading);
	font-size: var(--ppn-text-xs);
	line-height: 1.4;
}

.nza-card-link svg {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.nza-scripture {
	background: var(--ppn-white);
}

.nza-scripture__inner {
	max-width: 920px;
	padding: clamp(26px, 4vw, 40px);
	margin-inline: auto;
	border: 1px solid var(--ppn-border);
	border-left: 4px solid var(--ppn-saffron);
	border-radius: var(--ppn-radius-lg);
	background: var(--ppn-bg-cream);
}

.nza-scripture__inner h2 {
	margin: 8px 0 12px;
	font-family: var(--ppn-font-heading);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	line-height: 1.25;
	color: var(--ppn-charcoal);
}

.nza-scripture__inner > p:not(.npd-eyebrow) {
	margin: 0;
	font-family: var(--ppn-font-body);
	font-size: clamp(1rem, 1.7vw, 1.1rem);
	line-height: 1.75;
	color: var(--ppn-text);
}

.nza-scripture__inner small {
	display: block;
	margin-top: 14px;
	font-family: var(--ppn-font-heading);
	font-size: var(--ppn-text-2xs, 0.75rem);
	line-height: 1.55;
	color: var(--ppn-text-muted);
}

.nza-rites {
	background: var(--ppn-bg-cream);
	border-block: 1px solid var(--ppn-border);
}

.nza-rites__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	max-width: 980px;
	margin-inline: auto;
}

.nza-rites__grid article,
.nza-process__grid article {
	padding: 24px;
	border: 1px solid var(--ppn-border);
	border-radius: var(--ppn-radius-lg);
	background: var(--ppn-white);
	box-shadow: var(--ppn-shadow-sm);
}

.nza-rites__grid article.nza-rites__primary {
	border-color: var(--ppn-saffron);
}

.nza-rites__icon,
.nza-process__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 16px;
	border-radius: var(--ppn-radius-circle);
	background: var(--ppn-bg-cream);
	color: var(--ppn-maroon);
}

.nza-rites__grid h3,
.nza-process__grid h3 {
	margin: 0 0 9px;
	font-family: var(--ppn-font-heading);
	font-size: clamp(1rem, 1.6vw, 1.16rem);
	line-height: 1.35;
	color: var(--ppn-charcoal);
}

.nza-rites__grid article > p,
.nza-process__grid article > p {
	margin: 0;
	font-family: var(--ppn-font-body);
	font-size: var(--ppn-text-base);
	line-height: 1.65;
	color: var(--ppn-text-muted);
}

.nza-rites__footer,
.nza-process__note {
	max-width: 860px;
	margin: 20px auto 0;
	font-family: var(--ppn-font-body);
	font-size: var(--ppn-text-sm);
	line-height: 1.65;
	text-align: center;
	color: var(--ppn-text-muted);
}

.nza-process {
	background: var(--ppn-white);
}

.nza-process__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width: 1080px) {
	.nza-process__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 920px) {
	.nnz-route .npd-guide__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.nnz-route .npd-guide__layout > aside {
		position: relative;
		top: auto;
		width: 100%;
		min-width: 0;
	}

	.nnz-route .npd-guide__layout > aside::after {
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: 46px;
		height: 42px;
		padding-right: 2px;
		background: linear-gradient(90deg, transparent, var(--ppn-bg-cream) 68%);
		font-family: var(--ppn-font-heading);
		font-size: 1rem;
		font-weight: 700;
		color: var(--ppn-saffron-deep);
		content: "→";
		pointer-events: none;
	}

	.nnz-route .npd-guide__layout > aside nav {
		padding-right: 46px;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline: 4px;
		scroll-snap-type: x proximity;
	}

	.nnz-route .npd-guide__layout > aside nav a {
		scroll-snap-align: start;
	}

	.nnz-route .npd-guide__article {
		width: 100%;
		min-width: 0;
	}
}

@media (min-width: 801px) and (max-width: 920px) {
	.nnz-route .npd-guide__layout > aside::after {
		display: none;
	}

	.nnz-route .npd-guide__layout > aside nav {
		padding-right: 0;
	}
}

@media (max-width: 768px) {
	.nza-date-grid,
	.nza-paths__grid,
	.nza-rites__grid {
		grid-template-columns: 1fr;
	}

	.nza-date-grid {
		max-width: 680px;
	}

	.nza-process__grid {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 560px) {
	.nnz-route .npd-season__inner {
		min-height: 58px;
		padding-block: 7px;
		flex-direction: column;
		gap: 3px;
		text-align: center;
	}

	.nnz-route .npd-season__inner p,
	.nnz-route .npd-season__inner a {
		width: 100%;
		justify-content: center;
		white-space: normal;
	}

	.nnz-route .nza-hero-link {
		width: 100%;
		justify-content: center;
	}

	.nza-date-card ul {
		padding-inline: 14px;
	}

	.nza-date-card li {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.nza-date-card li.is-key-date time::before {
		display: none;
	}

	.nza-paths__grid article {
		padding: 22px;
	}

	.nza-process__grid {
		grid-template-columns: 1fr;
	}

	.nza-rites__grid article,
	.nza-process__grid article,
	.nza-calendar-guidance {
		padding: 20px;
	}

}
