/**
 * Plugin pages foundation — verdox-child
 *
 * Scoped to body.nj-plugin-page and .nj-page / confirmed plugin wrappers only.
 * Does not style Elementor homepage, Contact Us, Coming Soon, or global chrome.
 */

/* -------------------------------------------------------------------------- */
/* Local tokens (scoped)                                                      */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page {
	--nj-pp-navy-950: #001236;
	--nj-pp-navy-900: #00164a;
	--nj-pp-navy: var(--nj-brand-primary, #012169);
	--nj-pp-pacific: #086b9c;
	--nj-pp-pacific-soft: #e4f5f8;
	--nj-pp-gold: var(--njcms-color-gold, #c8a45d);
	--nj-pp-gold-strong: #8a6725;
	--nj-pp-white: #ffffff;
	--nj-pp-warm: #fcfaf6;
	--nj-pp-cool: #f7f9fc;
	--nj-pp-border: var(--njcms-color-border, #d8e1ef);
	--nj-pp-text: var(--njcms-color-text, #1c2e4a);
	--nj-pp-muted: var(--njcms-color-muted, #60708a);
	--nj-pp-link: var(--nj-brand-link, #064f7a);
	--nj-pp-focus: var(--nj-brand-focus, #012169);
	--nj-pp-radius: 0.5rem;
	--nj-pp-radius-lg: 0.85rem;
	--nj-pp-shadow: 0 4px 18px rgba(1, 33, 105, 0.07);
	--nj-pp-shadow-hover: 0 14px 32px rgba(1, 33, 105, 0.14);
	--nj-pp-measure: 66rem; /* reading shells; not applied to individual paragraphs */
	/*
	 * One outer viewport gutter — do not also shrink --nj-pp-content by the same amount.
	 * The Verdox/Elementor wrapper around every plugin page already adds a fixed
	 * ~30px edge gutter (wgl_col-12 15px + Elementor .e-con-boxed 15px, both
	 * theme/Elementor-owned and not overridable without parent-theme edits).
	 * Mobile/narrow tokens are kept small on purpose so our own contribution on
	 * top of that fixed 30px doesn't push content into a narrow center column.
	 */
	--nj-pp-gutter: clamp(1.25rem, 3vw, 2rem);
	--nj-pp-gutter-tablet: clamp(1rem, 2.5vw, 1.25rem);
	--nj-pp-gutter-mobile: clamp(0.3rem, 1.2vw, 0.5rem);
	--nj-pp-gutter-narrow: 0.3rem;
	--nj-pp-content: min(76rem, 100%);
	--nj-pp-reading: min(66rem, 100%);
	--nj-pp-card-pad: clamp(1.25rem, 2vw, 1.5rem);
	--nj-pp-card-pad-mobile: clamp(0.875rem, 3vw, 1rem);
	--nj-pp-section-gap: clamp(1.25rem, 2.5vw, 2rem);
	--nj-pp-touch: 2.75rem;
	--nj-pp-gold-rgb: 200, 164, 93;
	--nj-pp-pacific-rgb: 8, 107, 156;
	/* Header clearance for .header_overlap — JS may set --nj-measured-header-height. */
	--nj-hero-clearance-fallback: clamp(5.5rem, 11vw + 2rem, 11rem);
	--nj-hero-clearance: var(--nj-measured-header-height, var(--nj-hero-clearance-fallback));
	--nj-hero-pad-top: clamp(3.5rem, 4.5vw, 5rem);
	--nj-hero-pad-bottom: clamp(3rem, 4vw, 4.5rem);
	--nj-hero-content-min: clamp(8.5rem, 18vw, 12.5rem);
	--nj-header-scroll-padding: calc(var(--nj-hero-clearance) + 1rem);
	overflow-x: clip;
}

/* -------------------------------------------------------------------------- */
/* Elementor container width integration                                      */
/* Elementor Kit CSS sets .e-con{--container-max-width:1200px} (1024px at     */
/* <=1200 viewport, 767px at <=767 viewport) — see post-2692.css. That kit    */
/* ceiling was smaller than our own --nj-pp-content (76rem/1216px + gutter),  */
/* so plugin pages rendered narrower than intended even though our own shell */
/* width was already correct. Raise the ceiling only on plugin pages so our  */
/* own --nj-pp-content variable is the real constraint; below ~1320px the    */
/* min() falls back to 100%, so mobile/tablet gutters are unaffected.        */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .e-con {
	--container-max-width: min(1320px, 100%);
}

/* -------------------------------------------------------------------------- */
/* Page hero — Verdox .page-header on plugin pages only                       */
/* Clears .wgl-theme-header.header_overlap via padding, not margin hacks.     */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .page-header {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	overflow: hidden;
	background-color: var(--nj-pp-navy-900) !important;
	background-image:
		radial-gradient(ellipse 80% 60% at 100% 0%, rgba(14, 155, 195, 0.22), transparent 55%),
		radial-gradient(ellipse 50% 80% at 0% 100%, rgba(200, 164, 93, 0.12), transparent 50%),
		linear-gradient(135deg, var(--nj-pp-navy-950) 0%, var(--nj-pp-navy) 55%, #0b347a 100%) !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-attachment: scroll !important;
	border-style: solid !important;
	border-width: 0 0 3px 0 !important;
	border-color: var(--nj-pp-gold) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	/* Clearance for absolute/overlap header + content breathing room. */
	padding-top: calc(var(--nj-hero-clearance) + var(--nj-hero-pad-top)) !important;
	padding-bottom: var(--nj-hero-pad-bottom) !important;
	padding-inline: 0 !important;
	min-height: calc(var(--nj-hero-clearance) + var(--nj-hero-content-min) + var(--nj-hero-pad-bottom)) !important;
	color: var(--nj-pp-white);
}

/* Optional administrator-selected hero background (decorative; navy overlay for contrast). */
body.nj-plugin-page.has-njcms-hero-bg .page-header,
body.has-njcms-hero-bg .page-header {
	background-image:
		linear-gradient(rgba(11, 31, 58, 0.78), rgba(11, 31, 58, 0.78)),
		var(--njcms-hero-bg-image) !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}

body.nj-plugin-page .page-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.14;
	background-image:
		repeating-linear-gradient(
			-18deg,
			transparent,
			transparent 18px,
			rgba(255, 255, 255, 0.035) 18px,
			rgba(255, 255, 255, 0.035) 19px
		);
}

body.nj-plugin-page .page-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, transparent 0%, var(--nj-pp-gold) 20%, var(--nj-pp-gold) 80%, transparent 100%);
	transform-origin: center;
}

/* Kill temporary margin-top: 180px (and any similar wrapper push). */
body.nj-plugin-page .page-header .page-header_wrapper {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	width: 100%;
	height: auto;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0;
	padding-bottom: 0;
}

body.nj-plugin-page .page-header .wgl-container {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--page-title-max-width, calc(var(--verdox-elementor-container-width, 1200px) + var(--wgl-container-padding-desktop, 30px)));
	height: auto;
	margin-inline: auto;
	padding-inline: var(--nj-pp-gutter);
}

body.nj-plugin-page .page-header .page-header_content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 46rem;
	height: auto;
	margin-inline: auto;
	text-align: center;
	text-transform: none;
}

body.nj-plugin-page .page-header.page-header_align_left .page-header_content {
	align-items: flex-start;
	text-align: left;
	margin-inline: 0;
	max-width: 48rem;
}

body.nj-plugin-page .page-header.page-header_align_right .page-header_content {
	align-items: flex-end;
	text-align: right;
	margin-inline: 0 0 0 auto;
	max-width: 48rem;
}

body.nj-plugin-page .page-header.page-header_align_center .page-header_breadcrumbs,
body.nj-plugin-page .page-header.page-header_align_center .breadcrumbs {
	align-self: center;
	justify-content: center;
	text-align: center;
}

/* Restrained page-family emblem — decorative watermark only (never read by AT). */
body.nj-plugin-page .page-header .page-header_wrapper::after {
	content: "\f348";
	font-family: dashicons;
	speak: never;
	position: absolute;
	top: 50%;
	right: clamp(0.75rem, 3vw, 2.5rem);
	transform: translateY(-50%);
	z-index: 0;
	font-size: clamp(2.75rem, 5vw, 4.25rem);
	line-height: 1;
	color: var(--nj-pp-white);
	opacity: 0.07;
	pointer-events: none;
	user-select: none;
	display: none;
}

@media (min-width: 769px) {
	body.nj-plugin-page .page-header .page-header_wrapper::after {
		display: block;
	}
}

body.nj-plugin-page--court .page-header .page-header_wrapper::after { content: "\f16a"; }
body.nj-plugin-page--staff .page-header .page-header_wrapper::after { content: "\f307"; }
body.nj-plugin-page--tribunal .page-header .page-header_wrapper::after { content: "\f313"; }
body.nj-plugin-page--guide .page-header .page-header_wrapper::after { content: "\f497"; }
body.nj-plugin-page--registry .page-header .page-header_wrapper::after { content: "\f322"; }
body.nj-plugin-page--forms .page-header .page-header_wrapper::after { content: "\f497"; }
body.nj-plugin-page--fees .page-header .page-header_wrapper::after { content: "\f322"; }
body.nj-plugin-page--judgments .page-header .page-header_wrapper::after { content: "\f331"; }
body.nj-plugin-page--cause-list .page-header .page-header_wrapper::after { content: "\f508"; }
body.nj-plugin-page--publication .page-header .page-header_wrapper::after { content: "\f331"; }
body.nj-plugin-page--practitioners .page-header .page-header_wrapper::after { content: "\f336"; }

body.nj-plugin-page .page-header .page-header_title {
	margin: 0;
	margin-inline: auto;
	margin-left: auto !important; /* override Verdox -0.06em optical shift */
	max-width: min(40rem, 100%);
	width: 100%;
	font-family: Georgia, "Times New Roman", "Liberation Serif", serif;
	font-size: clamp(1.75rem, 2.8vw + 1rem, 3rem) !important; /* ~28–48px */
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.01em;
	color: var(--nj-pp-white) !important;
	text-align: center;
	text-transform: none !important;
	text-wrap: balance;
	overflow-wrap: anywhere;
	word-break: break-word;
	scroll-margin-top: var(--nj-header-scroll-padding, 5.5rem);
}

body.nj-plugin-page .page-header.page-header_align_left .page-header_title {
	margin-inline: 0;
	text-align: left;
}

body.nj-plugin-page .page-header.page-header_align_right .page-header_title {
	margin-inline: 0 0 0 auto;
	text-align: right;
}

body.nj-plugin-page .page-header .page-header_breadcrumbs {
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: min(40rem, 100%);
	margin: 1.15rem auto 0; /* ~18px title → breadcrumb */
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	align-self: center;
}

body.nj-plugin-page .page-header .page-header_breadcrumbs,
body.nj-plugin-page .page-header .breadcrumbs {
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	letter-spacing: normal;
	text-transform: none !important;
	flex-wrap: wrap;
}

body.nj-plugin-page .page-header .page-header_breadcrumbs .breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.65rem;
	margin: 0;
}

body.nj-plugin-page .page-header .page-header_breadcrumbs a,
body.nj-plugin-page .page-header .breadcrumbs a {
	color: #bdebff !important;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

body.nj-plugin-page .page-header .page-header_breadcrumbs a:hover,
body.nj-plugin-page .page-header .breadcrumbs a:hover,
body.nj-plugin-page .page-header .page-header_breadcrumbs a:focus-visible,
body.nj-plugin-page .page-header .breadcrumbs a:focus-visible {
	color: var(--nj-pp-white) !important;
}

body.nj-plugin-page .page-header .page-header_breadcrumbs .current,
body.nj-plugin-page .page-header .breadcrumbs .current {
	color: rgba(255, 255, 255, 0.95) !important;
	font-weight: 600;
}

body.nj-plugin-page .page-header .page-header_breadcrumbs .divider {
	opacity: 0.65;
	font-size: 0.7em;
}

/* -------------------------------------------------------------------------- */
/* Page shell                                                                 */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page #main.site-main {
	background:
		linear-gradient(180deg, var(--nj-pp-cool) 0%, var(--nj-pp-warm) 18rem, var(--nj-pp-white) 36rem);
}

body.nj-plugin-page .nj-page,
body.nj-plugin-page .nj-directory-page,
body.nj-plugin-page .nj-people-page,
body.nj-plugin-page .njcms-court-single-wrap,
body.nj-plugin-page .njcms-staff-single-wrap,
body.nj-plugin-page .njcms-tribunal-single-wrap,
body.nj-plugin-page .njcms-registry-single-wrap,
body.nj-plugin-page .njcms-court-guide-single-wrap,
body.nj-plugin-page .njcms-decision-single-wrap,
body.nj-plugin-page .njcms-report-single-wrap,
body.nj-plugin-page .njcms-announcement-single-wrap,
body.nj-plugin-page .njcms-vacancy-single-wrap {
	width: var(--nj-pp-content);
	max-width: var(--nj-pp-content);
	margin-inline: auto;
	padding-inline: var(--nj-pp-gutter);
	padding-block: clamp(0.5rem, 1.5vw, 1rem) clamp(2rem, 4vw, 3.5rem);
	color: var(--nj-pp-text);
	box-sizing: border-box;
}

body.nj-plugin-page .nj-page-shell__main {
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

/*
 * Shortcode roots nested inside .nj-page-shell already receive the outer gutter.
 * Strip duplicate width/padding so Related Laws / Statistics / etc. do not stack gutters.
 */
body.nj-plugin-page .nj-page-shell__main > .nj-page,
body.nj-plugin-page .nj-page-shell__main > .nj-directory-page,
body.nj-plugin-page .nj-page-shell__main > .njcms-ia,
body.nj-plugin-page .nj-page-shell__main > .njcms-ia.nj-page,
body.nj-plugin-page .nj-page-shell__main > .njcms-ia.nj-directory-page {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
	padding-block: 0;
}

/* IA modules on plugin pages: parent shells control measure, not paragraphs. */
body.nj-plugin-page .njcms-ia {
	--njcms-ia-prose-width: 66rem;
	max-width: min(1200px, 100%);
}

/* Nested measure only when IA is not already the shell's direct child. */
body.nj-plugin-page .nj-page-shell__main > .njcms-ia {
	max-width: none;
}

body.nj-plugin-page .njcms-ia-intro,
body.nj-plugin-page .njcms-ia-panel__body,
body.nj-plugin-page .njcms-ia-panel__body p {
	max-width: none;
}

/* Soft intro / hero-band (eyebrow + description; no H1).
   Default: full navy hero when theme .page-header is absent (common on listing pages).
   When .page-header exists, soft intro becomes a light attached band under it. */
body.nj-plugin-page .nj-page-shell__intro,
body.nj-plugin-page .njcms-page-chrome--intro-soft,
body.nj-plugin-page .njcms-page-chrome.njcms-page-chrome--intro.njcms-page-chrome--intro-soft,
body.nj-plugin-page .nj-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	box-sizing: border-box;
	/* Full-bleed breakout from .nj-page / chrome width constraints */
	width: 100vw !important;
	max-width: 100vw !important;
	left: 50%;
	right: auto;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	margin-top: 0 !important;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
	padding: clamp(1.5rem, 4vw, 2.75rem) max(var(--nj-pp-gutter), calc((100vw - min(76rem, 100vw - 2rem)) / 2)) !important;
	background-color: var(--nj-pp-navy-900) !important;
	background-image:
		radial-gradient(ellipse 80% 60% at 100% 0%, rgba(14, 155, 195, 0.22), transparent 55%),
		radial-gradient(ellipse 50% 80% at 0% 100%, rgba(200, 164, 93, 0.12), transparent 50%),
		linear-gradient(135deg, var(--nj-pp-navy-950) 0%, var(--nj-pp-navy) 55%, #0b347a 100%) !important;
	border: 0 !important;
	border-radius: 0 !important;
	border-bottom: 3px solid var(--nj-pp-gold) !important;
	box-shadow: none !important;
	color: var(--nj-pp-white);
}

body.nj-plugin-page .nj-page-shell__intro::before,
body.nj-plugin-page .njcms-page-chrome--intro-soft::before,
body.nj-plugin-page .nj-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.16;
	height: auto;
	background-image:
		repeating-linear-gradient(
			-18deg,
			transparent,
			transparent 18px,
			rgba(255, 255, 255, 0.035) 18px,
			rgba(255, 255, 255, 0.035) 19px
		);
}

body.nj-plugin-page .nj-page-shell__intro::after,
body.nj-plugin-page .njcms-page-chrome--intro-soft::after,
body.nj-plugin-page .nj-page-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, transparent 0%, var(--nj-pp-gold) 15%, var(--nj-pp-gold) 85%, transparent 100%);
}

