/*
 * Nama Veda Astrology — page layout + a brand bridge over the Prokerala output.
 *
 * The vendor's templates are not theme-overridable (hardcoded plugin paths, no
 * locate_template), so everything they render is restyled here by class. Every rule
 * is scoped under .nv-astro-page so a stray [astrology] elsewhere is untouched.
 *
 * Depends on bd-pages.css for the design tokens.
 */

/* ── Page shell ─────────────────────────────────────────────────────── */

.nv-astro {
	background: var(--bd-bg);
}

/*
 * Our pages render through the_content(), so every link inside them is matched by
 * the child theme's `.entry-content a { color: maroon }` — which outranks
 * `.bd-btn--primary`'s white and makes button labels invisible. Restate the button
 * colours at a specificity that wins inside .entry-content.
 */
.nv-astro-page .nv-astro .bd-btn--primary,
.nv-astro-page .nv-astro .bd-btn--primary:hover,
.nv-astro-page .nv-astro .bd-btn--gold,
.nv-astro-page .nv-astro .bd-btn--gold:hover,
.nv-astro-page .nv-astro .bd-btn--whatsapp,
.nv-astro-page .nv-astro .bd-btn--whatsapp:hover {
	color: #fff;
}

.nv-astro-page .nv-astro .bd-btn--gold,
.nv-astro-page .nv-astro .bd-btn--gold:hover {
	color: var(--bd-maroon-dk);
}

.nv-astro-page .nv-astro .bd-btn--outline {
	color: var(--bd-maroon);
}

/* Same story for the underline .entry-content a adds. */
.nv-astro-page .nv-astro .bd-btn,
.nv-astro-page .nv-astro .bd-chip,
.nv-astro-page .nv-astro .nv-card-link,
.nv-astro-page .nv-astro .bd-section__link,
.nv-astro-page .nv-astro .bd-product-card {
	text-decoration: none;
}

.nv-astro-page .nv-astro .bd-section__link:hover {
	text-decoration: underline;
}

.nv-astro-page .nv-astro .bd-section--maroon,
.nv-astro-page .nv-astro .bd-section--maroon p {
	color: #fff;
}

/* Astra's title block is removed server-side; belt and braces for cached markup. */
.nv-astro-page .entry-header {
	display: none;
}

.nv-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding-top: 14px;
	padding-bottom: 2px;
	font-family: var(--bd-sans);
	font-size: 12px;
	color: var(--bd-muted);
}

.nv-crumbs a {
	color: var(--bd-muted);
	text-decoration: none;
}

.nv-crumbs a:hover {
	color: var(--bd-maroon);
}

.nv-crumbs__sep {
	opacity: .5;
}

/* ── Hero ───────────────────────────────────────────────────────────── */

.nv-hero__title {
	margin-bottom: 10px;
}

.nv-hero__blurb {
	max-width: 68ch;
	color: var(--bd-muted);
	font-family: var(--bd-sans);
	font-size: 15px;
	line-height: 1.7;
}

.nv-hero__points {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
}

.nv-hero__points li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--bd-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--bd-text);
}

.nv-hero__points svg {
	color: var(--bd-gold-text);
	flex: 0 0 auto;
}

.nv-hero__cta {
	margin-top: 22px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.nv-hub-hero__sub {
	max-width: 66ch;
	margin: 10px 0 0;
	color: rgba(255, 255, 255, .88);
	font-family: var(--bd-sans);
	font-size: 15px;
	line-height: 1.7;
}

/* ── Cards ──────────────────────────────────────────────────────────── */

.nv-card {
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	box-shadow: var(--bd-shadow);
	padding: 22px 18px;
}

.nv-card__title {
	margin: 0 0 4px;
	font-family: var(--bd-serif);
	font-size: 20px;
	font-weight: 600;
	color: var(--bd-text);
}

.nv-card__hint,
.nv-card__note {
	font-family: var(--bd-sans);
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--bd-muted);
}

.nv-card__hint {
	margin: 0 0 16px;
}

.nv-card__note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--bd-border);
}

.nv-card__note svg {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--bd-gold-text);
}

.nv-card__note a {
	color: var(--bd-maroon);
}

/* ── Result ─────────────────────────────────────────────────────────── */

.nv-result {
	scroll-margin-top: calc(var(--header-h) + 12px);
}

.nv-result:focus {
	outline: none;
}

.nv-result__body {
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	box-shadow: var(--bd-shadow);
	padding: 20px 16px;
	overflow-x: auto;
}

/* ── Companion reports ──────────────────────────────────────────────── */

.nv-extras {
	margin-top: 22px;
}

.nv-extras__title {
	margin: 0 0 4px;
	font-family: var(--bd-serif);
	font-size: 20px;
	font-weight: 600;
	color: var(--bd-text);
}

.nv-extras__sub {
	margin: 0 0 14px;
	font-family: var(--bd-sans);
	font-size: 13px;
	color: var(--bd-muted);
}

.nv-extras__item {
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	background: #fff;
	margin-bottom: 10px;
	overflow: hidden;
}

.nv-extras__item > summary {
	list-style: none;
	cursor: pointer;
	padding: 15px 46px 15px 18px;
	position: relative;
	font-family: var(--bd-serif);
	font-size: 16px;
	font-weight: 600;
	color: var(--bd-maroon-dk);
	background: var(--bd-cream);
}

.nv-extras__item > summary::-webkit-details-marker {
	display: none;
}

.nv-extras__item > summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--bd-sans);
	font-size: 20px;
	font-weight: 400;
	color: var(--bd-gold-text);
}

