.slcb,
.slcb * {
	box-sizing: border-box;
}

.slcb {
	--ink: #302633;
	--muted: #706573;
	--plum: #6f315d;
	--deep: #361c39;
	--gold: #d5a14a;
	--paper: #fffdf9;
	--border: rgba(72,48,70,.15);

	max-width: 1380px;
	margin: 1rem auto 4rem;
	color: var(--ink);
	font-family: inherit;
}

.slcb-hero {
	padding: clamp(1.5rem,5vw,3.6rem);
	border-radius: 28px;
	color: #fff;
	background:
		radial-gradient(circle at 15% 10%,rgba(223,164,91,.31),transparent 34%),
		radial-gradient(circle at 90% 85%,rgba(166,103,167,.32),transparent 36%),
		linear-gradient(135deg,#2d1833,#633053 55%,#41203f);
	box-shadow: 0 24px 65px rgba(50,25,48,.2);
}

.slcb-hero h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(2rem,6vw,4rem);
	line-height: 1.05;
}

.slcb-hero > p:not(.slcb-eyebrow) {
	max-width: 850px;
	color: rgba(255,255,255,.82);
	font-size: 1rem;
}

.slcb-eyebrow,
.slcb-preview-label,
.slcb-month-context {
	margin: 0 0 .5rem;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.slcb-privacy {
	display: grid;
	gap: .2rem;
	margin-top: 1.5rem;
	padding: 1rem;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 14px;
	background: rgba(255,255,255,.08);
}

.slcb-privacy span {
	color: rgba(255,255,255,.76);
	font-size: .8rem;
}

.slcb-workspace {
	display: grid;
	grid-template-columns: minmax(320px,390px) minmax(0,1fr);
	gap: 1.25rem;
	margin-top: 1.25rem;
	align-items: start;
}

.slcb-controls {
	display: grid;
	gap: 1rem;
}

.slcb-panel,
.slcb-preview {
	padding: 1.2rem;
	border: 1px solid var(--border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 32px rgba(56,34,54,.07);
}

.slcb-panel h3,
.slcb-panel summary {
	color: var(--deep);
	font-weight: 800;
}

.slcb-panel summary {
	cursor: pointer;
}

.slcb-panel-body {
	margin-top: 1rem;
}

.slcb label {
	display: grid;
	gap: .3rem;
	color: var(--deep);
	font-size: .76rem;
	font-weight: 750;
}

.slcb input,
.slcb textarea {
	width: 100%;
	padding: .65rem .7rem;
	border: 1px solid var(--border);
	border-radius: 8px;
	color: var(--ink);
	background: #fff;
	font: inherit;
	font-size: .82rem;
}

.slcb input:focus,
.slcb textarea:focus,
.slcb button:focus-visible,
.slcb summary:focus-visible,
.slcb a:focus-visible {
	outline: 3px solid rgba(213,161,74,.55);
	outline-offset: 2px;
}

.slcb-field-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .65rem;
}

.slcb-button-group,
.slcb-print-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
}

.slcb-button {
	display: inline-flex;
	min-height: 2.6rem;
	align-items: center;
	justify-content: center;
	padding: .55rem .9rem;
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--deep);
	background: #f6f0f4;
	font: inherit;
	font-size: .76rem;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.slcb-button:hover:not(:disabled) {
	transform: translateY(-1px);
	background: #eee3ea;
}

.slcb-button:disabled {
	opacity: .45;
	cursor: not-allowed;
}

.slcb-button--primary {
	border-color: var(--plum);
	color: #fff;
	background: var(--plum);
}

.slcb-button--secondary {
	color: var(--plum);
	background: #fff;
}

.slcb-button--danger {
	color: #8d2929;
	background: #f9eaea;
}

.slcb-button--donate {
	color: #fff;
	background: #9b3e69;
}

.slcb-status {
	margin-top: .85rem;
	padding: .75rem;
	border-radius: 9px;
	font-size: .78rem;
	background: #f4eff5;
}

.slcb-status[data-kind=error] {
	color: #742c2c;
	background: #fae7e7;
}

.slcb-status[data-kind=success] {
	color: #245c48;
	background: #e1f1ea;
}