body.nj-plugin-page .nj-page-shell__intro-inner,
body.nj-plugin-page .njcms-page-chrome__inner {
	position: relative;
	z-index: 1;
	max-width: var(--nj-pp-content);
	margin-inline: auto;
	width: 100%;
}

body.nj-plugin-page .nj-page-shell__eyebrow,
body.nj-plugin-page .njcms-page-chrome--intro-soft .njcms-page-chrome__eyebrow,
body.nj-plugin-page .nj-page-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nj-pp-gold) !important;
}

body.nj-plugin-page .nj-page-shell__eyebrow::before,
body.nj-plugin-page .njcms-page-chrome--intro-soft .njcms-page-chrome__eyebrow::before,
body.nj-plugin-page .nj-page-hero__eyebrow::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--nj-pp-gold);
}

body.nj-plugin-page .nj-page-shell__intro-text,
body.nj-plugin-page .njcms-page-chrome--intro-soft .njcms-page-chrome__description,
body.nj-plugin-page .nj-page-hero__intro {
	max-width: 46rem;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.88) !important;
}

body.nj-plugin-page .nj-page-shell__intro-text p,
body.nj-plugin-page .njcms-page-chrome--intro-soft .njcms-page-chrome__description p,
body.nj-plugin-page .nj-page-hero__intro p {
	margin: 0 0 0.65rem;
	color: inherit;
}

body.nj-plugin-page .nj-page-shell__intro-text p:last-child,
body.nj-plugin-page .njcms-page-chrome--intro-soft .njcms-page-chrome__description p:last-child,
body.nj-plugin-page .nj-page-hero__intro p:last-child {
	margin-bottom: 0;
}

body.nj-plugin-page .nj-page-hero__title,
body.nj-plugin-page .nj-page-shell__title,
body.nj-plugin-page .njcms-page-chrome--intro-soft .njcms-page-chrome__title {
	margin: 0 0 0.5rem;
	font-family: Georgia, "Times New Roman", "Liberation Serif", serif;
	font-size: clamp(1.5rem, 2.8vw, 2.15rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--nj-pp-white);
	display: block;
}