.nv-extras__item[open] > summary::after {
	content: "−";
}

.nv-extras__body {
	padding: 16px 14px 4px;
	overflow-x: auto;
}

.nv-result__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.nv-result__actions .bd-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* ── Trust strip ────────────────────────────────────────────────────── */

.nv-trust {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.nv-trust__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--bd-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--bd-text);
}

.nv-trust__item svg {
	flex: 0 0 auto;
	color: var(--bd-maroon);
}

/* ── Service cards & chips ──────────────────────────────────────────── */

.nv-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.nv-card-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	text-decoration: none;
	transition: var(--transition);
}

.nv-card-link:hover {
	border-color: var(--bd-gold);
	box-shadow: var(--bd-shadow);
	transform: translateY(-1px);
}

.nv-card-link__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--bd-cream);
	color: var(--bd-maroon);
}

.nv-card-link__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.nv-card-link__name {
	font-family: var(--bd-serif);
	font-size: 15px;
	font-weight: 600;
	color: var(--bd-text);
}

.nv-card-link__desc {
	font-family: var(--bd-sans);
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--bd-muted);
}

.nv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.nv-chips .bd-chip {
	text-decoration: none;
}

/* ── FAQ & CTA ──────────────────────────────────────────────────────── */

.nv-faq__list {
	margin-top: 14px;
	max-width: 78ch;
}

.nv-cta {
	text-align: center;
}

.nv-cta__sub {
	max-width: 56ch;
	margin: 8px auto 20px;
	color: rgba(255, 255, 255, .85);
	font-family: var(--bd-sans);
	font-size: 14.5px;
	line-height: 1.65;
}

.nv-astro .nv-cta .bd-section__title {
	margin-bottom: 0;
}

/* ── Notices ────────────────────────────────────────────────────────── */

.nv-astro-notice {
	border: 1px solid var(--bd-border);
	border-left: 3px solid var(--bd-gold);
	border-radius: var(--bd-radius-sm);
	background: var(--bd-cream);
	padding: 16px 18px;
	font-family: var(--bd-sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--bd-text);
}

.nv-astro-notice p {
	margin: 0 0 10px;
}

.nv-astro-notice p:last-child {
	margin-bottom: 0;
}

/* ── Bridge: Prokerala output ───────────────────────────────────────── */

/*
 * Their form is itself a rounded, shadowed box (main.css: .pk-astrology-form).
 * Inside our card that reads as a card within a card, so flatten it and let ours
 * be the only container.
 */
.nv-astro-page .nv-card .pk-astrology-form {
	max-width: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.nv-astro-page .pk-astrology-form-label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--bd-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--bd-muted);
}

.nv-astro-page .pk-astrology-form-group {
	margin-bottom: 16px;
}

.nv-astro-page .pk-astrology-form-control {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	font-family: var(--bd-sans);
	font-size: 15px;
	color: var(--bd-text);
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-sm);
	box-shadow: none;
	transition: var(--transition);
}

.nv-astro-page .pk-astrology-form-control:focus {
	outline: none;
	border-color: var(--bd-maroon);
	box-shadow: 0 0 0 3px rgba(94, 22, 22, .10);
}

.nv-astro-page select.pk-astrology-form-control {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236E645A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
}

.nv-astro-page .pk-astrology-form-check-inline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 16px;
	font-family: var(--bd-sans);
	font-size: 14px;
	color: var(--bd-text);
}

.nv-astro-page .pk-astrology-form-check-input {
	accent-color: var(--bd-maroon);
	width: 18px;
	height: 18px;
}

.nv-astro-page .pk-astrology-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 14px 34px;
	font-family: var(--bd-sans);
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	background: var(--bd-maroon);
	border: 1px solid var(--bd-maroon);
	border-radius: 999px;
	cursor: pointer;
	transition: var(--transition);
}

.nv-astro-page .pk-astrology-btn:hover,
.nv-astro-page .pk-astrology-btn:focus {
	background: var(--bd-maroon-lt);
	border-color: var(--bd-maroon-lt);
	color: #fff;
}

@media (max-width: 639px) {
	.nv-astro-page .pk-astrology-btn {
		width: 100%;
	}
}

/* Tables — the shape most result templates use */

.nv-astro-page .pk-astrology-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	overflow: hidden;
	font-family: var(--bd-sans);
	font-size: 14px;
	color: var(--bd-text);
}

.nv-astro-page .pk-astrology-table th {
	background: var(--bd-cream);
	font-family: var(--bd-serif);
	font-size: 13.5px;
	font-weight: 600;
	text-align: left;
	color: var(--bd-maroon-dk);
}

.nv-astro-page .pk-astrology-table th,
.nv-astro-page .pk-astrology-table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--bd-border);
	vertical-align: top;
}

.nv-astro-page .pk-astrology-table tr:last-child td {
	border-bottom: 0;
}

.nv-astro-page .pk-astrology-table-success {
	background: rgba(27, 122, 61, .08);
}

.nv-astro-page .pk-astrology-table-danger {
	background: rgba(192, 57, 43, .07);
}

.nv-astro-page .pk-astrology-table-warning {
	background: rgba(185, 138, 46, .10);
}

/* Alerts */

.nv-astro-page .pk-astrology-alert {
	border-radius: var(--bd-radius-sm);
	border: 1px solid var(--bd-border);
	padding: 14px 16px;
	font-family: var(--bd-sans);
	font-size: 14px;
	line-height: 1.6;
}

