/* Evergreen Pitru Paksha calendar page --------------------------------- */

.pps-main--single[data-article="pitru-paksha-dates"] .pps-single-header {
	border-bottom: 1px solid var(--line);
	background:
		radial-gradient(circle at 50% -35%, rgba(217, 190, 130, .34), transparent 54%),
		linear-gradient(180deg, var(--paper) 0%, var(--ivory) 100%);
}

.pps-main--single[data-article="pitru-paksha-dates"] .pps-single-header__breadcrumb {
	display: none;
}

.pps-main--single[data-article="pitru-paksha-dates"] .pps-single-header__chips {
	margin-top: 4px;
}

.pps-main--single[data-article="pitru-paksha-dates"] .pps-single-hero-photo__box {
	box-shadow: var(--shadow-lg);
}

.pps-main--single[data-article="pitru-paksha-dates"] .pps-single-hero-photo__img {
	object-position: center 56%;
}

.pps-main--single[data-article="pitru-paksha-dates"] .pps-single-cta-card-wrap {
	display: none;
}

.pps-date-guide {
	--pp26-border: rgba(140, 102, 35, .18);
}

.pps-date-guide .pp26-opening {
	position: relative;
	margin-bottom: 52px;
	padding: clamp(28px, 5vw, 46px);
	overflow: hidden;
	border: 1px solid var(--pp26-border);
	border-radius: var(--r-xl);
	background:
		radial-gradient(circle at 100% 0, rgba(184, 137, 58, .14), transparent 38%),
		var(--paper);
	box-shadow: var(--shadow-md);
}

.pps-date-guide .pp26-opening::before {
	content: "";
	position: absolute;
	top: 0;
	left: clamp(28px, 5vw, 46px);
	right: clamp(28px, 5vw, 46px);
	height: 3px;
	border-radius: 0 0 4px 4px;
	background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.pps-date-guide .pp26-invocation {
	margin: 0 0 14px;
	font-family: var(--font-display);
	font-size: 19px;
	letter-spacing: .08em;
	text-align: center;
	color: var(--vermillion);
}

.pps-date-guide .pp26-lead {
	max-width: 610px;
	margin: 0 auto 30px;
	font-family: var(--font-display);
	font-size: clamp(23px, 3.5vw, 29px);
	line-height: 1.5;
	text-align: center;
	color: var(--ink-2);
}

.pps-date-guide .pp26-dates {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--ivory);
}

.pps-date-guide .pp26-date {
	display: flex;
	min-width: 0;
	padding: 21px 16px;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.pps-date-guide .pp26-date + .pp26-date {
	border-left: 1px solid var(--line);
}

.pps-date-guide .pp26-date--main {
	background: rgba(184, 137, 58, .08);
}

.pps-date-guide .pp26-date__label {
	font-family: var(--font-mono);
	font-size: 9px;
	line-height: 1.4;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--stone);
}

.pps-date-guide .pp26-date strong {
	margin-top: 7px;
	font-family: var(--font-display);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--ink);
}

.pps-date-guide .pp26-date > span:last-child {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--stone);
}

.pps-date-guide .pp26-note {
	max-width: 610px;
	margin: 24px auto 0;
	font-size: 14px;
	line-height: 1.65;
	text-align: center;
	color: var(--stone);
}

.pps-date-guide .pp26-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 24px;
}

.pps-date-guide a.pp26-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: var(--r-pill);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.pps-date-guide a.pp26-btn--primary {
	background: var(--ink);
	color: var(--paper);
	box-shadow: var(--shadow-md);
}

.pps-date-guide a.pp26-btn--quiet {
	border-color: var(--line);
	background: transparent;
	color: var(--ink);
}

.pps-date-guide a.pp26-btn:hover {
	transform: translateY(-1px);
}

.pps-date-guide .pp26-calendar-wrap {
	margin: 30px 0 18px;
	overflow-x: auto;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--paper);
	box-shadow: var(--shadow-sm);
	-webkit-overflow-scrolling: touch;
}

.pps-date-guide .pp26-calendar {
	display: table;
	min-width: 680px;
	margin: 0;
	border: 0;
}

.pps-date-guide .pp26-calendar th,
.pps-date-guide .pp26-calendar td {
	min-width: 0;
	padding: 15px 17px;
	border: 0;
	border-bottom: 1px solid var(--line);
}

.pps-date-guide .pp26-calendar th {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gold-deep);
}

.pps-date-guide .pp26-calendar th:first-child,
.pps-date-guide .pp26-calendar td:first-child {
	width: 142px;
	white-space: nowrap;
}

.pps-date-guide .pp26-calendar th:nth-child(2),
.pps-date-guide .pp26-calendar td:nth-child(2) {
	width: 220px;
}