body.nj-plugin-page:has(.page-header) .nj-page-hero__title,
body.nj-plugin-page:has(.page-header) .nj-page-shell__title,
body.nj-plugin-page:has(.page-header) .njcms-page-chrome--intro-soft .njcms-page-chrome__title {
	color: var(--nj-pp-navy);
}
body.nj-plugin-page:has(.page-header) .nj-page-shell__intro,
body.nj-plugin-page:has(.page-header) .njcms-page-chrome--intro-soft,
body.nj-plugin-page:has(.page-header) .njcms-page-chrome.njcms-page-chrome--intro.njcms-page-chrome--intro-soft,
body.nj-plugin-page:has(.page-header) .nj-page-hero {
	background-color: transparent !important;
	background-image:
		radial-gradient(ellipse 70% 100% at 100% 0%, rgba(var(--nj-pp-pacific-rgb), 0.12), transparent 60%),
		linear-gradient(180deg, #eef4fb 0%, var(--nj-pp-white) 100%) !important;
	border-bottom: 1px solid var(--nj-pp-border) !important;
	color: var(--nj-pp-text);
	padding: clamp(1.15rem, 2.5vw, 1.65rem) var(--nj-pp-gutter) !important;
}

body.nj-plugin-page:has(.page-header) .nj-page-shell__intro::before,
body.nj-plugin-page:has(.page-header) .njcms-page-chrome--intro-soft::before,
body.nj-plugin-page:has(.page-header) .nj-page-hero::before {
	inset: 0 0 auto 0;
	height: 3px;
	opacity: 1;
	background-image: none;
	background: linear-gradient(90deg, transparent 0%, var(--nj-pp-gold) 15%, var(--nj-pp-gold) 85%, transparent 100%);
}

body.nj-plugin-page:has(.page-header) .nj-page-shell__intro::after,
body.nj-plugin-page:has(.page-header) .njcms-page-chrome--intro-soft::after,
body.nj-plugin-page:has(.page-header) .nj-page-hero::after {
	display: none;
}

body.nj-plugin-page:has(.page-header) .nj-page-shell__eyebrow,
body.nj-plugin-page:has(.page-header) .njcms-page-chrome--intro-soft .njcms-page-chrome__eyebrow,
body.nj-plugin-page:has(.page-header) .nj-page-hero__eyebrow {
	color: var(--nj-pp-gold-strong) !important;
}

body.nj-plugin-page:has(.page-header) .nj-page-shell__intro-text,
body.nj-plugin-page:has(.page-header) .njcms-page-chrome--intro-soft .njcms-page-chrome__description,
body.nj-plugin-page:has(.page-header) .nj-page-hero__intro {
	color: var(--nj-pp-muted) !important;
}

body.nj-plugin-page:has(.page-header) .nj-page-hero__title {
	color: var(--nj-pp-navy) !important;
}

/* -------------------------------------------------------------------------- */
/* Unblock plugin animation shells                                            */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .njcms-registrar__shell {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.nj-plugin-page .njcms-courts--list .njcms-courts__list-item {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--nj-pp-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.nj-plugin-page .njcms-courts--list .njcms-courts__list-item:last-child {
	border-bottom: 0 !important;
}

body.nj-plugin-page .njcms-courts--list .njcms-courts__list-item:hover {
	transform: none;
	box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* Typography / HTML content                                                  */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .nj-page h2,
body.nj-plugin-page .nj-page-shell__main h2,
body.nj-plugin-page .njcms-court-single-wrap h2,
body.nj-plugin-page .njcms-staff-single-wrap h2,
body.nj-plugin-page .njcms-tribunal-single-wrap h2,
body.nj-plugin-page .njcms-registry-single-wrap h2,
body.nj-plugin-page .njcms-court-guide-single-wrap h2,
body.nj-plugin-page .njcms-decision-single-wrap h2,
body.nj-plugin-page .njcms-report-single-wrap h2,
body.nj-plugin-page .njcms-announcement-single-wrap h2,
body.nj-plugin-page .njcms-vacancy-single-wrap h2,
body.nj-plugin-page .nj-section__title,
body.nj-plugin-page .nj-people-section-header__title,
body.nj-plugin-page .nj-section-block__title,
body.nj-plugin-page .njcms-court-section__heading {
	margin: 1.75rem 0 0.85rem;
	padding-bottom: 0.45rem;
	font-family: Georgia, "Times New Roman", "Liberation Serif", serif;
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--nj-pp-navy);
	border-bottom: 1px solid var(--nj-pp-border);
	scroll-margin-top: calc(var(--nj-header-scroll-padding, 5.5rem) + 0.5rem);
}

body.nj-plugin-page .nj-page h2:first-child,
body.nj-plugin-page .nj-page-shell__main h2:first-child,
body.nj-plugin-page .nj-section__title:first-child {
	margin-top: 0.25rem;
}

body.nj-plugin-page .nj-page h2::after,
body.nj-plugin-page .nj-section__title::after,
body.nj-plugin-page .nj-people-section-header__title::after,
body.nj-plugin-page .nj-section-block__title::after,
body.nj-plugin-page .njcms-court-section__heading::after {
	content: "";
	display: block;
	width: 2.25rem;
	height: 2px;
	margin-top: 0.45rem;
	background: var(--nj-pp-gold);
	border-radius: 1px;
}

body.nj-plugin-page .nj-page h3,
body.nj-plugin-page .nj-page-shell__main h3,
body.nj-plugin-page .njcms-court-single-wrap h3,
body.nj-plugin-page .njcms-staff-single-wrap h3 {
	margin: 1.35rem 0 0.55rem;
	font-size: clamp(1.05rem, 1.6vw, 1.2rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--nj-pp-navy);
	scroll-margin-top: calc(var(--nj-header-scroll-padding, 5.5rem) + 0.5rem);
}

body.nj-plugin-page .nj-page h4,
body.nj-plugin-page .nj-page h5,
body.nj-plugin-page .nj-page h6,
body.nj-plugin-page .nj-page-shell__main h4,
body.nj-plugin-page .nj-page-shell__main h5,
body.nj-plugin-page .nj-page-shell__main h6 {
	margin: 1.1rem 0 0.45rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--nj-pp-text);
}

body.nj-plugin-page .nj-page p,
body.nj-plugin-page .nj-page-shell__main p,
body.nj-plugin-page .njcms-court-single-wrap p,
body.nj-plugin-page .njcms-staff-single-wrap p {
	max-width: none;
	width: auto;
	margin: 0 0 1rem;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--nj-pp-text);
}

/* Prose lists: indentation only (not padding on all four sides). */
body.nj-plugin-page .nj-page ul,
body.nj-plugin-page .nj-page ol,
body.nj-plugin-page .nj-page-shell__main ul,
body.nj-plugin-page .nj-page-shell__main ol {
	max-width: none;
	width: auto;
	margin: 0 0 1.15rem;
	padding-inline-start: 1.35rem;
	padding-inline-end: 0;
	padding-block: 0;
	color: var(--nj-pp-text);
}

/*
 * Component / role=list lists are layout grids — do not inherit prose indent.
 * Use explicit selectors (not ul[class*="njcms-"]) so genuine bullet lists
 * such as History highlights / references keep indentation.
 */
body.nj-plugin-page .nj-page-shell__main ul.njcms-courts__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-guides__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-staff__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-forms__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-reports__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-announcements__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-vacancies__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-registry__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-ia-values,
body.nj-plugin-page .nj-page-shell__main ul.njcms-ia-legal-system__nav-list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-ia-cause-tabs__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-ia-stat-chart-row__legend,
body.nj-plugin-page .nj-page-shell__main ul.njcms-home-stats__grid,
body.nj-plugin-page .nj-page-shell__main ul.njcms-court-chip-grid,
body.nj-plugin-page .nj-page-shell__main ul.njcms-court-panel,
body.nj-plugin-page .nj-page-shell__main ul.nj-meta-list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-ia-meta-list,
body.nj-plugin-page .nj-page-shell__main ul.nj-contact-list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-ia-contact-list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-home-hero-values-strip__list,
body.nj-plugin-page .nj-page-shell__main ul.njcms-practitioner-directory__guidance-list,
body.nj-plugin-page .nj-page ul[role="list"],
body.nj-plugin-page .nj-page-shell__main ul[role="list"] {
	padding-inline-start: 0;
	margin-bottom: 0;
	list-style: none;
}

/* History / reference bullet lists remain readable prose lists. */
body.nj-plugin-page .njcms-about-history__list,
body.nj-plugin-page .njcms-about-history__refs-list {
	padding-inline-start: 1.25rem;
	margin: 0;
	list-style: disc;
}

body.nj-plugin-page .nj-page li,
body.nj-plugin-page .nj-page-shell__main li {
	margin-bottom: 0.4rem;
	line-height: 1.65;
}

body.nj-plugin-page .nj-page li > ul,
body.nj-plugin-page .nj-page li > ol,
body.nj-plugin-page .nj-page-shell__main li > ul,
body.nj-plugin-page .nj-page-shell__main li > ol {
	margin-top: 0.35rem;
	margin-bottom: 0.35rem;
}

body.nj-plugin-page .nj-page a,
body.nj-plugin-page .nj-page-shell__main a {
	color: var(--nj-pp-link);
	text-decoration: underline;
	text-underline-offset: 0.15em;
	overflow-wrap: anywhere;
}

body.nj-plugin-page .nj-page a:hover,
body.nj-plugin-page .nj-page-shell__main a:hover {
	color: var(--nj-pp-navy-900);
}

body.nj-plugin-page .nj-page a:focus-visible,
body.nj-plugin-page .nj-page-shell__main a:focus-visible,
body.nj-plugin-page .nj-page button:focus-visible,
body.nj-plugin-page .nj-page input:focus-visible,
body.nj-plugin-page .nj-page select:focus-visible,
body.nj-plugin-page .nj-page textarea:focus-visible,
body.nj-plugin-page .page-header a:focus-visible {
	outline: 3px solid var(--nj-pp-focus);
	outline-offset: 2px;
}

body.nj-plugin-page .page-header a:focus-visible {
	outline-color: var(--nj-pp-white);
}

body.nj-plugin-page .nj-page blockquote,
body.nj-plugin-page .nj-page-shell__main blockquote {
	margin: 1.25rem 0;
	padding: 0.85rem 1rem 0.85rem 1.15rem;
	max-width: none;
	width: auto;
	border-left: 4px solid var(--nj-pp-gold);
	background: var(--nj-pp-cool);
	color: var(--nj-pp-text);
	font-style: italic;
}

body.nj-plugin-page .nj-page hr,
body.nj-plugin-page .nj-page-shell__main hr {
	border: 0;
	border-top: 1px solid var(--nj-pp-border);
	margin: 1.75rem 0;
}

body.nj-plugin-page .nj-page img,
body.nj-plugin-page .nj-page-shell__main img,
body.nj-plugin-page .njcms-staff-single__img,
body.nj-plugin-page .njcms-court-intro img {
	max-width: 100%;
	height: auto;
}

body.nj-plugin-page .nj-page figure,
body.nj-plugin-page .nj-page-shell__main figure {
	margin: 1.25rem 0;
}

body.nj-plugin-page .nj-page figcaption,
body.nj-plugin-page .nj-page-shell__main figcaption {
	margin-top: 0.4rem;
	font-size: 0.875rem;
	color: var(--nj-pp-muted);
}

body.nj-plugin-page .nj-page dl,
body.nj-plugin-page .nj-page-shell__main dl {
	max-width: none;
	width: auto;
	margin: 0 0 1.15rem;
}

body.nj-plugin-page .nj-page dt {
	font-weight: 700;
	color: var(--nj-pp-navy);
}

body.nj-plugin-page .nj-page dd {
	margin: 0.2rem 0 0.75rem;
}

body.nj-plugin-page .nj-page iframe,
body.nj-plugin-page .nj-page embed,
body.nj-plugin-page .nj-page video,
body.nj-plugin-page .nj-page-shell__main iframe,
body.nj-plugin-page .nj-page-shell__main embed,
body.nj-plugin-page .nj-page-shell__main video {
	max-width: 100%;
}

/* -------------------------------------------------------------------------- */
/* Premium card system — shared recipe + controlled variants                  */
/* -------------------------------------------------------------------------- */

/*
 * Card surfaces — exclude:
 * - BEM elements matching via block name (*-card__prose/content/…)
 * - guide meta tiles/wrappers (*__meta-card / *__meta-cards)
 * - design-section utility classes (njcms-card-standard|featured|…)
 * - layout modifiers (*--cards) that are grids, not card surfaces
 * Section chrome lives on .njcms-design-section (see nested-surface block below).
 */
body.nj-plugin-page .nj-card,
body.nj-plugin-page .nj-panel,
body.nj-plugin-page .njcms-court-card,
body.nj-plugin-page .njcms-courts__card,
body.nj-plugin-page .njcms-announcement-card,
body.nj-plugin-page [class*="njcms-"][class*="-card"]:not([class*="-card__"]):not([class*="__meta-card"]):not([class*="njcms-card-"]):not([class*="--cards"]):not(.njcms-design-section):not(.njcms-court-intro),
body.nj-plugin-page .nj-people-card,
body.nj-plugin-page .nj-profile-card,
body.nj-plugin-page .nj-profile-featured-card,
body.nj-plugin-page .njcms-ia-staff-card,
body.nj-plugin-page .nj-result-card,
body.nj-plugin-page .njcms-ia-link-card,
body.nj-plugin-page .njcms-ia .nj-card {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, var(--nj-pp-warm) 100%);
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	box-shadow: var(--nj-pp-shadow);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

/* Gold accent bar — top edge, shared identity across all card variants */
body.nj-plugin-page .nj-card::before,
body.nj-plugin-page .nj-panel::before,
body.nj-plugin-page .njcms-court-card::before,
body.nj-plugin-page .njcms-courts__card::before,
body.nj-plugin-page .njcms-announcement-card::before,
body.nj-plugin-page [class*="njcms-"][class*="-card"]:not([class*="-card__"]):not([class*="__meta-card"]):not([class*="njcms-card-"]):not([class*="--cards"]):not(.njcms-design-section):not(.njcms-court-intro)::before,
body.nj-plugin-page .nj-people-card::before,
body.nj-plugin-page .nj-result-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg, var(--nj-pp-gold-strong), var(--nj-pp-gold) 55%, var(--nj-pp-gold-strong));
	opacity: 0.9;
	pointer-events: none;
}

body.nj-plugin-page .nj-card,
body.nj-plugin-page .nj-panel,
body.nj-plugin-page .njcms-court-card,
body.nj-plugin-page .njcms-courts__card,
body.nj-plugin-page .njcms-announcement-card,
body.nj-plugin-page [class*="njcms-"][class*="-card"]:not([class*="-card__"]):not([class*="__meta-card"]):not([class*="njcms-card-"]):not([class*="--cards"]):not(.njcms-design-section):not(.njcms-court-intro),
body.nj-plugin-page .nj-people-card,
body.nj-plugin-page .nj-result-card {
	overflow: hidden;
}

body.nj-plugin-page .nj-card,
body.nj-plugin-page .nj-card--law,
body.nj-plugin-page .njcms-ia-card,
body.nj-plugin-page .njcms-ia .nj-card {
	padding: var(--nj-pp-card-pad);
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

/* Nested prose / content shells — layout + type only (never a second card). */
body.nj-plugin-page .njcms-court-card__prose,
body.nj-plugin-page.njcms-court-single .njcms-court-card__prose,
body.nj-plugin-page .njcms-about-card__content,
body.nj-plugin-page .njcms-about-history__prose,
body.nj-plugin-page [class*="njcms-"][class*="-card__prose"],
body.nj-plugin-page [class*="njcms-"][class*="-card__content"] {
	position: static;
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	font-size: 1.0625rem;
	line-height: 1.72;
}

body.nj-plugin-page .njcms-court-card__prose::before,
body.nj-plugin-page .njcms-court-card__prose::after,
body.nj-plugin-page .njcms-about-card__content::before,
body.nj-plugin-page .njcms-about-card__content::after,
body.nj-plugin-page .njcms-about-history__prose::before,
body.nj-plugin-page .njcms-about-history__prose::after,
body.nj-plugin-page [class*="njcms-"][class*="-card__prose"]::before,
body.nj-plugin-page [class*="njcms-"][class*="-card__prose"]::after,
body.nj-plugin-page [class*="njcms-"][class*="-card__content"]::before,
body.nj-plugin-page [class*="njcms-"][class*="-card__content"]::after {
	content: none;
	display: none;
}

/* One gold accent only — suppress ::before when border-top already provides it. */
body.nj-plugin-page .njcms-ia-card--accent::before,
body.nj-plugin-page .njcms-about-history__main::before,
body.nj-plugin-page .njcms-about-history__main.njcms-about-card::before,
body.nj-plugin-page .njcms-design-section.njcms-card-standard .njcms-ia-card--accent::before {
	content: none;
	display: none;
}

/* Officer / profile cards use a side accent instead (media sits at the top) */
body.nj-plugin-page .nj-profile-card,
body.nj-plugin-page .nj-profile-featured-card,
body.nj-plugin-page .njcms-ia-staff-card {
	border-left: 3px solid var(--nj-pp-gold);
}

body.nj-plugin-page .nj-card:hover,
body.nj-plugin-page .nj-panel:hover,
body.nj-plugin-page .nj-people-card:hover,
body.nj-plugin-page .nj-profile-card:hover,
body.nj-plugin-page .nj-profile-featured-card:hover,
body.nj-plugin-page .njcms-ia-staff-card:hover,
body.nj-plugin-page .njcms-courts__card:hover,
body.nj-plugin-page .njcms-ia-link-card:hover,
body.nj-plugin-page a.nj-card:hover {
	transform: translateY(-3px);
	border-color: #bcc9d9;
	box-shadow: var(--nj-pp-shadow-hover);
}

body.nj-plugin-page .nj-card:focus-visible,
body.nj-plugin-page a.nj-card:focus-visible,
body.nj-plugin-page .njcms-courts__card a:focus-visible,
body.nj-plugin-page .nj-result-card a:focus-visible,
body.nj-plugin-page .njcms-ia-link-card:focus-visible {
	outline: 3px solid var(--nj-pp-focus);
	outline-offset: 2px;
}

/* Footer chrome note (not an empty-state panel). */
body.nj-plugin-page .njcms-page-chrome--footer {
	padding: 0.75rem 1rem;
	border: 1px dashed var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-cool);
	color: var(--nj-pp-muted);
	line-height: 1.5;
	font-size: 0.95rem;
}

/* Portrait / avatar media */
body.nj-plugin-page .njcms-staff-single__figure,
body.nj-plugin-page .nj-people-card__media,
body.nj-plugin-page .njcms-staff-card__media,
body.nj-plugin-page .nj-avatar,
body.nj-plugin-page .njcms-ia-staff-card__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--nj-pp-radius);
	background: linear-gradient(160deg, var(--nj-pp-navy) 0%, var(--nj-pp-navy-900) 100%);
}