.nv-astro-page .pk-astrology-alert-success {
	border-left: 3px solid var(--bd-green);
	background: rgba(27, 122, 61, .06);
}

.nv-astro-page .pk-astrology-alert-danger {
	border-left: 3px solid var(--bd-sale);
	background: rgba(192, 57, 43, .06);
}

.nv-astro-page .pk-astrology-alert-warning,
.nv-astro-page .pk-astrology-alert-info {
	border-left: 3px solid var(--bd-gold);
	background: var(--bd-cream);
}

.nv-astro-page .pk-astrology-text-success {
	color: var(--bd-green);
}

.nv-astro-page .pk-astrology-text-danger {
	color: var(--bd-sale);
}

.nv-astro-page .pk-astrology-text-warning {
	color: var(--bd-gold-text);
}

/* Charts overflow on small screens */

.nv-astro-page .pk-astrology-kundli-charts-wrapper,
.nv-astro-page .pk-astrology-table-responsive-sm,
.nv-astro-page .pk-astrology-overflow-auto {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.nv-astro-page .pk-astrology-kundli-chart,
.nv-astro-page .pk-astrology-chart,
.nv-astro-page .pk-astrology-aspect-chart {
	max-width: 100%;
}

.nv-astro-page .pk-astrology-bg-secondary {
	background: var(--bd-cream);
}

/* Their headings inherit Astra's; pull them onto the brand scale */

.nv-astro-page .pk-astrology-block h2,
.nv-astro-page .pk-astrology-block h3,
.nv-astro-page .nv-result__body h2,
.nv-astro-page .nv-result__body h3,
.nv-astro-page .nv-result__body h4 {
	font-family: var(--bd-serif);
	color: var(--bd-maroon-dk);
}

.nv-astro-page .nv-result__body h2 {
	font-size: 20px;
}

.nv-astro-page .nv-result__body h3 {
	font-size: 17px;
}

/* Attribution line — kept for licence courtesy, toned down */

.nv-astro-page .pk-astrology-text-right em,
.nv-astro-page .pk-astrology-text-small {
	font-size: 11px;
	color: var(--bd-muted);
}

/*
 * Their 12-column grid is a label/field split that reads fine on desktop and is
 * cramped on phones. Stack it rather than fighting their float widths.
 */
@media (max-width: 639px) {
	.nv-astro-page .pk-astrology-row {
		display: block;
	}

	.nv-astro-page [class*="pk-astrology-col-"] {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}
}

/* ── Desktop ────────────────────────────────────────────────────────── */

@media (min-width: 640px) {
	.nv-card {
		padding: 28px 26px;
	}

	.nv-result__body {
		padding: 26px 24px;
	}

	.nv-trust {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 960px) {
	.nv-hero__title {
		font-size: 34px;
	}

	.nv-featured__grid {
		display: grid;
		grid-template-columns: 1fr 1.05fr;
		gap: 36px;
		align-items: start;
	}

	.nv-card {
		padding: 32px 30px;
	}
}

/* ── Print: the result only ─────────────────────────────────────────── */

@media print {
	.nv-astro .bd-section:not(.nv-result):not(.nv-report),
	.nv-crumbs,
	.nv-result__actions,
	.bd-header,
	.bd-bottom-nav,
	.bd-footer {
		display: none !important;
	}

	.nv-result__body {
		border: 0;
		box-shadow: none;
		padding: 0;
	}
}

.nv-extras__placeholder,
.nv-extras__error {
	margin: 0;
	padding: 4px 0 14px;
	font-family: var(--bd-sans);
	font-size: 13.5px;
	color: var(--bd-muted);
}

.nv-extras__error {
	color: var(--bd-sale);
}

.nv-extras__retry {
	margin-left: 6px;
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	color: var(--bd-maroon);
	text-decoration: underline;
	cursor: pointer;
}

/* ── Full PDF report ────────────────────────────────────────────────── */

.nv-pdf {
	margin-top: 20px;
	padding: 18px;
	border: 1px solid var(--bd-border);
	border-left: 3px solid var(--bd-gold);
	border-radius: var(--bd-radius);
	background: var(--bd-cream);
}

.nv-pdf__title {
	margin: 0 0 4px;
	font-family: var(--bd-serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--bd-maroon-dk);
}

.nv-pdf__sub {
	margin: 0 0 14px;
	font-family: var(--bd-sans);
	font-size: 13px;
	line-height: 1.6;
	color: var(--bd-muted);
}

.nv-pdf__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.nv-pdf__row .pk-astrology-form-control {
	width: auto;
	flex: 1 1 180px;
}

.nv-pdf__row .bd-btn {
	flex: 0 0 auto;
}

.nv-pdf-notice {
	padding-top: 14px;
}

/* ══════════════════════════════════════════════════════════════════════
   FULL KUNDALI REPORT
   ══════════════════════════════════════════════════════════════════════ */

.nv-report-person__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-bottom: 18px;
}

.nv-report-toc {
	margin-top: 22px;
	padding: 20px 18px;
	background: var(--bd-cream);
	border-radius: var(--bd-radius);
}

.nv-report-toc__title {
	margin: 0 0 12px;
	font-family: var(--bd-serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--bd-maroon-dk);
}

.nv-report-toc__list {
	margin: 0;
	padding-left: 20px;
	display: grid;
	gap: 10px;
}

.nv-report-toc__list li {
	font-family: var(--bd-sans);
	font-size: 14px;
	color: var(--bd-text);
}

.nv-report-toc__list span {
	display: block;
	font-size: 12.5px;
	color: var(--bd-muted);
	margin-top: 2px;
}

/* Cover */

.nv-report__cover {
	text-align: center;
	padding: 26px 0 22px;
	border-bottom: 2px solid var(--bd-gold);
	margin-bottom: 24px;
}

.nv-report__name {
	margin: 6px 0 8px;
	font-family: var(--bd-serif);
	font-size: 30px;
	font-weight: 600;
	color: var(--bd-maroon-dk);
}

.nv-report__meta {
	margin: 0;
	font-family: var(--bd-sans);
	font-size: 14px;
	color: var(--bd-text);
}

.nv-report__meta span + span::before {
	content: "·";
	margin: 0 8px;
	color: var(--bd-muted);
}

.nv-report__brand {
	margin: 10px 0 0;
	font-family: var(--bd-sans);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--bd-muted);
}