.pps-date-guide .pp26-calendar tbody tr:last-child td {
	border-bottom: 0;
}

.pps-date-guide .pp26-calendar tbody tr:hover {
	background: rgba(184, 137, 58, .045);
}

.pps-date-guide .pp26-tag {
	display: inline-flex;
	margin-top: 5px;
	padding: 3px 8px;
	border-radius: var(--r-pill);
	background: rgba(166, 61, 42, .08);
	font-family: var(--font-mono);
	font-size: 8px;
	line-height: 1.4;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--vermillion);
}

.pps-date-guide .pp26-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 30px 0 36px;
}

.pps-date-guide .pp26-step {
	padding: 22px 18px;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--paper);
}

.pps-date-guide .pp26-step__number {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: .1em;
	color: var(--gold-deep);
}

.pps-date-guide .pp26-step h3 {
	margin: 10px 0 9px;
	font-size: 21px;
	line-height: 1.2;
}

.pps-date-guide .pp26-step p {
	margin: 0;
	font-size: 14px;
	line-height: 1.62;
	color: var(--ink-soft);
}

.pps-date-guide .pp26-saying {
	position: relative;
	margin: 45px 0;
	padding: 28px 30px;
	border: 0;
	border-radius: var(--r-lg);
	background: var(--ivory-2);
	text-align: center;
}

.pps-date-guide .pp26-saying::before {
	content: "॥";
	display: block;
	margin-bottom: 8px;
	font-size: 20px;
	font-style: normal;
	color: var(--gold-deep);
}

.pps-date-guide .pp26-saying p {
	font-size: clamp(22px, 3vw, 27px);
	line-height: 1.5;
}

.pps-date-guide .pp26-rite-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0 18px;
}

.pps-date-guide .pp26-rite-card {
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--paper);
}

.pps-date-guide .pp26-rite-card .pp26-rite-card__name {
	margin: 0 0 9px;
	font-family: var(--font-display);
	font-size: 25px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ink);
}

.pps-date-guide .pp26-rite-card p:last-child {
	margin: 0;
	font-size: 15px;
	line-height: 1.68;
}

.pps-date-guide .pp26-rite-note {
	padding: 16px 18px;
	border-left: 3px solid var(--gold);
	background: rgba(184, 137, 58, .07);
	font-size: 15px;
	line-height: 1.68;
}

.pps-date-guide .pp26-special-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0 12px;
}

.pps-date-guide .pp26-special {
	padding: 24px;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--paper);
}

.pps-date-guide .pp26-special__date {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--vermillion);
}

.pps-date-guide .pp26-special h3 {
	margin: 8px 0 10px;
	font-size: 25px;
}

.pps-date-guide .pp26-special p:last-child {
	margin: 0;
	font-size: 15px;
	line-height: 1.68;
}

.pps-date-guide .pp26-place-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0 16px;
}

.pps-date-guide .pp26-place {
	padding: 24px;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--paper);
}

.pps-date-guide .pp26-place h3 {
	margin: 0 0 11px;
	font-size: 27px;
}

.pps-date-guide .pp26-place p {
	margin: 0;
	font-size: 15px;
	line-height: 1.68;
}

.pps-date-guide .pp26-place p + p {
	margin-top: 13px;
}

.pps-date-guide .pp26-abroad {
	margin: 20px 0 12px;
	padding: 24px 26px;
	border: 1px solid rgba(107, 122, 90, .24);
	border-radius: var(--r-lg);
	background: rgba(107, 122, 90, .08);
}

.pps-date-guide .pp26-abroad h3 {
	margin: 0 0 8px;
	font-size: 24px;
}

.pps-date-guide .pp26-abroad p {
	margin: 0;
	font-size: 15px;
	line-height: 1.68;
}

.pps-date-guide .pp26-city-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 30px 0 18px;
}

.pps-date-guide .pp26-city {
	display: flex;
	min-width: 0;
	padding: 22px 18px;
	flex-direction: column;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--paper);
}

.pps-date-guide .pp26-city__mark {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	background: rgba(184, 137, 58, .1);
	font-family: var(--font-display);
	font-size: 17px;
	color: var(--gold-deep);
}

.pps-date-guide .pp26-city h3 {
	margin: 14px 0 8px;
	font-size: 27px;
}

.pps-date-guide .pp26-city p {
	margin: 0;
	font-size: 14px;
	line-height: 1.62;
}

.pps-date-guide .pp26-city .pp26-city__price {
	margin-top: 15px;
	font-weight: 650;
	color: var(--ink);
}

.pps-date-guide .pp26-city > a {
	margin-top: auto;
	padding-top: 16px;
	font-size: 13px;
	font-weight: 650;
}