/*
 * Judiciary Staff contact cards use compact square avatars beside text.
 * Keep the shared 4:5 portrait treatment for profile/officer cards only.
 */
body.nj-plugin-page .nj-staff-card .nj-avatar.nj-avatar--sm {
	aspect-ratio: 1 / 1;
	width: 72px;
	height: 72px;
	max-width: 72px;
	flex-shrink: 0;
}

body.nj-plugin-page .nj-staff-card .nj-avatar.nj-avatar--sm img {
	width: 100%;
	height: 100%;
}

body.nj-plugin-page .nj-staff-card .nj-avatar__initials {
	font-size: 1.15rem;
}

body.nj-plugin-page .nj-staff-card .nj-avatar__initials::after {
	inset: 0.35rem;
}

body.nj-plugin-page .nj-staff-card__body {
	min-width: 0;
}

body.nj-plugin-page #main .nj-staff-card .nj-contact-list__label,
body.nj-plugin-page .nj-page-shell__main .nj-staff-card .nj-contact-list__label {
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
}

body.nj-plugin-page #main .nj-staff-card .nj-contact-list__value,
body.nj-plugin-page .nj-page-shell__main .nj-staff-card .nj-contact-list__value,
body.nj-plugin-page #main .nj-staff-card .nj-staff-card__name,
body.nj-plugin-page #main .nj-staff-card .nj-staff-card__role {
	word-break: normal;
	overflow-wrap: break-word;
}

@media (max-width: 639px) {
	body.nj-plugin-page .nj-staff-card .nj-avatar.nj-avatar--sm {
		width: 64px;
		height: 64px;
		max-width: 64px;
	}
}

@media (max-width: 359px) {
	body.nj-plugin-page .nj-staff-card .nj-avatar.nj-avatar--sm {
		width: 56px;
		height: 56px;
		max-width: 56px;
	}

	body.nj-plugin-page #main .nj-staff-card .nj-contact-list__label {
		white-space: normal;
	}
}

body.nj-plugin-page .njcms-staff-single__img,
body.nj-plugin-page .nj-people-card__media img,
body.nj-plugin-page .njcms-staff-card__media img,
body.nj-plugin-page .nj-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
}

/* Intentional placeholder — never a broken/empty grey box */
body.nj-plugin-page .nj-avatar__initials,
body.nj-plugin-page .njcms-ia-staff-card__initials {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Georgia, "Times New Roman", "Liberation Serif", serif;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	color: var(--nj-pp-white);
	letter-spacing: 0.02em;
	background:
		radial-gradient(ellipse 90% 70% at 50% 0%, rgba(var(--nj-pp-gold-rgb), 0.22), transparent 65%);
}

body.nj-plugin-page .nj-avatar__initials::after,
body.nj-plugin-page .njcms-ia-staff-card__initials::after {
	content: "";
	position: absolute;
	inset: 0.6rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 0.35rem;
	pointer-events: none;
}

/* Download / CTA buttons inside plugin pages */
body.nj-plugin-page .nj-page .nj-button,
body.nj-plugin-page .nj-page .nj-btn,
body.nj-plugin-page .nj-page .button,
body.nj-plugin-page .nj-page button:not([class*="menu"]):not(.button_switcher),
body.nj-plugin-page .nj-page input[type="submit"],
body.nj-plugin-page .nj-page input[type="button"],
body.nj-plugin-page .nj-page .njcms-btn,
body.nj-plugin-page .nj-page [class*="download"] a.button {
	min-height: var(--nj-pp-touch);
	padding: 0.65rem 1.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	border-radius: var(--nj-pp-radius);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

body.nj-plugin-page .nj-page .nj-button--primary,
body.nj-plugin-page .nj-page .nj-btn--primary,
body.nj-plugin-page .nj-page .button.button-primary {
	background: var(--nj-pp-navy);
	border: 1px solid var(--nj-pp-navy);
	color: var(--nj-pp-white);
}

body.nj-plugin-page .nj-link-arrow::after,
body.nj-plugin-page .nj-page a.nj-link-arrow::after,
body.nj-plugin-page .njcms-courts__btn--primary::after,
body.nj-plugin-page .nj-profile-card__bio-link::after,
body.nj-plugin-page .njcms-ia-link-card::after {
	content: " →";
	display: inline-block;
	transition: transform 0.2s ease;
}

body.nj-plugin-page .nj-link-arrow:hover::after,
body.nj-plugin-page .nj-page a.nj-link-arrow:hover::after,
body.nj-plugin-page .njcms-courts__btn--primary:hover::after,
body.nj-plugin-page .nj-profile-card__bio-link:hover::after,
body.nj-plugin-page .njcms-ia-link-card:hover::after {
	transform: translateX(3px);
}

body.nj-plugin-page .njcms-ia-link-card {
	display: block;
	padding: 0.85rem 1.1rem;
	font-weight: 600;
	color: var(--nj-pp-link);
	text-decoration: none;
}

body.nj-plugin-page .njcms-ia-link-card:hover {
	color: var(--nj-pp-navy-900);
}

/* -------------------------------------------------------------------------- */
/* Filters, forms, search controls                                            */
/* -------------------------------------------------------------------------- */

/*
 * Card chrome belongs on the filter BAR root only.
 * Do not use [class*="filter-bar"] — that matches BEM children
 * (.nj-filter-bar__search, __segment, etc.) and nests bordered panels.
 */
body.nj-plugin-page .nj-filter-bar,
body.nj-plugin-page .njcms-filters,
body.nj-plugin-page [class*="njcms-"][class*="-filters"] {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin-bottom: 1.5rem;
	padding: 1.1rem 1.25rem;
	background: linear-gradient(180deg, #ffffff 0%, var(--nj-pp-cool) 100%);
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius-lg);
	box-shadow: var(--nj-pp-shadow);
}

body.nj-plugin-page .nj-filter-bar__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 0.75rem;
	align-items: center;
}

body.nj-plugin-page .nj-filter-bar__row--chips {
	padding-top: 0.6rem;
	border-top: 1px solid var(--nj-pp-border);
}

body.nj-plugin-page .nj-filter-bar__search {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	flex: 1 1 18rem;
	min-width: 0;
}

/* Visible label: the accessible name already exists in markup as screen-reader
   text — reveal it visually inside the filter bar instead of duplicating copy. */
body.nj-plugin-page .nj-filter-bar__search .screen-reader-text {
	position: static !important;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	clip: auto;
	overflow: visible;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--nj-pp-navy);
	text-transform: uppercase;
}

body.nj-plugin-page .nj-filter-bar__label {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--nj-pp-navy);
	margin-right: 0.15rem;
}

body.nj-plugin-page .nj-filter-bar__label--status {
	margin-left: 0.5rem;
	padding-left: 0.75rem;
	border-left: 1px solid var(--nj-pp-border);
}

body.nj-plugin-page .nj-filter-bar__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	min-height: 2.5rem;
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: 999px;
	background: var(--nj-pp-white);
	color: var(--nj-pp-text);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

body.nj-plugin-page .nj-filter-bar__chip:hover {
	border-color: var(--nj-pp-pacific);
}

/* Active state is signalled with fill + a checkmark, not colour alone */
body.nj-plugin-page .nj-filter-bar__chip.is-active,
body.nj-plugin-page .nj-filter-bar__chip[aria-pressed="true"] {
	background: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
	color: var(--nj-pp-white);
}

body.nj-plugin-page .nj-filter-bar__chip.is-active::before,
body.nj-plugin-page .nj-filter-bar__chip[aria-pressed="true"]::before {
	content: "\f147";
	font-family: dashicons;
	font-size: 0.9rem;
	line-height: 1;
}

body.nj-plugin-page .nj-filter-bar__chip:focus-visible {
	outline: 3px solid var(--nj-pp-focus);
	outline-offset: 2px;
}

body.nj-plugin-page .nj-filter-bar__clear {
	min-height: 2.5rem;
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-white);
	color: var(--nj-pp-muted);
	font-weight: 600;
	cursor: pointer;
}

body.nj-plugin-page .nj-filter-bar__input {
	min-height: var(--nj-pp-touch);
}

body.nj-plugin-page .nj-filter-bar label,
body.nj-plugin-page .njcms-filters label,
body.nj-plugin-page .nj-page form label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--nj-pp-navy);
}

body.nj-plugin-page .nj-page input[type="search"],
body.nj-plugin-page .nj-page input[type="text"],
body.nj-plugin-page .nj-page input[type="email"],
body.nj-plugin-page .nj-page input[type="tel"],
body.nj-plugin-page .nj-page input[type="date"],
body.nj-plugin-page .nj-page input[type="number"],
body.nj-plugin-page .nj-page select,
body.nj-plugin-page .nj-page textarea {
	min-height: var(--nj-pp-touch);
	width: 100%;
	max-width: 100%;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-white);
	color: var(--nj-pp-text);
	font-size: 1rem;
}

body.nj-plugin-page .nj-page .error,
body.nj-plugin-page .nj-page .njcms-error,
body.nj-plugin-page .nj-page [role="alert"] {
	color: #a21d2d;
	background: #fbe8eb;
	border: 1px solid #f0c4cb;
	border-radius: var(--nj-pp-radius);
	padding: 0.75rem 1rem;
}

body.nj-plugin-page .nj-page .notice,
body.nj-plugin-page .nj-page .njcms-notice {
	color: #075985;
	background: #e4f3f8;
	border: 1px solid #b9e3ee;
	border-radius: var(--nj-pp-radius);
	padding: 0.75rem 1rem;
}

/* -------------------------------------------------------------------------- */
/* Tables                                                                     */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .nj-page table,
body.nj-plugin-page .nj-page-shell__main table,
body.nj-plugin-page .njcms-fee-tables table,
body.nj-plugin-page .njcms-ia table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.96875rem;
	background: var(--nj-pp-white);
}

body.nj-plugin-page .nj-page th,
body.nj-plugin-page .nj-page-shell__main th {
	text-align: left;
	padding: 0.75rem 0.85rem;
	background: var(--nj-pp-navy);
	color: var(--nj-pp-white);
	font-weight: 600;
	border: 1px solid var(--nj-pp-navy-900);
}

body.nj-plugin-page .nj-page td,
body.nj-plugin-page .nj-page-shell__main td {
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--nj-pp-border);
	vertical-align: top;
	color: var(--nj-pp-text);
}

body.nj-plugin-page .nj-page tbody tr:nth-child(even) td {
	background: var(--nj-pp-cool);
}

body.nj-plugin-page .nj-table-scroll,
body.nj-plugin-page .nj-page .njcms-table-wrap,
body.nj-plugin-page .nj-page [class*="table-wrap"],
body.nj-plugin-page .nj-page [class*="table-scroll"] {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
}

/* Auto-wrap bare tables that lack a scroll parent (JS may also add .nj-table-scroll) */
body.nj-plugin-page .nj-page-shell__main > table,
body.nj-plugin-page .njcms-fee-tables > table {
	display: block;
	width: 100%;
	overflow-x: auto;
}

/* -------------------------------------------------------------------------- */
/* Result rows — Cause List & Legal Practitioners                             */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .nj-result-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* Cause List mobile list must stay hidden on desktop (plugin layout owns visibility). */
body.nj-plugin-page .nj-page--cause-list .nj-result-list--cause-mobile,
body.nj-plugin-page .nj-directory-page--cause-list .nj-result-list--cause-mobile,
body.nj-plugin-page .nj-page--cause-list .nj-cause-list__mobile,
body.nj-plugin-page .nj-directory-page--cause-list .nj-cause-list__mobile {
	display: none !important;
}

@media (max-width: 768px) {
	body.nj-plugin-page .nj-page--cause-list .nj-result-list--cause-mobile,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-result-list--cause-mobile,
	body.nj-plugin-page .nj-page--cause-list .nj-cause-list__mobile,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-cause-list__mobile {
		display: flex !important;
		flex-direction: column;
		gap: 0.75rem;
	}

	body.nj-plugin-page .nj-page--cause-list .nj-cause-list__desktop,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-cause-list__desktop {
		display: none !important;
	}
}

body.nj-plugin-page .nj-result-card {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 1rem 1.15rem 1rem 1.3rem;
}

body.nj-plugin-page .nj-result-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

body.nj-plugin-page .nj-result-card__head-left {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
}

body.nj-plugin-page .nj-result-card__time {
	font-weight: 700;
	color: var(--nj-pp-navy);
	font-variant-numeric: tabular-nums;
}

body.nj-plugin-page .nj-result-card__case-no {
	font-size: 0.875rem;
	color: var(--nj-pp-muted);
	font-family: "Courier New", Consolas, monospace;
}

body.nj-plugin-page .nj-result-card__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--nj-pp-navy);
	overflow-wrap: anywhere;
}