.slcb-editor-section {
	margin-top: .8rem;
	padding: .75rem;
	border: 1px solid var(--border);
	border-radius: 10px;
}

.slcb-theme-editor,
.slcb-rule-editor {
	display: grid;
	gap: .55rem;
	padding: .75rem 0;
	border-bottom: 1px solid var(--border);
}

.slcb-theme-editor:last-child,
.slcb-rule-editor:last-child {
	border-bottom: 0;
}

.slcb-editor-field {
	font-size: .66rem !important;
}

.slcb-rule-name {
	color: var(--plum);
}

.slcb-preview {
	min-width: 0;
}

.slcb-preview-toolbar {
	display: grid;
	grid-template-columns: auto minmax(0,1fr) auto;
	align-items: center;
	gap: .8rem;
	margin-bottom: .85rem;
	text-align: center;
}

.slcb-preview-toolbar h3 {
	margin: 0;
	color: var(--deep);
}

.slcb-print-buttons {
	justify-content: center;
	margin-bottom: 1rem;
}

.slcb-month {
	padding: clamp(1rem,2.5vw,1.6rem);
	border-radius: 22px;
	background:
		radial-gradient(circle at 100% 0%,rgba(181,119,157,.12),transparent 30%),
		linear-gradient(145deg,#f7f1f5,#f5f0e9);
}

.slcb-month-heading {
	margin-bottom: 1rem;
	text-align: center;
}

.slcb-month-heading h2 {
	margin: 0;
	color: var(--deep);
	font-size: clamp(1.7rem,4vw,2.7rem);
}

.slcb-month-heading p {
	margin: .25rem auto;
	max-width: 850px;
	color: var(--muted);
}

.slcb-custom-calendar-title {
	color: var(--plum) !important;
	font-weight: 800;
}

.slcb-month-grid {
	display: grid;
	grid-template-columns: repeat(7,minmax(0,1fr));
	gap: .55rem;
	align-items: start;
}

.slcb-weekday {
	padding: .45rem;
	border-radius: 7px;
	color: #fff;
	background: #654761;
	font-size: .67rem;
	font-weight: 800;
	text-align: center;
}

.slcb-day {
	--slcb-theme: #6f315d;
	--slcb-focus: #6f315d;

	display: grid;
	gap: .6rem;
	min-width: 0;
	padding: .72rem;
	border: 1px solid var(--border);
	border-top: 4px solid var(--slcb-theme);
	border-radius: 13px;
	background: var(--paper);
	box-shadow: 0 7px 20px rgba(56,34,54,.065);
}

.slcb-day.is-anchor {
	outline: 3px solid rgba(213,161,74,.55);
	outline-offset: 2px;
}

.slcb-day-top,
.slcb-tithi-row {
	display: flex;
	justify-content: space-between;
	gap: .4rem;
}

.slcb-day-weekday {
	display: block;
	color: var(--muted);
	font-size: .61rem;
	font-weight: 800;
	text-transform: uppercase;
}

.slcb-day-moon {
	font-size: 1.3rem;
}

.slcb-tithi-row {
	align-items: flex-start;
}

.slcb-tithi-row h3 {
	margin: 0;
	color: var(--deep);
	font-size: .96rem;
}

.slcb-tithi-row span {
	color: var(--muted);
	font-size: .56rem;
	text-align: right;
}

.slcb-focus {
	display: grid;
	grid-template-columns: 1.7rem minmax(0,1fr);
	gap: .35rem .5rem;
	padding: .55rem;
	border-radius: 9px;
	background: rgba(90,60,85,.055);
}

.slcb-focus-icon {
	display: flex;
	width: 1.7rem;
	height: 1.7rem;
	grid-row: span 2;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: var(--slcb-focus);
	font-size: .78rem;
}

.slcb-focus strong {
	font-size: .72rem;
	line-height: 1.2;
}

.slcb-focus p {
	margin: 0;
	color: var(--muted);
	font-size: .59rem;
	line-height: 1.35;
}

.slcb-day-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
}

.slcb-day-meta span {
	padding: .2rem .35rem;
	border-radius: 5px;
	color: var(--muted);
	background: rgba(90,60,85,.055);
	font-size: .53rem;
}

.slcb-day-footer {
	display: grid;
	gap: .1rem;
	color: var(--muted);
	font-size: .55rem;
}