/* Progress bar */

.nv-report__bar {
	position: sticky;
	top: var(--header-h);
	z-index: 5;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	box-shadow: var(--bd-shadow-sm);
	padding: 14px 16px;
	margin-bottom: 24px;
}

.nv-report__progress {
	height: 6px;
	border-radius: 999px;
	background: var(--bd-cream-dk);
	overflow: hidden;
}

.nv-report__progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--bd-gold), var(--bd-maroon));
	transition: width .4s ease-out;
}

.nv-report__status {
	margin: 10px 0 12px;
	font-family: var(--bd-sans);
	font-size: 13px;
	color: var(--bd-muted);
}

.nv-report__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.nv-report__actions .bd-btn[disabled] {
	opacity: .45;
	pointer-events: none;
}

/* Sections */

.nv-report__section {
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	background: #fff;
	padding: 20px 18px;
	margin-bottom: 18px;
}

.nv-report__section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 4px;
	font-family: var(--bd-serif);
	font-size: 21px;
	font-weight: 600;
	color: var(--bd-maroon-dk);
}

.nv-report__num {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--bd-cream);
	color: var(--bd-gold-text);
	font-family: var(--bd-sans);
	font-size: 14px;
	font-weight: 600;
}

.nv-report__section-note {
	margin: 0 0 16px;
	padding-left: 42px;
	font-family: var(--bd-sans);
	font-size: 13px;
	color: var(--bd-muted);
}

.nv-report__body {
	overflow-x: auto;
}

.nv-report__pending,
.nv-report__error {
	margin: 0;
	padding: 10px 0;
	font-family: var(--bd-sans);
	font-size: 13.5px;
	color: var(--bd-muted);
}

.nv-report__error {
	color: var(--bd-sale);
}

.nv-report__footer {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--bd-border);
	font-family: var(--bd-sans);
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--bd-muted);
	text-align: center;
}

@media (min-width: 640px) {
	.nv-report-person__row {
		grid-template-columns: 2fr 1fr;
	}

	.nv-report__section {
		padding: 26px 24px;
	}

	.nv-report-toc__list {
		grid-template-columns: 1fr 1fr;
	}
}

/* ── Print: the report becomes the document ─────────────────────────── */

@media print {
	.nv-astro--report .no-print,
	.nv-astro--report .nv-crumbs,
	.nv-astro--report .nv-report__bar {
		display: none !important;
	}

	.nv-astro--report .nv-report__section {
		border: 0;
		padding: 0;
		margin: 0 0 18pt;
		break-inside: auto;
		page-break-inside: auto;
	}

	.nv-astro--report .nv-report__section-title {
		break-after: avoid;
		page-break-after: avoid;
		font-size: 15pt;
	}

	.nv-astro--report .nv-report__cover {
		break-after: page;
		page-break-after: always;
		padding-top: 25vh;
	}

	.nv-astro--report .nv-report__body {
		overflow: visible !important;
	}

	.nv-astro--report .pk-astrology-table {
		break-inside: auto;
		page-break-inside: auto;
		font-size: 9pt;
	}

	.nv-astro--report .pk-astrology-table tr {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.nv-astro--report .pk-astrology-table thead {
		display: table-header-group;
	}

	.nv-astro--report .pk-astrology-kundli-chart svg,
	.nv-astro--report .pk-astrology-chart svg {
		max-width: 62mm;
		height: auto;
	}
}

.nv-pdf__presets {
	display: grid;
	gap: 8px;
	margin-bottom: 16px;
}

.nv-pdf__preset {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-sm);
	cursor: pointer;
	transition: var(--transition);
}

.nv-pdf__preset:has(input:checked) {
	border-color: var(--bd-maroon);
	box-shadow: 0 0 0 2px rgba(94, 22, 22, .08);
}

.nv-pdf__preset input {
	margin-top: 3px;
	accent-color: var(--bd-maroon);
	flex: 0 0 auto;
}

.nv-pdf__preset-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.nv-pdf__preset-label {
	font-family: var(--bd-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--bd-text);
}

.nv-pdf__preset-note {
	font-family: var(--bd-sans);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--bd-muted);
}

.nv-pdf__wait {
	margin: 10px 0 0;
	font-family: var(--bd-sans);
	font-size: 12px;
	color: var(--bd-muted);
}

@media (min-width: 640px) {
	.nv-pdf__presets {
		grid-template-columns: 1fr 1fr;
	}
}

.nv-report__dl {
	display: inline-block;
	margin: 0;
}

/* ── Free vs paid, stated up front ──────────────────────────────────── */

.nv-tiers {
	display: grid;
	gap: 10px;
	margin: 20px 0 4px;
	max-width: 760px;
}

.nv-tiers__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-sm);
}

.nv-tiers__item--paid {
	border-left: 3px solid var(--bd-gold);
}