body.nj-plugin-page .nj-result-card__identity {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

body.nj-plugin-page .nj-result-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

body.nj-plugin-page .nj-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	background: var(--nj-pp-cool);
	color: var(--nj-pp-navy);
	border: 1px solid var(--nj-pp-border);
}

body.nj-plugin-page .nj-badge--gold {
	background: rgba(var(--nj-pp-gold-rgb), 0.16);
	border-color: rgba(var(--nj-pp-gold-rgb), 0.5);
	color: var(--nj-pp-gold-strong);
}

/* Status badges: colour is reinforced with an icon, never colour-only */
body.nj-plugin-page .nj-badge--success {
	background: #eaf6ec;
	border-color: #bfe3c4;
	color: #276b34;
}

body.nj-plugin-page .nj-badge--success::before {
	content: "\f147";
	font-family: dashicons;
	margin-right: 0.2rem;
	font-size: 0.85rem;
}

body.nj-plugin-page .nj-badge--warning {
	background: #fdf3e3;
	border-color: #f0d9a8;
	color: #8a5a12;
}

body.nj-plugin-page .nj-badge--warning::before {
	content: "\f534";
	font-family: dashicons;
	margin-right: 0.2rem;
	font-size: 0.85rem;
}

body.nj-plugin-page .nj-badge--muted {
	background: var(--nj-pp-cool);
	border-color: var(--nj-pp-border);
	color: var(--nj-pp-muted);
}

body.nj-plugin-page .nj-badge--muted::before {
	content: "\f158";
	font-family: dashicons;
	margin-right: 0.2rem;
	font-size: 0.85rem;
}

body.nj-plugin-page .nj-meta-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.nj-plugin-page .nj-meta-list__item {
	display: flex;
	gap: 0.35rem;
	font-size: 0.9rem;
	color: var(--nj-pp-text);
}

body.nj-plugin-page .nj-meta-list__label {
	font-weight: 700;
	color: var(--nj-pp-muted);
}

body.nj-plugin-page .nj-result-card__details p {
	margin: 0 0 0.3rem;
	font-size: 0.9375rem;
}

body.nj-plugin-page .nj-action-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.15rem;
}

body.nj-plugin-page .nj-action-buttons__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 2.5rem;
	padding: 0.4rem 0.85rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-white);
	color: var(--nj-pp-link);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

body.nj-plugin-page .nj-action-buttons__btn:hover {
	border-color: var(--nj-pp-pacific);
	color: var(--nj-pp-navy-900);
}

body.nj-plugin-page .nj-action-buttons__btn--pdf::before {
	content: "\f497";
	font-family: dashicons;
}

body.nj-plugin-page .nj-action-buttons__btn--email::before {
	content: "\f465";
	font-family: dashicons;
}

body.nj-plugin-page .nj-action-buttons__btn--phone::before {
	content: "\f525";
	font-family: dashicons;
}

/* Desktop: align result rows into scannable columns (table-like), while keeping
   accessible semantic markup (headings, labelled meta list) rather than a literal
   <table> — this preserves the existing filter/search JS untouched. */
@media (min-width: 900px) {
	body.nj-plugin-page .nj-result-card--cause {
		flex-direction: row;
		align-items: center;
		gap: 1.25rem;
	}

	/* .nj-result-card__main already contains .head, .title (h4) and .nj-meta-list
	   as direct siblings in markup — grid-place them into a time/case column and
	   a title+meta column without altering the DOM or JS. */
	body.nj-plugin-page .nj-result-card--cause .nj-result-card__main {
		display: grid;
		grid-template-columns: 11rem 1fr;
		column-gap: 1.25rem;
		row-gap: 0.35rem;
		align-items: start;
		flex: 1;
		min-width: 0;
	}

	body.nj-plugin-page .nj-result-card--cause .nj-result-card__head {
		grid-column: 1;
		grid-row: 1 / 3;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}

	body.nj-plugin-page .nj-result-card--cause .nj-result-card__title {
		grid-column: 2;
		grid-row: 1;
	}

	body.nj-plugin-page .nj-result-card--cause .nj-meta-list {
		grid-column: 2;
		grid-row: 2;
	}

	body.nj-plugin-page .nj-result-card--cause .nj-result-card__actions {
		margin-top: 0;
		flex-shrink: 0;
	}

	/* .nj-result-card--practitioner has .identity / .details / .actions as direct
	   siblings already — place them as name / firm details / contact columns. */
	body.nj-plugin-page .nj-result-card--practitioner {
		display: grid;
		grid-template-columns: minmax(10rem, 15rem) 1fr auto;
		align-items: start;
		gap: 0.5rem 1.5rem;
	}

	body.nj-plugin-page .nj-result-card--practitioner .nj-result-card__identity {
		grid-column: 1;
		flex-direction: column;
		align-items: flex-start;
	}

	body.nj-plugin-page .nj-result-card--practitioner .nj-result-card__details {
		grid-column: 2;
	}

	body.nj-plugin-page .nj-result-card--practitioner .nj-result-card__actions {
		grid-column: 3;
		margin-top: 0;
		flex-direction: column;
		align-items: flex-end;
	}
}

/* -------------------------------------------------------------------------- */
/* Pagination, related, back links                                            */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .nj-page .pagination,
body.nj-plugin-page .nj-page .nav-links,
body.nj-plugin-page .nj-page .njcms-pagination,
body.nj-plugin-page .nj-page [class*="pagination"] {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

body.nj-plugin-page .nj-page .pagination a,
body.nj-plugin-page .nj-page .nav-links a,
body.nj-plugin-page .nj-page .pagination span {
	min-height: var(--nj-pp-touch);
	min-width: var(--nj-pp-touch);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-white);
	text-decoration: none;
}

body.nj-plugin-page .nj-page .pagination .current,
body.nj-plugin-page .nj-page .nav-links .current {
	background: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
	color: var(--nj-pp-white);
	font-weight: 700;
}

body.nj-plugin-page .nj-page [class*="back"],
body.nj-plugin-page .njcms-staff-single__back,
body.nj-plugin-page .njcms-court-single a[rel="prev"],
body.nj-plugin-page a.njcms-back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: var(--nj-pp-touch);
	font-weight: 600;
}

body.nj-plugin-page .njcms-court-resources,
body.nj-plugin-page .nj-page [class*="related"] {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--nj-pp-border);
}

/* On-this-page / sidebar nav */
body.nj-plugin-page .nj-page-shell__toc,
body.nj-plugin-page .nj-on-this-page,
body.nj-plugin-page nav.nj-toc {
	margin-bottom: 1.25rem;
	padding: 0.85rem 1rem;
	background: var(--nj-pp-white);
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
}

body.nj-plugin-page .nj-on-this-page summary,
body.nj-plugin-page .nj-page-shell__toc summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--nj-pp-navy);
	min-height: var(--nj-pp-touch);
	display: flex;
	align-items: center;
}

/* -------------------------------------------------------------------------- */
/* Grids                                                                      */
/* -------------------------------------------------------------------------- */

body.nj-plugin-page .nj-grid,
body.nj-plugin-page .njcms-ia-tribunals,
body.nj-plugin-page [class*="card-grid"],
body.nj-plugin-page .nj-people-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.35rem);
}

@supports (grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr))) {
	body.nj-plugin-page .nj-grid,
	body.nj-plugin-page .nj-people-grid,
	body.nj-plugin-page [class*="card-grid"] {
		grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	}
}

/* Courts listing — balanced, full-width responsive grid (1 / 2 / 3 columns) */
body.nj-plugin-page .njcms-courts__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2vw, 1.5rem);
	width: 100%;
}

@media (min-width: 700px) {
	body.nj-plugin-page .njcms-courts__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	body.nj-plugin-page .njcms-courts__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.nj-plugin-page .njcms-courts__card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.nj-plugin-page .njcms-courts__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

body.nj-plugin-page .njcms-courts__media--placeholder {
	position: relative;
	background:
		radial-gradient(ellipse 90% 90% at 100% 0%, rgba(var(--nj-pp-pacific-rgb), 0.35), transparent 60%),
		linear-gradient(150deg, var(--nj-pp-navy) 0%, var(--nj-pp-navy-900) 100%);
}

body.nj-plugin-page .njcms-courts__media--placeholder::after {
	content: "\f16a";
	font-family: dashicons;
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5rem;
	color: rgba(255, 255, 255, 0.5);
}

body.nj-plugin-page .njcms-courts__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.nj-plugin-page .njcms-courts__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1.15rem 1.25rem 1.25rem;
}

body.nj-plugin-page .njcms-courts__title {
	margin: 0 0 0.3rem;
	font-size: 1.15rem;
	line-height: 1.3;
}

body.nj-plugin-page .njcms-courts__title a {
	color: var(--nj-pp-navy);
	text-decoration: none;
}

body.nj-plugin-page .njcms-courts__title a:hover {
	color: var(--nj-pp-navy-900);
	text-decoration: underline;
}