.pps-date-guide .pp26-fineprint {
	font-size: 13px;
	line-height: 1.7;
	color: var(--stone);
}

.pps-date-guide .pp26-ready {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 26px 0 10px;
	padding: 26px 28px;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--paper);
}

.pps-date-guide .pp26-ready ul {
	margin: 0;
}

.pps-date-guide .pp26-ready li {
	font-size: 15px;
}

.pps-date-guide .pp26-conduct {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 26px 0 20px;
	padding: 26px 28px;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--paper);
}

.pps-date-guide .pp26-conduct ul {
	margin: 0;
}

.pps-date-guide .pp26-conduct li {
	font-size: 15px;
}

.pps-date-guide .pp26-contact {
	margin: 54px 0;
	padding: clamp(30px, 6vw, 48px);
	border-radius: var(--r-xl);
	background:
		radial-gradient(circle at 100% 0, rgba(217, 190, 130, .17), transparent 42%),
		var(--ink);
	box-shadow: var(--shadow-lg);
	text-align: center;
}

.pps-date-guide .pp26-contact__eyebrow {
	margin: 0 0 9px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--gold-soft);
}

.pps-date-guide .pp26-contact h2 {
	margin: 0;
	font-size: clamp(32px, 5vw, 43px);
	color: var(--paper);
}

.pps-date-guide .pp26-contact > p:not(.pp26-contact__eyebrow):not(.pp26-contact__other) {
	max-width: 560px;
	margin: 14px auto 0;
	font-size: 16px;
	line-height: 1.7;
	color: var(--stone-2);
}

.pps-date-guide .pp26-contact__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 24px;
}

.pps-date-guide .pp26-contact__actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 18px;
	border-radius: var(--r-pill);
	background: var(--paper);
	font-size: 13px;
	font-weight: 650;
	color: var(--ink);
	text-decoration: none;
}

.pps-date-guide .pp26-contact .pp26-contact__other {
	margin: 20px 0 0;
	font-size: 12px;
	line-height: 1.65;
	color: var(--stone-2);
}

.pps-date-guide .pp26-contact__other a {
	color: var(--gold-soft);
}

.pps-date-guide .pp26-faq {
	margin-top: 28px;
	border-top: 1px solid var(--line);
}

.pps-date-guide .pp26-faq details {
	border-bottom: 1px solid var(--line);
}

.pps-date-guide .pp26-faq summary {
	position: relative;
	padding: 21px 42px 21px 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--font-display);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ink);
}

.pps-date-guide .pp26-faq summary::-webkit-details-marker {
	display: none;
}

.pps-date-guide .pp26-faq summary::after {
	content: "+";
	position: absolute;
	top: 19px;
	right: 4px;
	font-family: var(--font-body);
	font-size: 22px;
	font-weight: 400;
	color: var(--gold-deep);
}

.pps-date-guide .pp26-faq details[open] summary::after {
	content: "−";
}

.pps-date-guide .pp26-faq details p {
	margin: -3px 38px 21px 0;
	font-size: 16px;
	line-height: 1.72;
}

@media (max-width: 720px) {
	.pps-date-guide .pp26-opening {
		padding: 28px 20px;
		border-radius: var(--r-lg);
	}

	.pps-date-guide .pp26-dates {
		grid-template-columns: 1fr;
	}

	.pps-date-guide .pp26-date + .pp26-date {
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.pps-date-guide .pp26-steps,
	.pps-date-guide .pp26-rite-grid,
	.pps-date-guide .pp26-special-grid,
	.pps-date-guide .pp26-place-grid,
	.pps-date-guide .pp26-city-grid,
	.pps-date-guide .pp26-ready,
	.pps-date-guide .pp26-conduct {
		grid-template-columns: 1fr;
	}

	.pps-date-guide .pp26-step,
	.pps-date-guide .pp26-rite-card,
	.pps-date-guide .pp26-special,
	.pps-date-guide .pp26-place,
	.pps-date-guide .pp26-city {
		padding: 20px;
	}

	.pps-date-guide .pp26-ready,
	.pps-date-guide .pp26-conduct {
		gap: 0;
		padding: 22px;
	}

	.pps-date-guide .pp26-ready ul + ul,
	.pps-date-guide .pp26-conduct ul + ul {
		margin-top: 10px;
	}

	.pps-date-guide .pp26-contact {
		margin-inline: -4px;
		padding: 30px 20px;
		border-radius: var(--r-lg);
	}

	.pps-date-guide .pp26-contact__actions {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pps-date-guide a.pp26-btn:hover {
		transform: none;
	}
}

@media print {
	.pps-date-guide .pp26-actions,
	.pps-date-guide .pp26-contact {
		display: none;
	}

	.pps-date-guide .pp26-calendar-wrap {
		overflow: visible;
	}
}