.nv-tiers__tag {
	flex: 0 0 auto;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--bd-green, #1B7A3D);
	color: #fff;
	font-family: var(--bd-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.nv-tiers__tag--paid {
	background: var(--bd-maroon);
}

.nv-tiers__body {
	font-family: var(--bd-sans);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--bd-text);
}

@media (min-width: 720px) {
	.nv-tiers {
		grid-template-columns: 1fr 1fr;
	}
}

/* ── Name / gender on the birth-details form ────────────────────────── */

.nv-person {
	margin: 0 0 18px;
}

.nv-person__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.nv-req {
	color: var(--bd-sale);
}

@media (min-width: 640px) {
	.nv-person__row {
		grid-template-columns: 2fr 1fr;
	}
}

/* ── Paywall: the report is a paid product ──────────────────────────── */

.nv-paywall {
	margin-top: 22px;
	padding: 22px 20px;
	border: 1px solid var(--bd-border);
	border-top: 3px solid var(--bd-gold);
	border-radius: var(--bd-radius);
	background: var(--bd-cream);
}

.nv-paywall__title {
	margin: 0 0 6px;
	font-family: var(--bd-serif);
	font-size: 21px;
	font-weight: 600;
	color: var(--bd-maroon-dk);
}

.nv-paywall__sub {
	margin: 0 0 18px;
	max-width: 70ch;
	font-family: var(--bd-sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--bd-muted);
}

.nv-paywall__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-bottom: 18px;
}

.nv-paywall__card {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-sm);
}

.nv-paywall__price {
	font-family: var(--bd-serif);
	font-size: 20px;
	font-weight: 600;
	color: var(--bd-maroon);
}

.nv-paywall__name {
	font-family: var(--bd-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--bd-text);
}

.nv-paywall__note {
	font-family: var(--bd-sans);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--bd-muted);
}

.nv-paywall__foot {
	margin: 10px 0 0;
	font-family: var(--bd-sans);
	font-size: 12px;
	color: var(--bd-muted);
}

.nv-pdf__staff {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--bd-maroon);
	color: #fff;
	font-family: var(--bd-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	vertical-align: middle;
}