body.nj-plugin-page .njcms-courts__type {
	margin: 0 0 0.65rem;
	display: inline-flex;
	align-self: flex-start;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	background: var(--nj-pp-cool);
	color: var(--nj-pp-navy);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

body.nj-plugin-page .njcms-courts__summary {
	margin: 0 0 1rem;
	color: var(--nj-pp-muted);
	font-size: 0.9375rem;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

body.nj-plugin-page .njcms-courts__actions {
	margin-top: auto;
	padding-top: 0.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

body.nj-plugin-page .njcms-courts__btn {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	padding: 0.5rem 1rem;
	border-radius: var(--nj-pp-radius);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}

body.nj-plugin-page .njcms-courts__btn--primary {
	background: var(--nj-pp-navy);
	border: 1px solid var(--nj-pp-navy);
	color: var(--nj-pp-white);
}

body.nj-plugin-page .njcms-courts__btn--primary:hover {
	background: var(--nj-pp-navy-900);
}

body.nj-plugin-page .njcms-courts__btn--external {
	background: var(--nj-pp-white);
	border: 1px solid var(--nj-pp-border);
	color: var(--nj-pp-link);
}

body.nj-plugin-page .njcms-courts__btn--external:hover {
	border-color: var(--nj-pp-pacific);
}

/* Judicial office / staff — profile card body fills height, CTA sits near the base */
body.nj-plugin-page .nj-profile-card,
body.nj-plugin-page .nj-profile-featured-card,
body.nj-plugin-page .njcms-ia-staff-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.nj-plugin-page .nj-profile-card__body,
body.nj-plugin-page .nj-profile-featured-card__body,
body.nj-plugin-page .njcms-ia-staff-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
}

body.nj-plugin-page .nj-profile-card__actions,
body.nj-plugin-page .nj-profile-featured-card__actions {
	margin-top: auto;
	padding-top: 0.5rem;
}

/* -------------------------------------------------------------------------- */
/* Motion hooks (content visible until JS opts in)                            */
/* -------------------------------------------------------------------------- */

html.nj-motion-ready body.nj-plugin-page .nj-will-animate {
	opacity: 0;
	transform: translateY(0.75rem);
	transition:
		opacity 0.45s ease,
		transform 0.45s ease;
}

html.nj-motion-ready body.nj-plugin-page .nj-will-animate.nj-is-visible {
	opacity: 1;
	transform: none;
}

/* Heroes are always visible — never leave a blank opacity:0 spacer */
html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate,
html.nj-motion-ready body.nj-plugin-page .nj-page-shell__intro.nj-will-animate,
html.nj-motion-ready body.nj-plugin-page .njcms-page-chrome--intro-soft.nj-will-animate,
html.nj-motion-ready body.nj-plugin-page .nj-page-hero.nj-will-animate,
html.nj-motion-ready body.nj-plugin-page .nj-hero-ready {
	opacity: 1;
	transform: none;
}

html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate .page-header_content {
	opacity: 1;
	transform: none;
	transition:
		opacity 0.5s ease,
		transform 0.5s ease;
}

html.nj-motion-ready body.nj-plugin-page .page-header.nj-hero-ready .page-header_content {
	animation: nj-pp-hero-title 0.55s ease both;
}

html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate::after {
	transform: scaleX(0.15);
	transition: transform 0.7s ease;
}

html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate.nj-is-visible::after,
html.nj-motion-ready body.nj-plugin-page .page-header.nj-hero-ready::after {
	transform: scaleX(1);
}

@keyframes nj-pp-hero-title {
	from {
		opacity: 0.88;
		transform: translateY(0.3rem);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* Small stagger for short card groups — index set inline by JS (max 8 items) */
html.nj-motion-ready body.nj-plugin-page .nj-will-animate {
	transition-delay: calc(var(--nj-stagger-index, 0) * 70ms);
}

/* Portrait / figure reveal has a touch more lift for a "presenting" feel */
html.nj-motion-ready body.nj-plugin-page .nj-will-animate--media {
	transform: translateY(1rem) scale(0.98);
}

html.nj-motion-ready body.nj-plugin-page .nj-will-animate--media.nj-is-visible {
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	body.nj-plugin-page .nj-card:hover,
	body.nj-plugin-page .nj-panel:hover,
	body.nj-plugin-page .nj-people-card:hover,
	body.nj-plugin-page .nj-profile-card:hover,
	body.nj-plugin-page .nj-profile-featured-card:hover,
	body.nj-plugin-page .njcms-ia-staff-card:hover,
	body.nj-plugin-page .njcms-courts__card:hover,
	body.nj-plugin-page .njcms-ia-link-card:hover,
	body.nj-plugin-page a.nj-card:hover,
	body.nj-plugin-page .nj-link-arrow:hover::after,
	body.nj-plugin-page .njcms-courts__btn--primary:hover::after,
	body.nj-plugin-page .nj-profile-card__bio-link:hover::after,
	body.nj-plugin-page .njcms-ia-link-card:hover::after {
		transform: none;
	}

	html.nj-motion-ready body.nj-plugin-page .nj-will-animate,
	html.nj-motion-ready body.nj-plugin-page .nj-will-animate.nj-is-visible,
	html.nj-motion-ready body.nj-plugin-page .nj-will-animate--media,
	html.nj-motion-ready body.nj-plugin-page .nj-will-animate--media.nj-is-visible,
	html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate .page-header_content,
	html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate.nj-is-visible .page-header_content,
	html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate::after,
	html.nj-motion-ready body.nj-plugin-page .page-header.nj-will-animate.nj-is-visible::after,
	html.nj-motion-ready body.nj-plugin-page .page-header.nj-hero-ready .page-header_content {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		transition-delay: 0s !important;
		animation: none !important;
	}
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	body.nj-plugin-page {
		--nj-pp-gutter: var(--nj-pp-gutter-tablet);
		--nj-pp-card-pad: clamp(1rem, 2vw, 1.25rem);
		--nj-hero-clearance-fallback: clamp(4.75rem, 10vw + 1.5rem, 7.5rem);
		--nj-hero-pad-top: clamp(3rem, 4vw, 3.75rem);
		--nj-hero-pad-bottom: clamp(2.75rem, 3.5vw, 3.5rem);
		--nj-hero-content-min: clamp(7.5rem, 16vw, 10rem);
	}

	body.nj-plugin-page .nj-page,
	body.nj-plugin-page .nj-directory-page,
	body.nj-plugin-page .njcms-court-single-wrap,
	body.nj-plugin-page .njcms-staff-single-wrap {
		padding-inline: var(--nj-pp-gutter);
	}

	body.nj-plugin-page .page-header .page-header_title {
		font-size: clamp(1.75rem, 4vw + 0.5rem, 2.5rem) !important;
	}
}

@media (max-width: 768px) {
	body.nj-plugin-page {
		--nj-pp-gutter: var(--nj-pp-gutter-mobile);
		--nj-pp-card-pad: var(--nj-pp-card-pad-mobile);
		--nj-pp-section-gap: clamp(1rem, 3vw, 1.5rem);
		--nj-hero-clearance-fallback: max(var(--verdox-header-mobile-height, 60px), 4.5rem);
		--nj-hero-pad-top: 3rem;
		--nj-hero-pad-bottom: 3rem;
		--nj-hero-content-min: 0px;
	}

	body.nj-plugin-page .page-header {
		min-height: 0 !important;
	}

	body.nj-plugin-page .page-header .page-header_title {
		font-size: clamp(1.7rem, 5.5vw, 2.15rem) !important;
		line-height: 1.18 !important;
	}

	body.nj-plugin-page .page-header .page-header_breadcrumbs {
		margin-top: 0.9rem;
	}

	body.nj-plugin-page .page-header .page-header_wrapper::after {
		display: none;
	}

	body.nj-plugin-page .nj-grid,
	body.nj-plugin-page .nj-people-grid,
	body.nj-plugin-page [class*="card-grid"],
	body.nj-plugin-page .nj-grid.nj-result-list--laws {
		grid-template-columns: 1fr;
	}

	body.nj-plugin-page .nj-grid > *,
	body.nj-plugin-page .nj-card,
	body.nj-plugin-page .nj-card--law,
	body.nj-plugin-page .njcms-ia-card {
		min-width: 0;
		max-width: 100%;
	}

	/* Court/guide list stacking lives in plugin njcms-responsive.css (ownership). */

	body.nj-plugin-page .nj-page-shell__toc,
	body.nj-plugin-page .nj-on-this-page {
		position: static;
	}

	body.nj-plugin-page .nj-filter-bar__row:not(.nj-filter-bar__row--controls),
	body.nj-plugin-page .njcms-filters {
		flex-direction: column;
		align-items: stretch;
	}

	body.nj-plugin-page .nj-filter-bar__row:not(.nj-filter-bar__row--controls) > *,
	body.nj-plugin-page .njcms-filters > * {
		width: 100%;
	}

	body.nj-plugin-page .nj-filter-bar__row--chips {
		flex-direction: row;
		flex-wrap: wrap;
	}

	body.nj-plugin-page .nj-filter-bar__row--chips > * {
		width: auto;
	}

	body.nj-plugin-page .nj-result-card--practitioner .nj-action-buttons {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 375px) {
	body.nj-plugin-page {
		--nj-pp-gutter: var(--nj-pp-gutter-narrow);
		--nj-hero-pad-top: 2.5rem;
		--nj-hero-pad-bottom: 2.5rem;
	}

	body.nj-plugin-page .page-header .wgl-container {
		padding-inline: var(--nj-pp-gutter);
	}

	body.nj-plugin-page .page-header .page-header_title {
		font-size: 1.75rem !important;
	}

	body.nj-plugin-page .nj-page,
	body.nj-plugin-page .nj-directory-page,
	body.nj-plugin-page .njcms-court-single-wrap,
	body.nj-plugin-page .njcms-staff-single-wrap {
		padding-inline: var(--nj-pp-gutter);
	}

	body.nj-plugin-page .nj-page p,
	body.nj-plugin-page .nj-page-shell__main p {
		font-size: 1rem;
	}

	body.nj-plugin-page .nj-filter-bar {
		padding: 0.85rem 1rem;
	}
}

@media (max-width: 320px) {
	body.nj-plugin-page {
		--nj-pp-gutter: 0.25rem;
	}

	body.nj-plugin-page .page-header .wgl-container {
		padding-inline: var(--nj-pp-gutter);
	}

	body.nj-plugin-page .page-header .page-header_title {
		font-size: 1.65rem !important;
	}

	body.nj-plugin-page .nj-page,
	body.nj-plugin-page .nj-directory-page,
	body.nj-plugin-page .njcms-court-single-wrap,
	body.nj-plugin-page .njcms-staff-single-wrap {
		padding-inline: var(--nj-pp-gutter);
	}
}

/* Long titles never overflow their card */
body.nj-plugin-page .njcms-courts__title,
body.nj-plugin-page .nj-profile-card__name,
body.nj-plugin-page .nj-profile-featured-card__name,
body.nj-plugin-page .njcms-ia-staff-card__name,
body.nj-plugin-page .nj-result-card__title {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Forced colours */
@media (forced-colors: active) {
	body.nj-plugin-page .page-header {
		border: 2px solid CanvasText !important;
	}

	body.nj-plugin-page .nj-page a {
		text-decoration: underline;
	}

	body.nj-plugin-page .nj-page .pagination .current {
		outline: 2px solid CanvasText;
	}

	body.nj-plugin-page .nj-card,
	body.nj-plugin-page .njcms-courts__card,
	body.nj-plugin-page .nj-profile-card,
	body.nj-plugin-page .nj-profile-featured-card,
	body.nj-plugin-page .njcms-ia-staff-card,
	body.nj-plugin-page .nj-result-card,
	body.nj-plugin-page .nj-filter-bar,
	body.nj-plugin-page .nj-filter-bar__chip {
		border: 1px solid CanvasText;
	}

	body.nj-plugin-page .nj-filter-bar__chip.is-active,
	body.nj-plugin-page .nj-filter-bar__chip[aria-pressed="true"] {
		outline: 2px solid CanvasText;
	}

	body.nj-plugin-page .page-header .page-header_wrapper::after {
		display: none;
	}
}

/* -------------------------------------------------------------------------- */
/* Page-family remediations (scoped)                                          */
/* -------------------------------------------------------------------------- */

/* Who We Are — keep IA internal card padding; shell owns the viewport gutter. */
body.nj-plugin-page .nj-directory-page--who-we-are .njcms-ia-who-we-are {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	box-sizing: border-box;
}

body.nj-plugin-page .nj-directory-page--who-we-are .njcms-ia-who-we-are .njcms-ia-card,
body.nj-plugin-page .nj-directory-page--who-we-are .njcms-ia-who-we-are .njcms-ia-panel {
	min-width: 0;
}

body.nj-plugin-page .nj-directory-page--who-we-are .njcms-ia-values {
	margin-inline: 0;
	padding-inline: 0;
}

@media (max-width: 768px) {
	body.nj-plugin-page .nj-directory-page--who-we-are .njcms-ia-who-we-are {
		margin-block: 0.5rem 0.75rem;
	}

	body.nj-plugin-page .nj-directory-page--who-we-are .njcms-ia-values {
		margin-block: 0;
	}

	body.nj-plugin-page .nj-directory-page--who-we-are .njcms-ia-values li {
		min-width: 0;
		overflow-wrap: break-word;
		word-break: normal;
	}
}

/* Who We Are — CTA links as real cards */
body.nj-plugin-page .njcms-ia-who-we-are__links,
body.nj-plugin-page .njcms-ia-who-we-are .njcms-ia-link-card {
	max-width: none;
}

body.nj-plugin-page .njcms-ia-who-we-are__links {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1.5rem;
}

body.nj-plugin-page .njcms-ia-who-we-are .njcms-ia-link-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 2.75rem;
	padding: 0.95rem 1.15rem;
	border: 1px solid var(--nj-pp-border);
	border-top: 3px solid var(--nj-pp-gold);
	border-radius: var(--nj-pp-radius);
	background: linear-gradient(180deg, #fff 0%, var(--nj-pp-cool) 100%);
	box-shadow: none;
	font-weight: 700;
	color: var(--nj-pp-navy);
	text-decoration: none;
}

body.nj-plugin-page .njcms-ia-who-we-are .njcms-ia-link-card::after {
	content: "\2192";
	margin-left: 0.75rem;
	color: var(--nj-pp-gold-strong);
}

body.nj-plugin-page .njcms-ia-who-we-are .njcms-ia-link-card:hover,
body.nj-plugin-page .njcms-ia-who-we-are .njcms-ia-link-card:focus-visible {
	border-color: var(--nj-pp-pacific);
	color: var(--nj-pp-pacific);
	text-decoration: none;
}

@media (max-width: 640px) {
	body.nj-plugin-page .njcms-ia-who-we-are__links {
		grid-template-columns: 1fr;
	}
}

/* Related Laws — one full-width card per row on phones; wrap badges/titles. */
body.nj-plugin-page .nj-directory-page--related-laws .nj-result-list--laws,
body.nj-plugin-page .nj-directory-page--related-laws .nj-grid {
	width: 100%;
}

body.nj-plugin-page .nj-directory-page--related-laws .nj-card--law {
	width: 100%;
	min-width: 0;
}

body.nj-plugin-page .nj-directory-page--related-laws .nj-card__title,
body.nj-plugin-page .nj-directory-page--related-laws .nj-badge-row,
body.nj-plugin-page .nj-directory-page--related-laws .njcms-ia-badge-row {
	overflow-wrap: break-word;
	word-break: normal;
}

/* Statistic Data — keep table scroll scoped; prevent narrow prose columns. */
body.nj-plugin-page .nj-directory-page--court-statistics .njcms-ia-statistics,
body.nj-plugin-page .njcms-ia-statistics {
	width: 100%;
	max-width: none;
	min-width: 0;
}

body.nj-plugin-page .njcms-ia-statistics__grid > *,
body.nj-plugin-page .njcms-ia-stat-card {
	min-width: 0;
}

body.nj-plugin-page .njcms-ia-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
}

body.nj-plugin-page .njcms-ia-statistics p,
body.nj-plugin-page .njcms-ia-statistics .njcms-ia-panel__body,
body.nj-plugin-page .njcms-ia-who-we-are .njcms-ia-panel__body,
body.nj-plugin-page .njcms-ia-legal-system .njcms-ia-legal-topic__content {
	overflow-wrap: break-word;
	word-break: normal;
	min-width: 0;
	max-width: none;
}

/* Legal System — readable tabs + wider content */
body.nj-plugin-page .njcms-ia-legal-system__nav {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0.65rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-cool);
	box-shadow: none;
}

body.nj-plugin-page .njcms-ia-legal-system__nav-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.5rem;
	min-width: min-content;
}

body.nj-plugin-page .njcms-ia-legal-system__nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.55rem 0.95rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: var(--nj-pp-navy);
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

body.nj-plugin-page .njcms-ia-legal-system__nav-link:hover,
body.nj-plugin-page .njcms-ia-legal-system__nav-link:focus-visible {
	background: #fff;
	border-color: var(--nj-pp-border);
	text-decoration: none;
}

body.nj-plugin-page .njcms-ia-legal-system__nav-link.is-active,
body.nj-plugin-page .njcms-ia-legal-system__nav-link[aria-current="true"] {
	background: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
	color: #fff;
	box-shadow: inset 0 -2px 0 var(--nj-pp-gold);
}

body.nj-plugin-page .njcms-ia-legal-system {
	--njcms-ia-prose-width: 66rem;
}

body.nj-plugin-page .njcms-ia-legal-system__overview,
body.nj-plugin-page .njcms-ia-legal-system__categories,
body.nj-plugin-page .njcms-ia-legal-system__intro,
body.nj-plugin-page .njcms-ia-legal-system__topics,
body.nj-plugin-page .njcms-ia-legal-system__content,
body.nj-plugin-page .njcms-ia-legal-system__list {
	width: 100%;
	max-width: var(--nj-pp-reading);
	margin-inline: auto;
}

/* Overview is a width shell; the topic card owns the single surface. */
body.nj-plugin-page .njcms-ia-legal-system__overview {
	margin-bottom: 1.25rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.nj-plugin-page .njcms-ia-legal-system__overview > .njcms-ia-card,
body.nj-plugin-page .njcms-ia-legal-system__overview > .njcms-ia-legal-topic,
body.nj-plugin-page .njcms-ia-legal-system__overview .njcms-ia-legal-topic--overview {
	width: 100%;
	max-width: none;
	margin: 0;
	border: 1px solid var(--nj-pp-border);
	border-top: 3px solid var(--nj-pp-gold);
	border-radius: var(--nj-pp-radius-lg);
	background: #fff;
	box-shadow: none;
	padding: clamp(1.15rem, 2.5vw, 1.75rem);
}

body.nj-plugin-page .njcms-ia-legal-system__overview > .njcms-ia-card::before,
body.nj-plugin-page .njcms-ia-legal-system__overview > .njcms-ia-legal-topic::before,
body.nj-plugin-page .njcms-ia-legal-system__overview .njcms-ia-legal-topic--overview::before {
	content: none;
	display: none;
}

body.nj-plugin-page .njcms-ia-legal-system__overview p,
body.nj-plugin-page .njcms-ia-legal-system__overview li,
body.nj-plugin-page .njcms-ia-legal-topic__content,
body.nj-plugin-page .njcms-ia-legal-topic__content p {
	max-width: none;
	width: auto;
}

body.nj-plugin-page .njcms-ia-legal-system h2,
body.nj-plugin-page .njcms-ia-legal-system h3 {
	margin-top: 1.35rem;
	margin-bottom: 0.55rem;
	line-height: 1.3;
}

body.nj-plugin-page .njcms-ia-legal-system p,
body.nj-plugin-page .njcms-ia-legal-system li {
	line-height: 1.7;
	font-size: 1.05rem;
}

/* -------------------------------------------------------------------------- */
/* Design-section surface + nested wrappers (one outer card only)             */
/* -------------------------------------------------------------------------- */

/*
 * Outer design wrappers from njcms_get_design_wrapper() carry njcms-card-*.
 * Those own: surface, border, radius, shadow, gold top line, section padding.
 * Bare .njcms-design-section roots (contact, calendar) are left alone.
 */
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] {
	--nj-pp-section-pad: clamp(1rem, 2.5vw, 2rem);
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: var(--nj-pp-section-pad);
	background: linear-gradient(180deg, #ffffff 0%, var(--nj-pp-warm) 100%);
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius-lg);
	box-shadow: var(--nj-pp-shadow);
	overflow: hidden;
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"]::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	z-index: 1;
	height: 3px;
	background: linear-gradient(90deg, var(--nj-pp-gold-strong), var(--nj-pp-gold) 55%, var(--nj-pp-gold-strong));
	opacity: 0.9;
	pointer-events: none;
}

/* Spacing scale from design settings (njcms-spacing-*). */
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-sm {
	--nj-pp-section-pad: clamp(0.85rem, 2vw, 1.35rem);
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-md {
	--nj-pp-section-pad: clamp(1rem, 2.5vw, 2rem);
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-lg {
	--nj-pp-section-pad: clamp(1.25rem, 3vw, 2.5rem);
}

/* Radius scale from design settings (njcms-radius-*). */
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-radius-sm {
	border-radius: var(--nj-pp-radius);
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-radius-md {
	border-radius: var(--nj-pp-radius-lg);
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-radius-lg {
	border-radius: calc(var(--nj-pp-radius-lg) + 0.15rem);
}

/* Preserve intentional non-light section backgrounds from plugin tokens. */
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-section-dark {
	background: linear-gradient(180deg, #112a4e, #0f2544);
	color: #f6f9ff;
	border-color: rgba(255, 255, 255, 0.12);
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-section-gradient {
	background: linear-gradient(135deg, #f7fbff 0%, #edf3fb 100%);
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-section-glass {
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(8px);
}

/*
 * Direct child module wrappers: layout only.
 * Do not create a second section-level card or duplicate outer padding.
 */
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-guides,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-courts,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-ia,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-announcements,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-reports,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-vacancies,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-decisions,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-registry,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-staff,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-forms,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-fees,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-fee-tables {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-guides::before,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-guides::after,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-courts::before,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-courts::after,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-ia::before,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-ia::after {
	content: none;
	display: none;
}

/* Grids: columns/gap only — no section padding or surface. */
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] .njcms-guides__grid,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] .njcms-courts__grid {
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

/* Card-grid modules — keep individual cards; neutralize layout modifier chrome. */
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-guides.njcms-guides--cards,
body.nj-plugin-page .njcms-design-section[class*="njcms-card-"] > .njcms-courts.njcms-courts--cards {
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	overflow: visible;
}

@media (max-width: 767px) {
	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"],
	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-md {
		--nj-pp-section-pad: clamp(1rem, 3vw, 1.25rem);
	}

	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-sm {
		--nj-pp-section-pad: clamp(0.85rem, 2.5vw, 1rem);
	}

	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-lg {
		--nj-pp-section-pad: clamp(1.1rem, 3vw, 1.5rem);
	}
}

@media (max-width: 479px) {
	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"],
	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-md {
		--nj-pp-section-pad: 1rem;
	}

	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-sm {
		--nj-pp-section-pad: 0.85rem;
	}

	body.nj-plugin-page .njcms-design-section[class*="njcms-card-"].njcms-spacing-lg {
		--nj-pp-section-pad: 1.1rem;
	}
}

/* Parent owns the outer card; about child fills its pad box without rounded inset. */
body.nj-plugin-page .njcms-design-section:has(> .njcms-about-section) {
	padding: 0;
	overflow: hidden;
}

body.nj-plugin-page .njcms-design-section > .njcms-about-section {
	margin: 0;
	border-radius: 0;
	width: 100%;
	max-width: none;
	padding: clamp(1.15rem, 2.5vw, 1.85rem);
	/* Drop duplicated child chrome once it fills the parent surface. */
	border: 0;
	box-shadow: none;
	background: transparent;
}

body.nj-plugin-page .njcms-design-section > .njcms-about-section.njcms-about-section--history {
	padding: 0;
}

body.nj-plugin-page .njcms-design-section > .njcms-about-section::before,
body.nj-plugin-page .njcms-design-section > .njcms-about-section::after {
	content: none;
	display: none;
}

body.nj-plugin-page .njcms-design-section > .njcms-about-section .njcms-about-section__intro--history {
	max-width: none;
	margin: 0;
	padding: clamp(1.15rem, 2.5vw, 1.75rem) clamp(1.15rem, 2.5vw, 1.85rem) 0;
}

body.nj-plugin-page .njcms-design-section > .njcms-about-section .njcms-about-section__lead {
	max-width: none;
}

/* History — 70/30; article + sidebar remain distinct intentional cards */
body.nj-plugin-page .njcms-about-history {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 0.85fr);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(1rem, 2vw, 1.5rem) clamp(1.15rem, 2.5vw, 1.85rem) clamp(1.25rem, 2.5vw, 1.85rem);
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow-wrap: break-word;
	word-break: normal;
	min-width: 0;
}

body.nj-plugin-page .njcms-about-history__main,
body.nj-plugin-page .njcms-about-history__main.njcms-about-card {
	border: 1px solid var(--nj-pp-border);
	border-top: 3px solid var(--nj-pp-gold);
	border-radius: var(--nj-pp-radius-lg);
	background: #fff;
	box-shadow: none;
	padding: clamp(1.25rem, 2.5vw, 1.85rem);
}

/* Sidebar cards keep their own surface; do not inherit nested prose treatment. */
body.nj-plugin-page .njcms-about-history__aside .njcms-about-card::before {
	content: none;
	display: none;
}

body.nj-plugin-page .njcms-about-history__main .njcms-about-card__content,
body.nj-plugin-page .njcms-about-history__main .njcms-about-history__prose,
body.nj-plugin-page .njcms-about-history__main .njcms-about-card__content p,
body.nj-plugin-page .njcms-about-history__main .njcms-about-history__prose p {
	max-width: none;
	width: 100%;
	line-height: 1.75;
	font-size: 1.05rem;
}

body.nj-plugin-page .njcms-about-history__aside .njcms-about-card,
body.nj-plugin-page .njcms-about-history__chips,
body.nj-plugin-page .njcms-about-history__list {
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-cool);
	box-shadow: none;
	padding: 1rem 1.1rem;
}

@media (max-width: 900px) {
	body.nj-plugin-page .njcms-about-history {
		grid-template-columns: 1fr;
	}
}

/* Court guides — compact media, stronger CTA */
body.nj-plugin-page .njcms-guides--cards .njcms-guides__media,
body.nj-plugin-page .njcms-guides--cards .njcms-guides__media--placeholder {
	min-height: 0;
	height: 5.5rem;
}

body.nj-plugin-page .njcms-guides--cards .njcms-guides__thumb {
	height: 5.5rem;
	object-fit: cover;
}

body.nj-plugin-page .njcms-guides--cards .njcms-guides__card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	border: 1px solid var(--nj-pp-border);
	box-shadow: var(--nj-pp-shadow);
}

body.nj-plugin-page .njcms-guides--cards .njcms-guides__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.45rem;
	padding: 1rem 1.1rem 1.15rem;
}

body.nj-plugin-page .njcms-guides--cards .njcms-guides__btn,
body.nj-plugin-page .njcms-guides--cards .njcms-guides__btn--primary {
	margin-top: auto;
	align-self: flex-start;
	min-height: 2.75rem;
	padding: 0.55rem 1rem;
	background: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

body.nj-plugin-page .njcms-guides--cards .njcms-guides__btn:hover,
body.nj-plugin-page .njcms-guides--cards .njcms-guides__btn:focus-visible,
body.nj-plugin-page .njcms-guides--cards .njcms-guides__btn--primary:hover,
body.nj-plugin-page .njcms-guides--cards .njcms-guides__btn--primary:focus-visible {
	color: #fff;
	background: #00164a;
}

/* Tribunals — unified cards, readable buttons */
body.nj-plugin-page .njcms-ia-tribunals__grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 56rem;
}

body.nj-plugin-page .njcms-ia-tribunal-card {
	border: 1px solid var(--nj-pp-border);
	border-top: 3px solid var(--nj-pp-gold);
	border-radius: var(--nj-pp-radius-lg);
	background: #fff;
	box-shadow: var(--nj-pp-shadow);
	padding: 1.35rem 1.4rem;
}

body.nj-plugin-page .njcms-ia-tribunal-card__section,
body.nj-plugin-page .njcms-ia-tribunal-card .njcms-ia-card {
	border: 0;
	box-shadow: none;
	background: transparent;
	padding: 0;
	margin: 0;
}

body.nj-plugin-page .njcms-ia-tribunal-card .njcms-ia-btn,
body.nj-plugin-page .njcms-ia-tribunal-card .njcms-ia-btn--sm {
	background: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
	color: #fff;
	min-height: 2.75rem;
	padding: 0.55rem 1.1rem;
	text-decoration: none;
}

body.nj-plugin-page .njcms-ia-tribunal-card .njcms-ia-btn:hover,
body.nj-plugin-page .njcms-ia-tribunal-card .njcms-ia-btn:focus-visible,
body.nj-plugin-page .njcms-ia-tribunal-card .njcms-ia-btn:visited {
	color: #fff;
	background: #00164a;
}

@media (max-width: 700px) {
	body.nj-plugin-page .njcms-ia-tribunals__grid {
		grid-template-columns: 1fr;
	}
}

/* Cause List / Practitioners / Judgments — filter + empty state */
body.nj-plugin-page .nj-filter-bar,
body.nj-plugin-page .nj-filter-bar--cause {
	min-height: 0;
	width: 100%;
	max-width: none;
}

body.nj-plugin-page .nj-filter-bar__search,
body.nj-plugin-page .nj-filter-bar__input {
	width: 100%;
	max-width: none;
}

body.nj-plugin-page .nj-filter-bar__row--chips {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

body.nj-plugin-page .nj-filter-bar__row--chips > .nj-filter-bar__chip {
	width: auto;
	flex: 0 1 auto;
}

body.nj-plugin-page .nj-filter-bar__label {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	cursor: default;
	pointer-events: none;
}

/*
 * Cause List compact filter — scoped layout.
 * Resets any residual card chrome on inner BEM nodes and applies the
 * desktop / tablet / mobile grids. Plugin ia-modules provides base tokens;
 * these child-theme rules win on plugin pages (later enqueue).
 */
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact {
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	padding: 0.85rem 1rem;
	min-height: 0;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(170px, 220px) auto auto;
	align-items: end;
	gap: 0.65rem 0.85rem;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	min-height: 0;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-no-court,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-no-court {
	grid-template-columns: minmax(280px, 1fr) auto auto;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segmented,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__field-label,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segmented,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__field-label {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	min-height: 0;
	width: auto;
	max-width: none;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.3rem;
	min-width: 0;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__field-label,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__field-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--nj-pp-navy);
	line-height: 1.2;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__input,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__input,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select {
	display: block;
	width: 100%;
	min-height: 2.75rem;
	height: 2.75rem;
	max-height: 2.75rem;
	padding: 0.45rem 0.75rem;
	box-sizing: border-box;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-white);
	box-shadow: none;
	font-size: 0.95rem;
	color: var(--nj-pp-text);
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segmented,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segmented {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.35rem;
	width: auto;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	height: auto;
	padding: 0.35rem 0.7rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-white);
	box-shadow: none;
	color: var(--nj-pp-navy);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: normal;
	text-align: center;
	cursor: pointer;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment.is-active,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment[aria-pressed="true"],
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment.is-active,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment[aria-pressed="true"] {
	background: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
	color: #fff;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment:focus-visible,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__input:focus-visible,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select:focus-visible,
body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear:focus-visible,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment:focus-visible,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__input:focus-visible,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select:focus-visible,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear:focus-visible {
	outline: 3px solid var(--nj-pp-focus, #2563eb);
	outline-offset: 2px;
}

body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear,
body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear {
	align-self: end;
	min-height: 2.75rem;
	height: 2.75rem;
	padding: 0.4rem 0.85rem;
	width: auto;
	white-space: nowrap;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-white);
	box-shadow: none;
	color: var(--nj-pp-muted);
	font-weight: 600;
	cursor: pointer;
}

@media (max-width: 1099px) and (min-width: 768px) {
	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-has-court,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-has-court {
		grid-template-columns: minmax(0, 1fr) auto auto;
		grid-template-areas:
			"search search search"
			"court view clear";
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-no-court,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-no-court {
		grid-template-columns: auto auto;
		grid-template-areas:
			"search search"
			"view clear";
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search {
		grid-area: search;
		width: 100%;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap {
		grid-area: court;
		min-width: 170px;
		max-width: 220px;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group {
		grid-area: view;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear {
		grid-area: clear;
	}
}

@media (max-width: 767px) {
	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-has-court,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-has-court {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"search search"
			"court clear"
			"view view";
		gap: 0.55rem 0.65rem;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-no-court,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__row--controls-no-court {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"search clear"
			"view view";
		gap: 0.55rem 0.65rem;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__search {
		grid-area: search;
		width: 100%;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__select-wrap {
		grid-area: court;
		min-width: 0;
		max-width: none;
		width: 100%;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__clear {
		grid-area: clear;
		align-self: end;
		padding-inline: 0.65rem;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__view-group {
		grid-area: view;
		width: 100%;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segmented,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segmented {
		display: flex;
		width: 100%;
		flex-wrap: nowrap;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment {
		flex: 1 1 0;
		min-width: 0;
		padding-inline: 0.4rem;
		font-size: 0.75rem;
	}
}

@media (max-width: 320px) {
	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact {
		padding: 0.7rem 0.75rem;
	}

	body.nj-plugin-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment,
	body.nj-plugin-page .nj-directory-page--cause-list .nj-filter-bar--cause-compact .nj-filter-bar__segment {
		font-size: 0.7rem;
		line-height: 1.15;
	}
}

/* Shared empty-state recipe — full content width, status panel (not a nested card). */
body.nj-plugin-page .njcms-empty-state,
body.nj-plugin-page .njcms-ia-empty,
body.nj-plugin-page .njcms-ia-empty--compact,
body.nj-plugin-page .nj-empty-state,
body.nj-plugin-page [class*="empty-state"] {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-width: 0;
	min-height: 0;
	margin: 0.5rem 0 0;
	padding: clamp(0.85rem, 2vw, 1.05rem) clamp(0.95rem, 2.2vw, 1.15rem);
	border: 1px solid var(--nj-pp-border);
	border-left: 3px solid var(--nj-pp-gold);
	border-radius: var(--nj-pp-radius);
	background: var(--nj-pp-cool);
	box-shadow: none;
	color: var(--nj-pp-text);
	font-size: 1rem;
	line-height: 1.6;
	text-align: left;
	overflow-wrap: break-word;
	word-break: normal;
}

body.nj-plugin-page .njcms-empty-state::before,
body.nj-plugin-page .njcms-ia-empty::before,
body.nj-plugin-page .njcms-ia-empty--compact::before,
body.nj-plugin-page .nj-empty-state::before {
	content: none;
	display: none;
}

body.nj-plugin-page .nj-page-shell__main > .njcms-ia,
body.nj-plugin-page .nj-page-shell__main > .nj-section,
body.nj-plugin-page .nj-page-shell__main > .nj-people-section,
body.nj-plugin-page .nj-page-shell__main > .njcms-section,
body.nj-plugin-page .nj-page-shell__main > h2 {
	margin-top: 0;
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	body.nj-plugin-page .nj-page-shell__main {
		gap: clamp(1.35rem, 2.5vw, 2rem);
	}
}

@media (max-width: 767px) {
	body.nj-plugin-page .nj-page-shell__main {
		gap: clamp(1.15rem, 3vw, 1.75rem);
	}

	body.nj-plugin-page .njcms-empty-state,
	body.nj-plugin-page .njcms-ia-empty,
	body.nj-plugin-page .njcms-ia-empty--compact,
	body.nj-plugin-page .nj-empty-state {
		padding: 0.85rem 0.95rem;
		font-size: 0.98rem;
	}
}

@media (max-width: 390px) {
	body.nj-plugin-page .nj-page-shell__main {
		gap: 1.1rem;
	}

	body.nj-plugin-page .njcms-empty-state,
	body.nj-plugin-page .njcms-ia-empty,
	body.nj-plugin-page .njcms-ia-empty--compact,
	body.nj-plugin-page .nj-empty-state {
		padding: 0.8rem 0.85rem;
		font-size: 0.95rem;
	}
}

@media (max-width: 320px) {
	body.nj-plugin-page .njcms-empty-state,
	body.nj-plugin-page .njcms-ia-empty,
	body.nj-plugin-page .njcms-ia-empty--compact,
	body.nj-plugin-page .nj-empty-state {
		padding: 0.75rem 0.8rem;
		font-size: 0.94rem;
	}
}

/* Strip nested bordered wrappers around empty states */
body.nj-plugin-page .nj-section-block:has(> .njcms-ia-empty),
body.nj-plugin-page .nj-section:has(> .njcms-ia-empty),
body.nj-plugin-page .njcms-announcements:has(.njcms-ia-empty),
body.nj-plugin-page .njcms-reports:has(.njcms-ia-empty),
body.nj-plugin-page .njcms-decisions:has(.njcms-ia-empty) {
	border: 0;
	box-shadow: none;
	background: transparent;
	padding: 0;
	min-height: 0;
}

/* Publications archive — tighter sections, no huge gaps */
body.nj-plugin-page .nj-directory-page--publications .nj-section--publications,
body.nj-plugin-page .nj-section--publications {
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
	min-height: 0;
}

body.nj-plugin-page .nj-directory-page--publications .nj-section__header,
body.nj-plugin-page .nj-section--publications .nj-section-block__header {
	margin: 0 0 0.65rem;
	padding: 0;
	border-bottom: 1px solid var(--nj-pp-border);
}

/* Some legacy Elementor content already supplies the same category H2
   immediately before its publication shortcode. Keep that H2 visible and
   visually hide only the duplicate shortcode heading; aria-labelledby still
   resolves to the retained heading node. */
body.nj-plugin-page .elementor-widget-container > h2 + .nj-section--publications > .nj-section__header,
body.nj-plugin-page .elementor-widget-container > h2 + .nj-section--publications > .nj-section-block__header {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.nj-plugin-page .nj-card--publication .nj-button,
body.nj-plugin-page .nj-card--publication .nj-button--primary,
body.nj-plugin-page .nj-card--publication .nj-action-buttons__btn {
	background: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
	color: #fff;
	min-height: 2.75rem;
	padding: 0.55rem 1.1rem;
	text-decoration: none;
}

body.nj-plugin-page .nj-card--publication .nj-button:hover,
body.nj-plugin-page .nj-card--publication .nj-button:focus-visible,
body.nj-plugin-page .nj-card--publication .nj-button:visited,
body.nj-plugin-page .nj-card--publication .nj-button--primary:hover,
body.nj-plugin-page .nj-card--publication .nj-button--primary:visited,
body.nj-plugin-page .nj-card--publication .nj-action-buttons__btn:hover,
body.nj-plugin-page .nj-card--publication .nj-action-buttons__btn:visited {
	color: #fff;
	background: #00164a;
}

/* Practitioners — full-width search + guidance cards */
body.nj-plugin-page .nj-directory-page--practitioners,
body.nj-plugin-page .njcms-practitioner-directory {
	width: 100%;
	max-width: var(--nj-pp-content);
	margin-inline: auto;
}

body.nj-plugin-page .njcms-practitioner-directory__guidance {
	border: 1px solid var(--nj-pp-border);
	border-top: 3px solid var(--nj-pp-gold);
	box-shadow: none;
}

body.nj-plugin-page .njcms-practitioner-directory__guidance-list a,
body.nj-plugin-page .njcms-practitioner-directory__guidance .njcms-ia-link-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 2.75rem;
	padding: 0.9rem 1.05rem;
	border: 1px solid var(--nj-pp-border);
	border-radius: var(--nj-pp-radius);
	background: #fff;
	color: var(--nj-pp-navy);
	font-weight: 700;
	text-decoration: none;
}

body.nj-plugin-page .nj-directory-page--practitioners .nj-filter-bar,
body.nj-plugin-page .nj-directory-page--practitioners .nj-filter-bar__input,
body.nj-plugin-page .nj-directory-page--practitioners .njcms-ia-empty,
body.nj-plugin-page .nj-directory-page--practitioners .nj-empty-state {
	width: 100%;
	max-width: none;
}

/* Shared primary button contrast safety net */
body.nj-plugin-page .njcms-ia-btn,
body.nj-plugin-page .nj-button--primary,
body.nj-plugin-page .nj-action-buttons__btn--primary,
body.nj-plugin-page [class*="__btn--primary"],
body.nj-plugin-page .njcms-announcements__btn--primary,
body.nj-plugin-page .njcms-reports__btn--primary,
body.nj-plugin-page .njcms-decisions__btn--primary {
	color: #fff;
	background-color: var(--nj-pp-navy);
	border-color: var(--nj-pp-navy);
}

body.nj-plugin-page .njcms-ia-btn:visited,
body.nj-plugin-page .nj-button--primary:visited,
body.nj-plugin-page [class*="__btn--primary"]:visited {
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	html.nj-motion-ready body.nj-plugin-page .page-header.nj-hero-ready .page-header_content {
		animation: none;
	}
}