.slcb-kshaya {
	padding: .45rem;
	border-radius: 7px;
	color: #6c3c16;
	background: #faead7;
	font-size: .55rem;
}

.slcb-donation {
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid rgba(155,62,105,.25);
	border-radius: 13px;
	text-align: center;
	background: #faf0f5;
}

.slcb-donation p {
	margin-top: 0;
}

.slcb-print-root {
	display: none;
}

@media (max-width: 1100px) {
	.slcb-workspace {
		grid-template-columns: 1fr;
	}

	.slcb-month-grid {
		grid-template-columns: repeat(4,minmax(0,1fr));
	}

	.slcb-weekday,
	.slcb-spacer {
		display: none;
	}
}

@media (max-width: 720px) {
	.slcb {
		margin-top: .5rem;
	}

	.slcb-hero {
		padding: 1.35rem 1rem;
		border-radius: 20px;
	}

	.slcb-field-grid {
		grid-template-columns: 1fr;
	}

	.slcb-preview-toolbar {
		grid-template-columns: 1fr 1fr;
	}

	.slcb-preview-toolbar > div {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.slcb-month-grid {
		grid-template-columns: 1fr;
	}

	.slcb-button-group,
	.slcb-print-buttons {
		display: grid;
		grid-template-columns: 1fr;
	}

	.slcb-button {
		width: 100%;
	}
}

@media print {
	@page {
		size: A4 landscape;
		margin: 8mm;
	}

	body.slcb-printing * {
		visibility: hidden !important;
	}

	body.slcb-printing .slcb-print-root,
	body.slcb-printing .slcb-print-root * {
		visibility: visible !important;
	}

	body.slcb-printing .slcb-print-root {
		display: block !important;
		position: absolute;
		inset: 0;
		width: 100%;
	}

	.slcb-print-month {
		break-after: page;
		padding: 0;
		border-radius: 0;
		background: #fff;
	}

	.slcb-print-month:last-of-type {
		break-after: auto;
	}

	.slcb-print-root .slcb-month-grid {
		grid-template-columns: repeat(7,minmax(0,1fr));
		gap: 2.5mm;
	}

	.slcb-print-root .slcb-weekday {
		display: block;
		padding: 2mm;
	}

	.slcb-print-root .slcb-spacer {
		display: block;
	}

	.slcb-print-root .slcb-day {
		padding: 2.2mm;
		break-inside: avoid;
		box-shadow: none;
	}

	.slcb-print-root .slcb-focus p {
		font-size: 5.5pt;
	}

	.slcb-print-root .slcb-day-meta span,
	.slcb-print-root .slcb-day-footer {
		font-size: 5pt;
	}

	.slcb-donation--print {
		break-inside: avoid;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slcb *,
	.slcb *::before,
	.slcb *::after {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

/* Shakta Builder 2.0.1 professional layout */

.slcb [hidden] {
	display: none !important;
}

/* Controls now occupy the full width above the preview. */
.slcb-workspace {
	display: block;
}

.slcb-controls {
	display: grid;
	grid-template-columns:
		minmax(290px, .85fr)
		minmax(420px, 1.45fr)
		minmax(250px, .7fr);
	gap: 1rem;
	align-items: start;
}

.slcb-controls > * {
	min-width: 0;
}

.slcb-preview {
	width: 100%;
	min-width: 0;
	margin-top: 1.25rem;
}

.slcb-preview-toolbar {
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}

/* Keep content inside every card. */
.slcb-day,
.slcb-day * {
	min-width: 0;
}

.slcb-day {
	overflow: hidden;
}

.slcb-focus strong,
.slcb-focus p,
.slcb-day-meta span,
.slcb-tithi-row h3,
.slcb-tithi-row span {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
}

.slcb-tithi-row {
	flex-wrap: wrap;
}

.slcb-focus {
	grid-template-columns: 1.55rem minmax(0, 1fr);
	padding: .5rem;
}

.slcb-focus-icon {
	width: 1.55rem;
	height: 1.55rem;
}

.slcb-month-grid {
	width: 100%;
}

/* Preserve the weekday grid when there is genuinely enough room. */
@media (min-width: 901px) {
	.slcb-month-grid {
		grid-template-columns: repeat(7, minmax(0, 1fr));
	}

	.slcb-weekday,
	.slcb-spacer {
		display: block;
	}
}

@media (max-width: 1150px) {
	.slcb-controls {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 721px) and (max-width: 900px) {
	.slcb-month-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.slcb-weekday,
	.slcb-spacer {
		display: none;
	}
}

/* Reliable paged PDF output. */
@media print {
	@page {
		size: A4 landscape;
		margin: 8mm;
	}

	html,
	body.slcb-printing {
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}

	body.slcb-printing > *:not(.slcb-print-root--active) {
		display: none !important;
	}

	body.slcb-printing > .slcb-print-root--active {
		display: block !important;
		position: static !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		visibility: visible !important;
	}

	body.slcb-printing > .slcb-print-root--active,
	body.slcb-printing > .slcb-print-root--active * {
		visibility: visible !important;
	}

	.slcb-print-root--active .slcb-print-month {
		position: relative;
		display: block;
		width: 100%;
		height: 194mm;
		margin: 0;
		padding: 0 0 7mm;
		overflow: hidden;
		border: 0;
		border-radius: 0;
		background: #fff;
		break-after: page;
		page-break-after: always;
	}

	.slcb-print-root--active .slcb-print-month:last-of-type {
		break-after: auto;
		page-break-after: auto;
	}

	.slcb-print-root--active .slcb-month-heading {
		height: 23mm;
		margin: 0 0 2mm;
		overflow: hidden;
	}

	.slcb-print-root--active .slcb-month-heading h2 {
		margin: 0;
		font-size: 16pt;
		line-height: 1.1;
	}

	.slcb-print-root--active .slcb-month-heading p {
		margin: .5mm auto;
		font-size: 6.5pt;
		line-height: 1.2;
	}

	.slcb-print-root--active .slcb-custom-calendar-title {
		font-size: 8pt !important;
	}

	.slcb-print-root--active .slcb-custom-introduction {
		max-height: 7mm;
		overflow: hidden;
	}

	.slcb-print-root--active .slcb-month-grid {
		display: grid;
		height: 162mm;
		grid-template-columns: repeat(7, minmax(0, 1fr));
		grid-template-rows: 5mm repeat(6, minmax(0, 1fr));
		gap: 1.2mm;
	}

	.slcb-print-root--active .slcb-weekday {
		display: block;
		padding: .8mm;
		border-radius: 1mm;
		font-size: 5.5pt;
		line-height: 1.1;
	}

	.slcb-print-root--active .slcb-spacer {
		display: block;
	}

	.slcb-print-root--active .slcb-day {
		display: grid;
		align-content: start;
		gap: .7mm;
		height: auto;
		min-height: 0;
		padding: 1.2mm;
		overflow: hidden;
		border-width: .3mm;
		border-top-width: 1mm;
		border-radius: 1.5mm;
		box-shadow: none;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.slcb-print-root--active .slcb-day-top,
	.slcb-print-root--active .slcb-tithi-row {
		gap: .5mm;
	}

	.slcb-print-root--active .slcb-day-weekday,
	.slcb-print-root--active .slcb-day-top strong {
		font-size: 5.5pt;
	}

	.slcb-print-root--active .slcb-day-moon {
		font-size: 9pt;
	}

	.slcb-print-root--active .slcb-tithi-row h3 {
		font-size: 7pt;
		line-height: 1;
	}

	.slcb-print-root--active .slcb-tithi-row span {
		font-size: 4.5pt;
	}

	.slcb-print-root--active .slcb-focus {
		grid-template-columns: 5mm minmax(0, 1fr);
		gap: .6mm;
		padding: .8mm;
		border-radius: 1mm;
	}

	.slcb-print-root--active .slcb-focus-icon {
		width: 5mm;
		height: 5mm;
		font-size: 6pt;
	}

	.slcb-print-root--active .slcb-focus strong {
		font-size: 5.5pt;
		line-height: 1.1;
	}

	/* Descriptions remain available on-screen but are omitted
	   from the compact one-month-per-page print version. */
	.slcb-print-root--active .slcb-focus p {
		display: none;
	}

	.slcb-print-root--active .slcb-day-meta {
		gap: .5mm;
	}

	.slcb-print-root--active .slcb-day-meta span {
		padding: .4mm;
		font-size: 4.2pt;
		line-height: 1;
	}

	.slcb-print-root--active .slcb-day-footer {
		gap: 0;
		font-size: 4.2pt;
		line-height: 1.05;
	}

	.slcb-print-root--active .slcb-kshaya {
		padding: .7mm;
		font-size: 4.2pt;
	}

	.slcb-print-root--active .slcb-donation--print {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		height: 5mm;
		align-items: center;
		justify-content: center;
		gap: 2mm;
		margin: 0;
		padding: 0;
		border: 0;
		border-top: .2mm solid #d9c5d1;
		border-radius: 0;
		font-size: 5pt;
		background: #fff;
	}

	.slcb-print-root--active .slcb-donation--print p {
		margin: 0;
	}

	.slcb-print-root--active .slcb-donation--print .slcb-button {
		min-height: 0;
		padding: 0;
		border: 0;
		color: #6f315d;
		background: transparent;
		font-size: 5pt;
	}
}

/* Shakta Builder 2.0.2 paksha print layout */

@media print {
	@page {
		size: A4 landscape;
		margin: 8mm;
	}

	.slcb-print-root--active .slcb-print-paksha-page {
		position: relative;
		display: grid;
		width: 100%;
		height: 194mm;
		grid-template-rows: 32mm minmax(0, 1fr) 12mm;
		gap: 2mm;
		margin: 0;
		padding: 0;
		overflow: hidden;
		color: #302633;
		background: #fff;
		break-after: page;
		page-break-after: always;
	}

	.slcb-print-root--active .slcb-print-paksha-page:last-child {
		break-after: auto;
		page-break-after: auto;
	}

	.slcb-print-header {
		display: grid;
		align-content: start;
		justify-items: center;
		min-height: 0;
		padding: 1.5mm 4mm 2mm;
		overflow: hidden;
		border-bottom: .45mm solid #6f315d;
		text-align: center;
	}

	.slcb-print-calendar-title {
		margin: 0 0 .4mm;
		color: #6f315d;
		font-size: 7pt;
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	.slcb-print-context {
		margin: 0;
		color: #706573;
		font-size: 5.5pt;
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	.slcb-print-header h1 {
		margin: 0;
		color: #361c39;
		font-size: 16pt;
		line-height: 1.05;
	}

	.slcb-print-header h2 {
		margin: .7mm 0 0;
		color: #6f315d;
		font-size: 9pt;
		line-height: 1.1;
	}

	.slcb-print-header-meta {
		margin: .7mm 0 0;
		color: #706573;
		font-size: 5.8pt;
		line-height: 1.1;
	}

	.slcb-print-introduction {
		max-width: 235mm;
		max-height: 6mm;
		margin: .8mm 0 0;
		overflow: hidden;
		color: #514653;
		font-size: 5.5pt;
		line-height: 1.15;
	}

	.slcb-print-root--active .slcb-print-paksha-grid {
		display: grid;
		width: 100%;
		height: 100%;
		min-height: 0;
		grid-template-columns: repeat(7, minmax(0, 1fr));
		grid-template-rows: 7mm repeat(4, minmax(0, 1fr));
		gap: 1.7mm;
		align-items: stretch;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-weekday {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border-radius: 1.2mm;
		color: #fff;
		background: #654761;
		font-size: 6.5pt;
		font-weight: 800;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-spacer {
		display: block;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day {
		display: grid;
		align-content: start;
		gap: 1.1mm;
		height: auto;
		min-height: 0;
		padding: 1.8mm;
		overflow: hidden;
		border: .25mm solid rgba(72,48,70,.2);
		border-top: 1.2mm solid var(--slcb-theme);
		border-radius: 1.8mm;
		background: #fffdf9;
		box-shadow: none;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-top {
		align-items: flex-start;
		gap: 1mm;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-weekday {
		font-size: 5.5pt;
		line-height: 1;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-top strong {
		font-size: 7pt;
		line-height: 1.1;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-moon {
		font-size: 12pt;
		line-height: 1;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-tithi-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		gap: 1mm;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-tithi-row h3 {
		margin: 0;
		font-size: 8pt;
		line-height: 1.05;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-tithi-row span {
		font-size: 5pt;
		line-height: 1.15;
		text-align: right;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-focus {
		display: grid;
		grid-template-columns: 7mm minmax(0, 1fr);
		gap: .6mm 1.2mm;
		padding: 1.3mm;
		border-radius: 1.2mm;
		background: rgba(90,60,85,.055);
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-focus-icon {
		display: flex;
		width: 7mm;
		height: 7mm;
		grid-row: span 2;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		font-size: 8pt;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-focus strong {
		font-size: 7pt;
		line-height: 1.1;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-focus p {
		display: block;
		margin: 0;
		overflow: hidden;
		font-size: 5.5pt;
		line-height: 1.2;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-meta {
		display: flex;
		flex-wrap: wrap;
		gap: .7mm;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-meta span {
		padding: .6mm .8mm;
		border-radius: .8mm;
		font-size: 5pt;
		line-height: 1;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-footer {
		display: grid;
		gap: .3mm;
		font-size: 5pt;
		line-height: 1.1;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-kshaya {
		padding: 1mm;
		font-size: 5pt;
		line-height: 1.15;
	}

	.slcb-print-footer {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 4mm;
		min-height: 0;
		padding: 1.5mm 3mm;
		overflow: hidden;
		border-top: .35mm solid #d9c5d1;
		color: #514653;
		background: #faf6f8;
		font-size: 5.5pt;
		line-height: 1.2;
	}

	.slcb-print-footer-message {
		min-width: 0;
	}

	.slcb-print-footer-links {
		display: grid;
		justify-items: end;
		gap: .5mm;
		max-width: 120mm;
	}

	.slcb-print-footer a {
		color: #6f315d;
		font-size: 5pt;
		font-weight: 700;
		text-decoration: none;
		overflow-wrap: anywhere;
	}
}

/* Shakta Builder 2.0.3 print spacing */

@media print {
	@page {
		size: A4 landscape;
		margin: 5mm;
	}

	.slcb-print-root--active .slcb-print-paksha-page {
		width: 100%;
		height: 200mm;
		grid-template-rows: 23mm minmax(0, 1fr) 8mm;
		gap: 2mm;
	}

	/* Compact horizontal header. */
	.slcb-print-root--active .slcb-print-header {
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr);
		grid-template-rows: auto auto;
		align-items: center;
		gap: 0 5mm;
		min-height: 0;
		padding: .8mm 3mm 1.2mm;
		overflow: hidden;
		text-align: left;
	}

	.slcb-print-identity {
		display: grid;
		align-content: center;
		gap: .2mm;
		min-width: 0;
	}

	.slcb-print-calendar-title {
		margin: 0;
		font-size: 6.5pt;
		line-height: 1;
	}

	.slcb-print-month-line {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 1.8mm;
		min-width: 0;
	}

	.slcb-print-month-line .slcb-print-context {
		flex: 0 0 auto;
		margin: 0;
		font-size: 5.3pt;
		line-height: 1;
	}

	.slcb-print-header .slcb-print-month-line h1 {
		min-width: 0;
		margin: 0;
		font-size: 14pt;
		line-height: 1;
	}

	.slcb-print-paksha-summary {
		display: grid;
		align-content: center;
		justify-items: end;
		min-width: 0;
		text-align: right;
	}

	.slcb-print-paksha-summary h2 {
		margin: 0;
		font-size: 9pt;
		line-height: 1;
	}

	.slcb-print-header-meta {
		margin: .7mm 0 0;
		font-size: 5.3pt;
		line-height: 1;
	}

	.slcb-print-introduction {
		grid-column: 1 / -1;
		max-width: none;
		max-height: 5mm;
		margin: .7mm 0 0;
		overflow: hidden;
		font-size: 5.2pt;
		line-height: 1.1;
		text-align: center;
	}

	/* The grid receives a dynamic row count from JavaScript. */
	.slcb-print-root--active .slcb-print-paksha-grid {
		width: 100%;
		height: 100%;
		min-height: 0;
		grid-template-columns: repeat(7, minmax(0, 1fr));
		gap: 1.7mm;
		align-items: stretch;
	}

	/* Cards expand vertically to fill their actual week row. */
	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day {
		display: flex;
		min-width: 0;
		min-height: 0;
		height: 100%;
		flex-direction: column;
		align-content: initial;
		gap: 1.15mm;
		padding: 1.7mm;
		overflow: hidden;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-focus {
		flex: 0 0 auto;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-focus p {
		display: block;
		max-height: none;
		overflow: visible;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-meta {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: .7mm;
		margin-top: auto;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-meta span {
		display: flex;
		min-width: 0;
		align-items: center;
		padding: .7mm;
		overflow: visible;
		font-size: 5.2pt;
		line-height: 1.1;
		overflow-wrap: break-word;
	}

	.slcb-print-root--active .slcb-print-paksha-grid .slcb-day-footer {
		flex: 0 0 auto;
		margin-top: 0;
		padding-top: .5mm;
		border-top: .2mm solid rgba(72,48,70,.12);
		font-size: 5.1pt;
		line-height: 1.1;
	}

	/* Smaller footer and less wasted space near the paper edge. */
	.slcb-print-root--active .slcb-print-footer {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 3mm;
		height: 8mm;
		padding: .8mm 2mm;
		font-size: 5.1pt;
		line-height: 1.05;
	}

	.slcb-print-root--active .slcb-print-footer-message,
	.slcb-print-root--active .slcb-print-footer-links {
		min-width: 0;
	}

	.slcb-print-root--active .slcb-print-footer-links {
		gap: .3mm;
	}

	.slcb-print-root--active .slcb-print-footer a {
		font-size: 4.8pt;
		line-height: 1;
	}
}

/* Shakta Builder 2.0.4 compact print header */

@media print {
	.slcb-print-root--active .slcb-print-paksha-page {
		grid-template-rows: 17mm minmax(0, 1fr) 8mm;
		gap: 2mm;
	}

	.slcb-print-root--active .slcb-print-header {
		display: grid;
		grid-template-columns:
			minmax(0, 1.25fr)
			minmax(0, 1fr);
		grid-template-rows: 8mm 5mm;
		grid-template-areas:
			"identity paksha"
			"intro meta";
		align-items: center;
		gap: .5mm 5mm;
		padding: .5mm 3mm 1mm;
		overflow: hidden;
		text-align: left;
	}

	.slcb-print-root--active .slcb-print-identity {
		grid-area: identity;
		display: flex;
		min-width: 0;
		align-items: baseline;
		gap: 2.2mm;
		overflow: hidden;
	}

	.slcb-print-root--active .slcb-print-calendar-title {
		flex: 0 0 auto;
		margin: 0;
		font-size: 6pt;
		line-height: 1;
		white-space: nowrap;
	}

	.slcb-print-root--active .slcb-print-month-line {
		display: flex;
		min-width: 0;
		align-items: baseline;
		gap: 1.5mm;
		overflow: hidden;
		white-space: nowrap;
	}

	.slcb-print-root--active .slcb-print-month-line .slcb-print-context {
		flex: 0 0 auto;
		margin: 0;
		font-size: 5pt;
		line-height: 1;
	}

	.slcb-print-root--active .slcb-print-header .slcb-print-month-line h1 {
		min-width: 0;
		margin: 0;
		overflow: hidden;
		font-size: 13pt;
		line-height: 1;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/*
	 * display:contents allows the pakṣa heading and metadata
	 * to occupy separate cells in the parent header grid.
	 */
	.slcb-print-root--active .slcb-print-paksha-summary {
		display: contents;
	}

	.slcb-print-root--active .slcb-print-paksha-summary h2 {
		grid-area: paksha;
		align-self: center;
		justify-self: end;
		margin: 0;
		font-size: 8.5pt;
		line-height: 1;
		text-align: right;
		white-space: nowrap;
	}

	.slcb-print-root--active .slcb-print-header-meta {
		grid-area: meta;
		align-self: center;
		justify-self: end;
		max-width: 100%;
		margin: 0;
		overflow: hidden;
		font-size: 5pt;
		line-height: 1;
		text-align: right;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.slcb-print-root--active .slcb-print-introduction {
		grid-area: intro;
		align-self: center;
		max-width: 100%;
		max-height: none;
		margin: 0;
		overflow: hidden;
		font-size: 5pt;
		line-height: 1;
		text-align: left;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