@media (min-width: 720px) {
	.nv-paywall__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.nv-paywall__card {
	position: relative;
	margin: 0;
}

.nv-paywall__buy {
	margin-top: 12px;
	width: 100%;
	justify-content: center;
}

.nv-paywall__soon {
	margin-top: 12px;
	font-family: var(--bd-sans);
	font-size: 12px;
	color: var(--bd-muted);
}

.nv-paywall__foot {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.nv-paywall__foot a {
	color: var(--bd-maroon);
}

/* ── AstrologyAPI prototype ──────────────────────────────────────────────
   Rendered from JSON, so unlike the .pk-astrology-* rules above these are
   our own classes rather than overrides fighting a vendor's stylesheet. */
.nv-aapi-report { margin: 0 0 2rem; }

.nv-aapi-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin-bottom: 1.75rem;
}
.nv-aapi-fact {
	background: var(--bd-cream, #F8F3EA);
	border: 1px solid rgba(94, 22, 22, .12);
	border-radius: 10px;
	padding: 12px 14px;
}
.nv-aapi-fact__label {
	display: block;
	font-size: .78rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, .55);
	margin-bottom: 4px;
}
.nv-aapi-fact__value {
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	font-size: 1.05rem;
	color: var(--bd-maroon, #5E1616);
}

.nv-aapi-chart { margin: 1.5rem 0; text-align: center; }
.nv-aapi-chart svg { max-width: 420px; width: 100%; height: auto; }

/* Wide tables scroll inside themselves; the page itself must never scroll sideways. */
.nv-aapi-tablewrap { overflow-x: auto; margin-bottom: 1.5rem; }
.nv-aapi-table { width: 100%; border-collapse: collapse; min-width: 480px; }
.nv-aapi-table th,
.nv-aapi-table td {
	padding: 10px 12px;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	text-align: left;
	font-size: .94rem;
}
.nv-aapi-table thead th {
	background: var(--bd-cream, #F8F3EA);
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	color: var(--bd-maroon, #5E1616);
}
.nv-aapi-retro { color: var(--bd-sale, #B3261E); font-weight: 600; }

@media print {
	.nv-aapi-tablewrap { overflow: visible; }
	.nv-aapi-table { min-width: 0; }
}

/* ── Career & timing report ────────────────────────────────────────────── */
.nv-career__block { margin: 0 0 2rem; }
.nv-career__lead {
	font-size: 1.06rem;
	color: var(--bd-maroon, #5E1616);
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
}
.nv-career__meta { color: rgba(0, 0, 0, .55); font-size: .88rem; }
.nv-career__note { color: rgba(0, 0, 0, .62); font-size: .92rem; margin-bottom: 1rem; }

.nv-career__block--now {
	background: var(--bd-cream, #F8F3EA);
	border: 1px solid rgba(94, 22, 22, .16);
	border-radius: 12px;
	padding: 18px 20px;
}
.nv-career__period { margin: 0 0 .5rem; font-size: 1.05rem; }

.nv-career__timeline { border-left: 2px solid rgba(94, 22, 22, .16); padding-left: 18px; }
.nv-career__row { position: relative; padding: 0 0 1.4rem; }
.nv-career__row::before {
	content: "";
	position: absolute;
	left: -25px;
	top: 6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid rgba(94, 22, 22, .35);
}
.nv-career__row.is-current::before { background: var(--bd-gold, #B98A2E); border-color: var(--bd-gold, #B98A2E); }
.nv-career__row.is-past { opacity: .62; }
.nv-career__years {
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	color: var(--bd-maroon, #5E1616);
	font-size: .95rem;
	margin-bottom: 2px;
}
.nv-career__badge {
	display: inline-block;
	margin-left: 6px;
	background: var(--bd-gold, #B98A2E);
	color: #fff;
	font-family: var(--bd-font-body, Inter), system-ui, sans-serif;
	font-size: .68rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 2px 7px;
	border-radius: 999px;
	vertical-align: middle;
}
.nv-career__body p { margin: .35rem 0 0; }
.nv-career__disclaimer {
	font-size: .86rem;
	color: rgba(0, 0, 0, .55);
	border-top: 1px solid rgba(0, 0, 0, .08);
	padding-top: 12px;
}

@media (max-width: 600px) {
	.nv-career__timeline { padding-left: 14px; }
	.nv-career__row::before { left: -21px; }
}

/* ── Life-events timeline ──────────────────────────────────────────────── */
.nv-events__block { margin: 0 0 2.2rem; }
.nv-events__note { color: rgba(0, 0, 0, .62); font-size: .93rem; margin-bottom: 1rem; }

.nv-events__period {
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 12px;
	padding: 16px 18px;
	margin-bottom: 12px;
	background: #fff;
}
.nv-events__period--past { background: #fcfbf9; }
.nv-events__period--current { border-color: var(--bd-gold, #B98A2E); box-shadow: 0 2px 10px rgba(185, 138, 46, .13); }

.nv-events__head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.nv-events__years {
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	color: var(--bd-maroon, #5E1616);
	font-size: 1.02rem;
}

.nv-events__tag {
	display: inline-block;
	font-size: .68rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 999px;
	white-space: nowrap;
}
.nv-events__tag--now { background: var(--bd-gold, #B98A2E); color: #fff; }
.nv-events__tag--caution { background: #FBEDEC; color: #A3302A; }
.nv-events__tag--positive { background: #E9F5EC; color: #1B7A3D; }

/* A left rule carries the tone, so themes are scannable without relying on colour alone. */
.nv-events__theme { border-left: 3px solid rgba(0, 0, 0, .12); padding: 2px 0 2px 12px; margin: 10px 0; }
.nv-events__theme--caution { border-left-color: #C0392B; }
.nv-events__theme--positive { border-left-color: #1B7A3D; }
.nv-events__theme--neutral { border-left-color: var(--bd-gold, #B98A2E); }
.nv-events__theme p { margin: .2rem 0 0; }
.nv-events__theme-label {
	font-size: .74rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, .55);
}

.nv-events__dosha {
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 10px;
	background: var(--bd-cream, #F8F3EA);
}
.nv-events__remedy-title { font-weight: 600; margin: .6rem 0 .2rem; }
.nv-events__remedies { margin: 0; padding-left: 1.1rem; }
.nv-events__remedies li { margin-bottom: .2rem; }

.nv-events__disclaimer {
	font-size: .86rem;
	color: rgba(0, 0, 0, .55);
	border-top: 1px solid rgba(0, 0, 0, .08);
	padding-top: 12px;
}

/* ── Life Report page ──────────────────────────────────────────────────── */
.nv-life-form { margin-bottom: 2rem; }
.nv-life-form__title { margin-top: 0; }
.nv-life-form__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	align-items: end;
}
.nv-life-field { display: flex; flex-direction: column; gap: 6px; }
.nv-life-field > span { font-size: .88rem; font-weight: 600; color: var(--bd-maroon, #5E1616); }
.nv-life-field small { color: rgba(0, 0, 0, .55); font-size: .78rem; }
.nv-life-field--submit { grid-column: 1 / -1; }
.nv-life-form__privacy {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 14px 0 0;
	font-size: .84rem;
	color: rgba(0, 0, 0, .55);
}
.nv-life-result { margin-top: 2.5rem; scroll-margin-top: 90px; }
.nv-life-result__title {
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	color: var(--bd-maroon, #5E1616);
}
.nv-life-result__cta { margin-top: 1.6rem; }

@media (max-width: 560px) {
	.nv-life-form__grid { grid-template-columns: 1fr; }
}

/* Our own form control, so the page does not depend on the retired vendor's stylesheet. */
.nv-input {
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	font: inherit;
	color: inherit;
	background: #fff;
	border: 1px solid rgba(94, 22, 22, .22);
	border-radius: 8px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.nv-input:focus {
	outline: none;
	border-color: var(--bd-gold, #B98A2E);
	box-shadow: 0 0 0 3px rgba(185, 138, 46, .18);
}
.nv-input::placeholder { color: rgba(0, 0, 0, .38); }

/* Life Report actions */
.nv-life-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 2rem;
	padding-top: 1.4rem;
	border-top: 1px solid rgba(0, 0, 0, .08);
}
.nv-life-pdf { display: flex; flex-direction: column; gap: 4px; }
.nv-life-pdf small { color: rgba(0, 0, 0, .55); font-size: .8rem; }
.nv-events__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 1.2rem; }

@media print {
	.nv-life-form, .nv-life-actions, .nv-life-result__cta, .bd-crumbs { display: none !important; }
}

/* Life-area view */
.nv-area { border-left: 3px solid rgba(0,0,0,.12); padding-left: 14px; margin-bottom: 1.5rem; }
.nv-area--caution { border-left-color: #C0392B; }
.nv-area--positive { border-left-color: #1B7A3D; }
.nv-area--neutral { border-left-color: var(--bd-gold, #B98A2E); }
.nv-area__title {
	margin: 0 0 .5rem;
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	color: var(--bd-maroon, #5E1616);
	font-size: 1.06rem;
}
.nv-area__item { margin-bottom: .8rem; }
.nv-area__item.is-current { background: var(--bd-cream, #F8F3EA); border-radius: 8px; padding: 8px 12px; }
.nv-area__years {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .8rem; letter-spacing: .04em; color: rgba(0,0,0,.55);
}
.nv-area__item p { margin: .2rem 0 0; }

/* Full kundali document */
.nv-kundali__charts { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.nv-kundali__chart { margin: 0; text-align: center; }
.nv-kundali__chart figcaption {
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	color: var(--bd-maroon, #5E1616);
	margin-bottom: .5rem;
}
.nv-kundali__chart svg { max-width: 100%; height: auto; }
.nv-aapi-table tr.is-current { background: var(--bd-cream, #F8F3EA); }

/* PDF preparation panel */
.nv-pdf-wait { text-align: center; padding: 26px 20px; }
.nv-pdf-wait h2 { margin-top: 0; }
.nv-life-pdf__type { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.nv-life-pdf__type > span { font-size: .82rem; font-weight: 600; color: var(--bd-maroon, #5E1616); }
.nv-life-pdf__type .nv-input { min-height: 42px; }

/* Birth-place autosuggest */
.nv-geo { position: relative; }
.nv-geo__list {
	position: absolute;
	z-index: 40;
	top: 100%;
	left: 0;
	right: 0;
	margin: 4px 0 0;
	padding: 4px 0;
	list-style: none;
	background: #fff;
	border: 1px solid rgba(94, 22, 22, .18);
	border-radius: 8px;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
	max-height: 260px;
	overflow-y: auto;
}
.nv-geo__item { padding: 9px 12px; cursor: pointer; font-size: .93rem; }
.nv-geo__item.is-active,
.nv-geo__item:hover { background: var(--bd-cream, #F8F3EA); color: var(--bd-maroon, #5E1616); }

/* Saved-report confirmation */
.nv-life-saved {
	display: flex; align-items: center; gap: 8px;
	background: #E9F5EC; border: 1px solid rgba(27,122,61,.25);
	color: #14612F; border-radius: 10px; padding: 10px 14px; margin-bottom: 16px; font-size: .92rem;
}

/* Report history */
.nv-history {
	border: 1px solid rgba(94,22,22,.14);
	border-radius: 12px; background: #fff; margin-bottom: 20px;
}
.nv-history > summary {
	cursor: pointer; padding: 14px 18px; display: flex; align-items: center; gap: 10px;
	font-family: var(--bd-font-head, Fraunces), Georgia, serif; color: var(--bd-maroon,#5E1616);
}
.nv-history > summary em { font-style: normal; color: rgba(0,0,0,.5); font-size: .82rem; }
.nv-history__count {
	background: var(--bd-cream,#F8F3EA); border-radius: 999px;
	padding: 1px 9px; font-size: .8rem; color: var(--bd-maroon,#5E1616);
}
.nv-history__list { list-style: none; margin: 0; padding: 0 18px 8px; }
.nv-history__item {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 10px 0; border-top: 1px solid rgba(0,0,0,.07);
}
.nv-history__item.is-current { background: var(--bd-cream,#F8F3EA); border-radius: 8px; padding: 10px 12px; }
.nv-history__item a { text-decoration: none; display: block; }
.nv-history__item a span { display: block; font-size: .84rem; color: rgba(0,0,0,.58); }
.nv-history__item time { font-size: .8rem; color: rgba(0,0,0,.5); white-space: nowrap; }
.nv-history__note { padding: 0 18px 14px; font-size: .85rem; color: rgba(0,0,0,.6); }

/* The form folds away once a reading is on screen */
.nv-life-form > summary {
	cursor: pointer; list-style: none;
	font-family: var(--bd-font-head, Fraunces), Georgia, serif;
	font-size: 1.25rem; color: var(--bd-maroon,#5E1616); margin-bottom: 1rem;
}
.nv-life-form > summary::-webkit-details-marker { display: none; }
.nv-life-form > summary::after { content: " ▾"; font-size: .8em; opacity: .6; }
.nv-life-form[open] > summary::after { content: " ▴"; }

@media print { .nv-history, .nv-life-saved { display: none !important; } }

/* ── AI analysis report + order panel ─────────────────────────────────────── */
.nv-ai-panel { margin: 28px 0; }
.nv-ai-panel__title { font-family: var(--bd-font-head, Fraunces), Georgia, serif; color: var(--bd-maroon,#5E1616); }
.nv-ai-panel__meta { color: rgba(0,0,0,.65); }
.nv-ai-panel__actions { margin: 10px 0 18px; }
.nv-ai-form { background: var(--bd-cream,#F8F3EA); border: 1px solid rgba(94,22,22,.14); border-radius: 14px; padding: 18px 16px; }
.nv-ai-form__consent { flex-direction: row !important; align-items: center; gap: 10px; grid-column: 1 / -1; }
.nv-ai { line-height: 1.7; font-size: 1.02rem; }
.nv-ai h2, .nv-ai h3, .nv-ai h4 { font-family: var(--bd-font-head, Fraunces), Georgia, serif; color: var(--bd-maroon,#5E1616); margin: 1.6em 0 .5em; }
.nv-ai h2 { font-size: 1.45rem; border-bottom: 2px solid var(--bd-gold,#B98A2E); padding-bottom: 6px; }
.nv-ai h3 { font-size: 1.2rem; }
.nv-ai__tablewrap { overflow-x: auto; margin: 10px 0 18px; }
.nv-ai__table { width: 100%; border-collapse: collapse; min-width: 460px; font-size: .95rem; }
.nv-ai__table th, .nv-ai__table td { padding: 9px 12px; border-bottom: 1px solid rgba(0,0,0,.08); text-align: left; vertical-align: top; }
.nv-ai__table th { background: var(--bd-cream,#F8F3EA); color: var(--bd-maroon,#5E1616); }
.nv-ai ul, .nv-ai ol { padding-left: 1.3rem; }
.nv-ai li { margin-bottom: .35rem; }
.nv-ai__disclaimer { margin-top: 2rem; padding-top: 12px; border-top: 1px solid rgba(0,0,0,.08); font-size: .88rem; color: rgba(0,0,0,.6); }
@media print { .nv-ai-panel__actions, .nv-ai-form { display: none !important; } .nv-ai__table { min-width: 0; } }

/* ── Recent kundalis panel on the plugin page ─────────────────────────────── */
.nv-vk-recent { max-width: 680px; margin: 0 auto 18px; border: 1px solid rgba(94,22,22,.14); border-radius: 12px; background: #fff; }
.nv-vk-recent > summary { cursor: pointer; padding: 12px 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-family: var(--bd-font-head, Fraunces), Georgia, serif; color: var(--bd-maroon,#5E1616); }
.nv-vk-recent > summary em { font-style: normal; font-family: var(--bd-font-body, Inter), system-ui, sans-serif; font-size: .8rem; color: rgba(0,0,0,.55); flex-basis: 100%; }
.nv-vk-recent__count { background: var(--bd-cream,#F8F3EA); border-radius: 999px; padding: 1px 9px; font-size: .8rem; }
.nv-vk-recent__list { list-style: none; margin: 0; padding: 0 16px 6px; }
.nv-vk-recent__list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(0,0,0,.07); }
.nv-vk-recent__list li span { display: block; font-size: .84rem; color: rgba(0,0,0,.58); }
.nv-vk-recent .bd-btn { flex: 0 0 auto; min-height: 40px; padding: 8px 16px; }
.nv-vk-recent__note { padding: 0 16px 12px; margin: 0; font-size: .84rem; color: rgba(0,0,0,.6); }
@media (max-width: 480px) { .nv-vk-recent__list li { flex-direction: column; align-items: stretch; } .nv-vk-recent .bd-btn { width: 100%; text-align: center; } }

/* ── Free question preview: the freemium door into the paid AI analysis ──────── */
.nv-preview { max-width: 680px; margin: 18px auto; padding: 20px 18px; border: 1px solid rgba(94,22,22,.14); border-radius: 12px; background: var(--bd-cream,#F8F3EA); }
.nv-preview__title { margin: 0 0 4px; font-family: var(--bd-font-head, Fraunces), Georgia, serif; color: var(--bd-maroon,#5E1616); font-size: 1.15rem; }
.nv-preview__sub { margin: 0 0 14px; font-size: .88rem; color: rgba(0,0,0,.62); }
.nv-preview__topics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (max-width: 480px) { .nv-preview__topics { grid-template-columns: 1fr; } }
.nv-preview__topic {
  display: flex; align-items: center; gap: 8px; width: 100%; min-height: 46px; padding: 10px 14px;
  background: #fff; border: 1.5px solid rgba(94,22,22,.16); border-radius: 10px; font: inherit; font-weight: 600;
  color: var(--bd-maroon,#5E1616); text-align: left; cursor: pointer; transition: border-color .15s, background .15s;
}
.nv-preview__topic:hover { border-color: var(--bd-gold,#B98A2E); }
.nv-preview__topic.is-selected { background: var(--bd-maroon,#5E1616); border-color: var(--bd-maroon,#5E1616); color: #fff; }
.nv-preview__form { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(94,22,22,.12); }
.nv-preview__form-note { margin: 0 0 10px; font-size: .82rem; color: rgba(0,0,0,.6); }
.nv-preview__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
@media (max-width: 480px) { .nv-preview__row { grid-template-columns: 1fr; } }
.nv-preview__row input { min-height: 46px; padding: 10px 14px; border: 1.5px solid rgba(94,22,22,.18); border-radius: 10px; font: inherit; background: #fff; }
.nv-preview__submit { width: 100%; }
.nv-preview__err { margin: 10px 0 0; color: var(--bd-sale,#B3261E); font-size: .85rem; }
.nv-preview__loading { display: flex; align-items: center; gap: 10px; padding: 18px 0; font-size: .9rem; color: var(--bd-maroon,#5E1616); }
.nv-preview__spinner { width: 18px; height: 18px; border: 2.5px solid rgba(94,22,22,.18); border-top-color: var(--bd-maroon,#5E1616); border-radius: 50%; animation: nv-preview-spin 1s linear infinite; }
@keyframes nv-preview-spin { to { transform: rotate(360deg); } }
.nv-preview__result { margin-top: 10px; }
.nv-preview__answer { background: #fff; border-radius: 10px; padding: 16px; }
.nv-preview__answer .nv-ai__disclaimer { margin-top: 12px; padding-top: 10px; }
.nv-preview__upsell { margin-top: 14px; padding: 16px; background: var(--bd-maroon,#5E1616); border-radius: 10px; text-align: center; }
.nv-preview__upsell p { margin: 0 0 10px; color: #fff; font-size: .92rem; line-height: 1.5; }
