.nt-course-catalog,
.nt-course-detail {
	min-height: 0;
}

.nt-admin-edit-toolbar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-start;
	margin: 0 auto 18px;
	max-width: var(--nt-content-width, 1200px);
	padding: 0 20px;
}

.nt-admin-edit-toolbar__label {
	color: var(--nt-color-muted);
	font-size: .78rem;
}

.nt-admin-edit-toolbar__link {
	border: 1px solid var(--nt-color-line);
	border-radius: 9px;
	color: var(--nt-color-text);
	display: inline-flex;
	font-size: .78rem;
	font-weight: 700;
	padding: 8px 13px;
	transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}

.nt-admin-edit-toolbar__link:hover,
.nt-admin-edit-toolbar__link:focus-visible {
	border-color: var(--nt-color-brand);
	color: var(--nt-color-brand);
}

.nt-admin-edit-toolbar__link--primary {
	background: var(--nt-color-brand);
	border-color: var(--nt-color-brand);
	color: #10150b;
}

.nt-admin-edit-toolbar__link--primary:hover,
.nt-admin-edit-toolbar__link--primary:focus-visible {
	background: #b4f229;
	border-color: #b4f229;
	color: #10150b;
}

.nt-course-path-banner {
	background:
		linear-gradient(135deg, rgb(21 71 215 / 13%), transparent 62%),
		var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 22px;
	margin-bottom: 34px;
	padding: clamp(30px, 5vw, 58px);
	text-align: center;
}

.nt-course-path-banner .nt-kicker {
	justify-content: flex-start;
}

.nt-course-path-banner h2 {
	font-size: clamp(1.7rem, 4vw, 2.8rem);
	margin: 10px 0;
}

.nt-course-path-banner p:not(.nt-kicker) {
	color: var(--nt-color-muted);
	font-size: 1rem;
	margin: 0 auto 22px;
	max-width: 680px;
}

.nt-projects-catalog__empty {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 16px;
	padding: 24px;
}

.nt-projects-catalog .nt-course-path-banner h1 {
	font-size: clamp(1.7rem, 4vw, 2.8rem);
	margin: 10px 0;
}

.nt-projects-catalog .nt-course-catalog__browser {
	display: block;
}

.nt-projects-catalog .nt-course-catalog__results {
	min-height: 0;
}

.nt-projects-catalog__empty h2 {
	font-size: 1.05rem;
	margin: 0 0 18px;
}

.nt-projects-catalog__empty {
	min-height: 260px;
	text-align: center;
}

.nt-projects-catalog__empty p {
	color: var(--nt-color-muted);
	margin: 0;
}

.nt-course-path-banner > .nt-button {
	font-size: .95rem;
	min-width: 150px;
	padding: 14px 26px;
}

/* Projects page: service presentation stays separate from the course catalog. */
.nt-projects-page {
	background: var(--nt-color-page);
	padding-bottom: clamp(48px, 6vw, 80px);
}

.nt-projects-hero {
	padding-top: clamp(18px, 3vw, 34px);
}

.nt-projects-hero__inner,
.nt-projects-section {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 22px;
}

.nt-projects-hero__inner {
	background: var(--nt-color-card);
	padding: clamp(34px, 6vw, 72px);
	text-align: center;
}

.nt-projects-page__eyebrow {
	color: var(--nt-color-cobalt-high);
	font-family: var(--nt-font-mono);
	font-size: .68rem;
	letter-spacing: .08em;
	margin: 0 0 12px;
}

.nt-projects-hero h1 {
	font-size: clamp(2rem, 5vw, 3.4rem);
	margin: 0 0 18px;
}

.nt-projects-hero__inner > p:not(.nt-projects-page__eyebrow),
.nt-projects-section__header > p:not(.nt-projects-page__eyebrow) {
	color: var(--nt-color-muted);
	line-height: 2;
	margin: 0 auto;
	max-width: 820px;
}

.nt-projects-hero__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 28px;
}

.nt-projects-hero__actions .nt-button {
	min-width: 170px;
}

.nt-projects-section {
	margin-top: 28px;
	padding: clamp(24px, 5vw, 44px);
}

.nt-projects-section__header {
	border-bottom: 1px solid var(--nt-color-line-soft);
	margin-bottom: 28px;
	padding-bottom: 22px;
}

.nt-projects-section__header h2 {
	font-size: clamp(1.45rem, 3vw, 2.1rem);
	margin: 0 0 12px;
}

.nt-project-service-grid,
.nt-project-process-grid {
	display: grid;
	gap: 14px;
grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nt-project-service-card,
.nt-project-process-card {
	background: var(--nt-color-page-alt);
	border: 1px solid var(--nt-color-line);
	border-radius: 16px;
	padding: 22px;
}

.nt-project-service-card__icon {
	align-items: center;
	background: rgb(21 71 215 / 12%);
	border: 1px solid var(--nt-color-cobalt-high);
	border-radius: 12px;
	color: var(--nt-color-cobalt-high);
	display: flex;
	height: 52px;
	justify-content: center;
	margin-bottom: 20px;
	width: 52px;
}

.nt-project-service-card h3,
.nt-project-process-card h3 {
	font-size: 1.02rem;
	line-height: 1.8;
	margin: 0 0 10px;
}

.nt-project-service-card p,
.nt-project-process-card p,
.nt-projects-empty-state p {
	color: var(--nt-color-muted);
	font-size: .9rem;
	line-height: 2;
	margin: 0;
}

.nt-project-process-card > span {
	color: var(--nt-color-cobalt-high);
	display: block;
	font-family: var(--nt-font-mono);
	font-size: .76rem;
	margin-bottom: 16px;
}

.nt-projects-empty-state {
	background: var(--nt-color-page-alt);
	border: 1px dashed var(--nt-color-line-hover);
	border-radius: 14px;
	padding: 32px 20px;
	text-align: center;
}

.nt-project-request__panel {
	max-width: 900px;
	margin-inline: auto;
}

.nt-project-form {
	display: grid;
	gap: 16px;
}

.nt-project-form__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nt-project-form label:not(.nt-project-form__honeypot) {
	display: grid;
	gap: 7px;
}

.nt-project-form label > span {
	color: var(--nt-color-ink-soft);
	font-size: .82rem;
	font-weight: 700;
}

.nt-project-form :where(input, select, textarea) {
	background: var(--nt-color-page-alt);
	border: 1px solid var(--nt-color-line);
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--nt-color-ink);
	font: inherit;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.nt-project-form textarea {
	min-height: 140px;
	resize: vertical;
}

.nt-project-form :where(input, select, textarea):focus {
	border-color: var(--nt-color-cobalt-high);
	box-shadow: 0 0 0 3px rgb(52 104 242 / 12%);
	outline: none;
}

.nt-project-form__honeypot {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.nt-project-form__notice {
	border-radius: 10px;
	margin: 0 0 18px;
	padding: 12px 14px;
}

.nt-project-form__notice--success {
	background: rgb(31 157 112 / 14%);
	border: 1px solid rgb(31 157 112 / 45%);
	color: #9de4c5;
}

.nt-project-form__notice--error {
	background: rgb(208 72 72 / 12%);
	border: 1px solid rgb(208 72 72 / 45%);
	color: #ffb6b6;
}

@media (max-width: 900px) {
	.nt-project-service-grid,
	.nt-project-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.nt-projects-hero__inner,
	.nt-projects-section {
		border-radius: 16px;
		padding: 24px 18px;
	}

	.nt-projects-hero__actions,
	.nt-projects-hero__actions .nt-button {
		width: 100%;
	}

	.nt-project-service-grid,
	.nt-project-process-grid,
	.nt-project-form__grid {
		grid-template-columns: 1fr;
	}
}

.nt-course-master-banner {
	align-items: stretch;
	background: linear-gradient(135deg, rgb(21 71 215 / 12%), transparent 58%), var(--nt-color-card);
	border: 0;
	border-radius: 22px;
	display: grid;
	direction: rtl;
	gap: 0;
	grid-template-columns: minmax(270px, 1fr) minmax(0, 1fr);
	margin-bottom: 34px;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.nt-course-master-banner,
.nt-course-master-banner:hover,
.nt-course-master-banner:focus-visible {
	color: var(--nt-color-ink);
}

.nt-course-master-banner__media {
	background: #0b1015;
	aspect-ratio: 16 / 9;
	min-height: 0;
	overflow: hidden;
}

.nt-course-master-banner__media img {
	background: #0b1015;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nt-course-master-banner__content {
	display: flex;
	direction: rtl;
	flex-direction: column;
	justify-content: flex-start;
	padding: 18px clamp(24px, 3.2vw, 38px);
}

.nt-course-master-banner__content h2 {
	font-size: clamp(1.55rem, 2.8vw, 2.35rem);
	margin: 4px 0 8px;
}

.nt-course-master-banner--programming {
	background: linear-gradient(90deg, rgb(255 193 7 / 11%), transparent 58%), var(--nt-color-card);
	border: 1px solid rgb(255 193 7 / 90%);
}

.nt-course-master-banner--security {
	background: linear-gradient(90deg, rgb(0 230 190 / 10%), transparent 58%), var(--nt-color-card);
	border: 1px solid rgb(0 230 190 / 90%);
}

.nt-course-master-banner--programming .nt-course-master-banner__content h2 {
	color: var(--nt-color-ink);
}

.nt-course-master-banner--security .nt-course-master-banner__content h2 {
	color: var(--nt-color-ink);
}

.nt-course-master-banner--security .nt-course-master-banner__actions .nt-button {
	box-shadow: none;
}

.nt-course-master-banner__content > p:not(.nt-kicker) {
	color: var(--nt-color-muted);
	font-size: 1rem;
	line-height: 2;
	margin: 0 0 10px;
	text-align: justify;
	text-justify: inter-word;
}

.nt-course-master-banner__actions {
	align-items: center;
	display: flex;
	direction: ltr;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-start;
	margin-top: 4px;
}

.nt-course-master-banner__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.nt-course-master-banner__stats span {
	background: var(--nt-color-card-alt);
	border: 1px solid var(--nt-color-line-soft);
	border-radius: 10px;
	color: var(--nt-color-muted);
	font-size: .76rem;
	padding: 10px 14px;
}

.nt-course-master-banner__actions .nt-button {
	margin: 0;
}

.nt-course-master-banner__button {
	box-shadow: none;
	min-width: 150px;
	width: 100%;
}

.nt-course-master-banner__stats strong {
	color: var(--nt-color-brand);
	margin-inline-end: 4px;
}

.nt-course-master-banner .nt-button {
	align-self: flex-start;
}

.nt-course-master-banner .nt-course-master-banner__button {
	background: var(--nt-color-brand);
	border-color: var(--nt-color-brand);
	color: #10150b;
}

.nt-course-master-banner .nt-course-master-banner__button:hover,
.nt-course-master-banner .nt-course-master-banner__button:focus-visible {
	background: var(--nt-color-brand-hover);
	border-color: var(--nt-color-brand-hover);
	color: #10150b;
}

.nt-course-master-banner--security .nt-course-master-banner__button {
	background: #00e6be;
	border-color: #00e6be;
	color: #06110f;
}

.nt-course-master-banner--security .nt-course-master-banner__button:hover,
.nt-course-master-banner--security .nt-course-master-banner__button:focus-visible {
	background: #00c9a8;
	border-color: #00c9a8;
	color: #06110f;
}

.nt-course-master-banner--programming .nt-course-master-banner__button {
	background: #ffc107;
	border-color: #ffc107;
	color: #1b1400;
}

.nt-course-master-banner--programming .nt-course-master-banner__button:hover,
.nt-course-master-banner--programming .nt-course-master-banner__button:focus-visible {
	background: #e0a900;
	border-color: #e0a900;
	color: #1b1400;
}

.nt-course-card__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nt-course-path-gateway,
.nt-master-class {
	align-items: center;
	background: linear-gradient(120deg, rgb(21 71 215 / 13%), transparent 58%), var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: var(--nt-radius-panel);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 22px;
	padding: clamp(20px, 4vw, 34px);
}

.nt-course-path-gateway h2,
.nt-master-class h2 { margin: 5px 0 8px; }
.nt-course-path-gateway p:not(.nt-kicker),
.nt-master-class p:not(.nt-kicker) { color: var(--nt-color-muted); margin: 0; max-width: 58ch; }
.nt-master-class { background: linear-gradient(120deg, rgb(155 217 31 / 9%), transparent 58%), var(--nt-color-card); }
.nt-master-class strong { color: var(--nt-color-brand); display: block; margin-top: 12px; }

.nt-course-archive-hero,
.nt-course-detail-hero {
	background:
		linear-gradient(135deg, rgb(21 71 215 / 16%), transparent 52%),
		linear-gradient(180deg, var(--nt-color-page-alt), var(--nt-color-page));
	border-bottom: 1px solid var(--nt-color-line-soft);
}

.nt-course-archive-hero__inner {
	max-width: 820px;
	padding-block: 18px;
}

.nt-course-archive-hero .nt-kicker {
	justify-content: flex-start;
}

.nt-course-archive-hero__grid {
	display: grid;
	gap: 28px;
}

.nt-course-archive-hero h1,
.nt-course-detail-hero h1 {
	font-size: clamp(2rem, 5.4vw, 3.6rem);
	letter-spacing: -0.045em;
	line-height: 1.25;
	margin: 12px 0;
}

/* Keep mixed Persian/Latin course titles (for example "هکر قانونمند - CEH")
 * in their natural reading order instead of letting the RTL context reorder
 * the separator and Latin suffix. */
.nt-course-detail-hero h1,
.nt-course-detail-hero .nt-breadcrumbs li[aria-current="page"] {
	direction: rtl;
	text-align: right;
	unicode-bidi: plaintext;
}

.nt-course-detail-hero h1 .nt-course-detail-hero__title-fa {
	direction: rtl;
	display: inline;
	letter-spacing: normal;
	unicode-bidi: isolate;
}

.nt-course-detail-hero h1 .nt-course-detail-hero__title-latin {
	direction: ltr;
	display: inline-block;
	letter-spacing: normal;
	unicode-bidi: isolate;
}

.nt-course-detail-hero h1.nt-course-detail-hero__mixed-title {
	align-items: baseline;
	direction: ltr;
	display: flex;
	flex-direction: row-reverse;
	gap: .12em;
	justify-content: flex-start;
}

.nt-course-detail-hero .nt-breadcrumbs li[aria-current="page"] bdi {
	direction: ltr;
	display: inline-block;
	unicode-bidi: isolate;
}

.nt-course-detail-hero .nt-breadcrumbs li[aria-current="page"] > span[dir="rtl"] {
	direction: rtl;
	display: inline;
	unicode-bidi: isolate;
}

.nt-course-archive-hero__description,
.nt-course-detail-hero__description {
	color: var(--nt-color-ink-soft);
	font-size: clamp(1rem, 3vw, 1.2rem);
	margin: 0;
}

.nt-course-archive-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.nt-course-archive-console {
	background: linear-gradient(145deg, rgb(21 71 215 / 12%), transparent), var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: var(--nt-radius-panel);
	display: flex;
	flex-direction: column;
	min-height: 220px;
	padding: 24px;
}

.nt-course-archive-console span,
.nt-course-archive-console i {
	color: var(--nt-color-muted);
	font-family: var(--nt-font-mono);
	font-size: 0.68rem;
	font-style: normal;
	letter-spacing: 0.07em;
}

.nt-course-archive-console strong {
	color: var(--nt-color-brand);
	font-family: var(--nt-font-mono);
	font-size: clamp(3.5rem, 15vw, 6.5rem);
	line-height: 1;
	margin-top: auto;
}

.nt-course-archive-console small {
	color: var(--nt-color-ink-soft);
	margin-top: 7px;
}

.nt-course-archive-console i {
	border-top: 1px solid var(--nt-color-line-soft);
	color: var(--nt-color-brand);
	margin-top: 18px;
	padding-top: 12px;
}

.nt-course-toolbar {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line-soft);
	border-radius: var(--nt-radius-lg);
	display: grid;
	gap: 14px;
	margin-bottom: 22px;
	padding: 16px;
	box-shadow: 0 18px 40px rgb(0 0 0 / 10%);
}

.nt-course-toolbar__search > div {
	display: flex;
	gap: 7px;
}

.nt-course-toolbar__search input { min-width: 0; width: 100%; }
.nt-course-toolbar :where(input, select, button) { min-height: 44px; }

.nt-course-toolbar__status {
	color: var(--nt-color-muted);
	font-size: 0.7rem;
	grid-column: 1 / -1;
	margin: 0;
}

.nt-course-filters {
	margin-bottom: 28px;
}

.nt-course-filters__heading h2 {
	font-size: 1.1rem;
	margin: 0 0 12px;
}

.nt-course-categories {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 3px 2px 12px;
	scrollbar-width: thin;
}

.nt-course-category {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 999px;
	color: var(--nt-color-ink-soft);
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 600;
	min-height: 40px;
	padding: 7px 13px;
	transition: background-color 0.2s var(--nt-ease), border-color 0.2s var(--nt-ease), color 0.2s var(--nt-ease);
}

.nt-course-category:hover,
.nt-course-category.is-active {
	background: var(--nt-color-cobalt-soft);
	border-color: var(--nt-color-cobalt-high);
	color: #fff;
}

.nt-course-category.is-active {
	color: #fff;
}

.nt-course-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr);
}

.nt-course-section-empty {
	color: var(--nt-color-muted);
	margin: 0;
}

.nt-course-pagination {
	display: flex;
	gap: 7px;
	justify-content: center;
	margin-top: 34px;
}

.nt-course-pagination .page-numbers {
	align-items: center;
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 9px;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	min-width: 40px;
}

.nt-course-pagination .current {
	background: var(--nt-color-brand);
	border-color: var(--nt-color-brand);
	color: #090c06;
}

.nt-course-detail-hero__grid {
	display: grid;
	gap: 26px;
}

.nt-course-detail-hero__media {
	aspect-ratio: 16 / 9;
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: var(--nt-radius-panel);
	overflow: hidden;
	position: relative;
}

.nt-course-detail-hero__media img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}
.nt-course-image-placeholder--detail { align-items: center; background: radial-gradient(circle at 35% 30%, rgb(52 104 242 / 32%), transparent 42%), linear-gradient(145deg, #0b1420, #101a22); display: flex; justify-content: center; min-height: 100%; position: relative; }
.nt-course-image-placeholder--detail::before { background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px); background-size: 28px 28px; content: ""; inset: 0; opacity: .6; position: absolute; }
.nt-course-image-placeholder--detail span { color: var(--nt-color-brand); font: 800 clamp(1.8rem, 6vw, 3.8rem)/1 var(--nt-font-mono); letter-spacing: .08em; position: relative; }

.nt-course-detail-hero__content {
	align-self: center;
}

.nt-course-detail-hero__media-label {
	background: rgb(7 9 12 / 84%);
	border: 1px solid var(--nt-color-line);
	border-radius: 999px;
	bottom: 12px;
	color: var(--nt-color-brand);
	font-family: var(--nt-font-mono);
	font-size: 0.64rem;
	left: 12px;
	padding: 5px 9px;
	position: absolute;
}

.nt-course-detail-hero .nt-course-meta {
	margin-block: 24px;
}

.nt-course-detail-cta {
	align-items: center;
	display: flex;
	gap: 12px;
}

.nt-course-detail-cta { flex-wrap: wrap; }
.nt-course-detail-cta .nt-purchase-form { flex: 1 1 220px; }
.nt-course-availability { background: var(--nt-color-card-alt); border: 1px solid var(--nt-color-line); border-radius: var(--nt-radius-sm); color: var(--nt-color-muted); margin: 0; padding: 10px 13px; }
.nt-course-help-link { font-size: .78rem; }

.nt-course-detail-cta small {
	color: var(--nt-color-muted);
}

.nt-course-detail-section {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line-soft);
	border-radius: var(--nt-radius-lg);
	padding: 22px;
}

.nt-course-detail-section h2 {
	font-size: clamp(1.2rem, 4vw, 1.55rem);
	margin: 0 0 16px;
}

.nt-course-section-index {
	color: var(--nt-color-cobalt-high);
	font-family: var(--nt-font-mono);
	font-size: 0.66rem;
	letter-spacing: 0.07em;
	margin: 0 0 9px;
}

.nt-course-overview {
	display: grid;
	gap: 26px;
}

.nt-course-audience {
	background: var(--nt-color-card-alt);
	border: 1px solid var(--nt-color-line-soft);
	border-radius: var(--nt-radius-md);
	padding: 18px;
}

.nt-course-audience h3 {
	font-size: 1rem;
	margin: 0 0 14px;
}

.nt-course-rich-text,
.nt-course-list {
	color: var(--nt-color-ink-soft);
}

.nt-course-rich-text > :first-child,
.nt-course-curriculum__section > :first-child {
	margin-top: 0;
}

.nt-course-rich-text > :last-child,
.nt-course-curriculum__section > :last-child {
	margin-bottom: 0;
}

.nt-course-overview :where(h1, h2, h3) {
	scroll-margin-top: 132px;
}

/* Course descriptions use the same collapsible Rank Math-compatible TOC as articles. */
.nt-course-overview .wp-block-rank-math-toc-block {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line-soft);
	border-inline-start: 3px solid var(--nt-color-cobalt-high);
	border-radius: 14px;
	box-shadow: 0 10px 22px rgb(0 0 0 / 14%);
	margin: 0 0 2rem;
	padding: 18px 22px 20px;
}
.nt-course-overview .wp-block-rank-math-toc-block > h2 { color: var(--nt-color-ink); font-size: 1.08rem; margin: 0; }
.nt-course-overview .wp-block-rank-math-toc-block .nt-toc-toggle { align-items: center; background: transparent; border: 0; color: var(--nt-color-ink); cursor: pointer; display: flex; font: inherit; justify-content: space-between; padding: 0; text-align: right; width: 100%; }
.nt-course-overview .wp-block-rank-math-toc-block .nt-toc-toggle__icon { border-bottom: 2px solid var(--nt-color-cobalt-high); border-inline-end: 2px solid var(--nt-color-cobalt-high); display: block; height: 9px; transform: rotate(45deg) translateY(-2px); width: 9px; }
.nt-course-overview .wp-block-rank-math-toc-block.is-collapsed .nt-toc-toggle__icon { transform: rotate(-45deg) translateY(2px); }
.nt-course-overview .wp-block-rank-math-toc-block nav ul { display: grid; gap: 6px; list-style: none; margin: 12px 0 0; padding: 0; }
.nt-course-overview .wp-block-rank-math-toc-block nav li::before { display: none !important; }
.nt-course-overview .wp-block-rank-math-toc-block nav li { margin: 0; padding: 0; }
.nt-course-overview .wp-block-rank-math-toc-block nav a { border-radius: 8px; color: var(--nt-color-ink); display: block; font-size: .9rem; line-height: 1.9; padding: 5px 8px; text-decoration: none; }
.nt-course-overview .wp-block-rank-math-toc-block nav a:hover,
.nt-course-overview .wp-block-rank-math-toc-block nav a:focus-visible { background: rgb(52 104 242 / 7%); color: var(--nt-color-ink); }

.nt-course-list {
	margin: 0;
	padding-inline-start: 22px;
}

.nt-course-list li + li {
	margin-top: 8px;
}

.nt-course-check-list,
.nt-course-prerequisite-list {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nt-course-check-list li {
	color: var(--nt-color-ink-soft);
	align-items: start;
	display: flex;
	gap: 9px;
}

.nt-course-check-list li .nf-icon {
	color: var(--nt-color-brand);
	flex: 0 0 auto;
	margin-top: 2px;
}

.nt-course-card__type .nf-icon {
	color: var(--nt-color-brand);
	margin-inline-end: 5px;
}

.nt-course-prerequisite-list a {
	align-items: center;
	background: var(--nt-color-card-alt);
	border: 1px solid var(--nt-color-line-soft);
	border-radius: var(--nt-radius-sm);
	display: flex;
	gap: 10px;
	padding: 12px;
}

.nt-course-prerequisite-list a:hover {
	border-color: var(--nt-color-brand-deep);
}

.nt-course-prerequisite-list span {
	color: var(--nt-color-brand);
	font-family: var(--nt-font-mono);
}

.nt-course-curriculum__sections {
	display: grid;
	gap: 12px;
}

.nt-course-curriculum__section {
	background: var(--nt-color-card-alt);
	border: 1px solid var(--nt-color-line-soft);
	border-radius: var(--nt-radius-md);
	overflow: hidden;
}

.nt-course-curriculum__section h3 {
	font-size: 1rem;
	margin: 0;
}

.nt-course-curriculum__section summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 12px;
	list-style: none;
	padding: 16px;
}
.nt-course-curriculum__section summary::-webkit-details-marker { display: none; }
.nt-course-curriculum__section summary:focus-visible { outline: 2px solid var(--nt-color-brand); outline-offset: -2px; }
.nt-course-curriculum__section > ol { padding-inline: 16px; }


.nt-course-curriculum__section ol {
	list-style-position: inside;
	margin: 0;
	padding: 0;
}


.nt-course-faq {
	display: grid;
	gap: 8px;
}

.nt-course-faq details {
	background: var(--nt-color-card-alt);
	border-radius: var(--nt-radius-sm);
	padding: 12px 14px;
}

.nt-course-faq summary {
	cursor: pointer;
	font-weight: 600;
}

.nt-course-faq p {
	color: var(--nt-color-muted);
	margin: 8px 0 0;
}

.nt-course-related-paths__grid {
	display: grid;
	gap: 10px;
}

.nt-course-related-courses,
.nt-course-commerce-slot { grid-column: 1 / -1; }

.nt-course-related-courses__grid { display: grid; gap: 16px; }

.nt-course-related-paths__grid > a {
	background: var(--nt-color-card-alt);
	border: 1px solid var(--nt-color-line-soft);
	border-radius: var(--nt-radius-md);
	display: grid;
	gap: 12px;
	padding: 16px;
}

.nt-course-related-paths__grid > a:hover {
	border-color: var(--nt-color-brand-deep);
}

.nt-course-related-paths__grid strong {
	font-size: 1rem;
}

.nt-course-related-paths__grid > a > span:last-child {
	color: var(--nt-color-brand);
	font-size: 0.75rem;
}

.nt-course-detail-final-cta {
	align-items: flex-start;
	background: linear-gradient(120deg, rgb(21 71 215 / 16%), transparent 55%), var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: var(--nt-radius-panel);
	display: flex;
	flex-direction: column;
	gap: 24px;
	grid-column: 1 / -1;
	justify-content: space-between;
	padding: clamp(24px, 5vw, 42px);
}

.nt-course-detail-final-cta h2 {
	font-size: clamp(1.5rem, 5vw, 2.25rem);
	margin: 8px 0;
}

.nt-course-detail-final-cta p:last-child {
	color: var(--nt-color-muted);
	margin: 0;
}

.nt-course-detail-stats {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 18px auto 0;
	max-width: var(--nt-container);
	padding-inline: 20px;
}
.nt-course-sidebar-card { background: var(--nt-color-card); border: 1px solid var(--nt-color-line); border-radius: var(--nt-radius-lg); padding: 20px; }
.nt-course-sidebar-card h2 { font-size: 1.05rem; margin: 8px 0 10px; }
.nt-course-sidebar-card p:not(.nt-course-section-index) { color: var(--nt-color-muted); font-size: .86rem; }
.nt-course-sidebar-card .nt-purchase-form { width: 100%; }
.nt-course-sidebar-card .nt-purchase-form .nt-button { width: 100%; }
.nt-course-sidebar-path .nt-course-detail-section { background: transparent; border: 0; padding: 0; }
.nt-course-sidebar-path .nt-course-section-index,
.nt-course-sidebar-path h2 { display: none; }
.nt-course-detail-stats > div { background: var(--nt-color-card); border: 1px solid var(--nt-color-line-soft); border-radius: var(--nt-radius-sm); display: grid; gap: 4px; padding: 12px; }
.nt-course-detail-stats span { color: var(--nt-color-muted); font-size: .7rem; }
.nt-course-detail-stats strong { color: var(--nt-color-ink-soft); font-size: .86rem; }
.nt-course-instructor__name { color: var(--nt-color-brand); font-weight: 700; }
.nt-course-instructor__profile { align-items: flex-start; display: flex; gap: 14px; }
.nt-course-instructor__avatar { border: 2px solid var(--nt-color-brand-deep); border-radius: 50%; height: 64px; width: 64px; }
.nt-course-instructor__bio { color: var(--nt-color-muted); margin: 6px 0 0; }
.nt-course-support p:not(.nt-course-section-index) { color: var(--nt-color-muted); }

.nt-course-card {
	box-shadow: 0 14px 34px rgb(0 0 0 / 10%);
}

.nt-course-card__title {
	line-height: 1.55;
}

.nt-tool-card--cyber-box .nt-course-card__title {
	font-size: clamp(.78rem, 1.25vw, 1rem);
	white-space: nowrap;
}

.nt-course-card__action {
	margin-top: auto;
}

.nt-course-catalog .nt-tool-card .nt-course-card__action,
.nt-course-detail--premium .nt-tool-related-card .nt-course-card__action {
	align-self: stretch;
	margin-inline: 0;
	width: 100%;
}

.nt-tool-detail--cyber-box .nt-course-detail-hero h1 {
	font-size: clamp(.9rem, 2.35vw, 2.35rem);
	max-width: none;
	white-space: nowrap;
}

.nt-tool-detail--cyber-box #nt-tool-detail-title {
	font-size: clamp(.9rem, 2.35vw, 2.35rem);
	max-width: none;
	white-space: nowrap;
}

.nt-tool-detail__media--cyber-box {
	aspect-ratio: 2516 / 1425;
}

.nt-tool-detail__media--cyber-box .nt-course-detail-hero__image {
	object-fit: cover;
	object-position: center;
}

/* Owned products use the same cobalt status treatment on course and tool pages. */
.nt-course-detail--premium .nt-course-enroll-panel__purchase > .nt-owned-state {
	align-items: center;
	background: transparent;
	border: 1px solid var(--nt-color-cobalt-high);
	color: var(--nt-color-ink);
	direction: rtl;
	display: flex;
	justify-content: flex-start;
	margin: 0;
	min-height: 58px;
	padding: .85rem 1rem;
	text-align: right;
	width: 100%;
}

@media (max-width: 600px) {
	.nt-tool-detail--cyber-box #nt-tool-detail-title {
		font-size: 1.2rem;
		letter-spacing: -.08em;
	}
}

/* Course catalog refresh: compact academy header, sidebar controls and product grid. */
.nt-course-archive-hero {
	background: var(--nt-color-page);
	border-bottom: 0;
	padding-block: 54px 42px;
	text-align: center;
}

.nt-course-archive-hero__inner {
	max-width: 980px;
	padding-block: 0;
}

.nt-course-archive-hero .nt-kicker {
	justify-content: center;
	margin-bottom: 10px;
}

.nt-course-archive-hero h1 {
	font-size: clamp(2.2rem, 5vw, 3.7rem);
	margin: 0 0 30px;
}

.nt-course-archive-hero__stats {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 18px;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	max-width: 760px;
	padding: 18px;
}

.nt-course-archive-hero__stats > div {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nt-course-archive-hero__stats strong {
	color: var(--nt-color-brand);
	font-size: 1.35rem;
}

.nt-course-archive-hero__stats span {
	color: var(--nt-color-muted);
	font-size: .78rem;
}

.nt-course-catalog__browser {
	display: grid;
	gap: 28px;
	direction: ltr;
}

.nt-course-catalog__sidebar {
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 18px;
	direction: rtl;
	margin-top: 0;
}

.nt-course-catalog__results {
	direction: rtl;
	min-width: 0;
}

.nt-course-catalog__filter-panel {
	direction: rtl;
	display: grid;
	gap: 18px;
}

.nt-course-toolbar__filter-toggle,
.nt-course-catalog__filters-close {
	display: none;
}

@media (min-width: 700px) {
	.nt-course-toolbar__filter-toggle {
		display: none !important;
	}
}

.nt-course-catalog--landing .nt-course-catalog__results {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	overflow: visible;
	padding: 0;
}

.nt-course-catalog--landing .nt-course-master-banner {
	margin-bottom: 22px;
}

.nt-course-catalog .nt-course-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nt-course-catalog__sidebar .nt-course-toolbar,
.nt-course-catalog__sidebar .nt-course-filters {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 16px;
	margin: 0;
	padding: 20px;
}

.nt-tools-catalog .nt-course-filter-box {
	background: transparent;
	border: 0;
	padding: 0;
}

.nt-tools-catalog .nt-course-filter-check {
	border: 1px solid var(--nt-color-line-soft);
	font-size: .76rem;
	line-height: 1.6;
	min-height: 30px;
	padding: 6px 9px;
}

.nt-tools-catalog .nt-course-filter-check:hover {
	background: var(--nt-color-cobalt-soft);
	border-color: var(--nt-color-cobalt-high);
	color: #fff;
}

.nt-tools-catalog .nt-course-filter-check.is-active {
	background: var(--nt-color-cobalt-soft);
	border-color: var(--nt-color-cobalt-high);
	color: #fff;
}

.nt-tools-catalog .nt-course-path-banner h1 {
	font-size: clamp(1.7rem, 4vw, 2.8rem);
	margin: 10px 0;
}

.nt-course-catalog__sidebar .nt-course-toolbar {
	box-shadow: none;
	grid-template-columns: 1fr;
}

.nt-course-catalog__sidebar .nt-course-toolbar__search > div {
	flex-direction: column;
}

.nt-course-catalog__sidebar .nt-course-toolbar__search label,
.nt-course-catalog__sidebar .nt-course-toolbar__sort label {
	color: var(--nt-color-ink-soft);
	display: block;
	font-size: .8rem;
	margin-bottom: 8px;
}

.nt-course-catalog__sidebar .nt-course-toolbar__status {
	font-size: .72rem;
}

.nt-course-catalog__sidebar .nt-course-toolbar input:focus,
.nt-course-catalog__sidebar .nt-course-toolbar select:focus {
	border-color: var(--nt-color-line) !important;
	box-shadow: 0 0 0 2px rgb(255 255 255 / 5%) !important;
	outline: none;
}

.nt-course-catalog__sidebar .nt-course-filters__heading h2 {
	font-size: 1.1rem;
	margin-bottom: 16px;
}

.nt-course-catalog__sidebar .nt-course-categories {
	align-items: stretch;
	display: grid;
	overflow: visible;
	padding: 0;
}

.nt-course-catalog__sidebar .nt-course-category {
	border-radius: 10px;
	text-align: justify;
	width: 100%;
}

.nt-course-catalog__sidebar .nt-course-category.is-active {
	background: var(--nt-color-cobalt-soft);
	border-color: var(--nt-color-cobalt-high);
	color: #fff;
}

@media (min-width: 1024px) {
	/* The tools archive is short by design; do not stretch it to a viewport
	 * minimum that creates a large empty region before the footer. */
	.nt-tools-catalog .nt-course-catalog__browser,
	.nt-tools-catalog .nt-course-catalog__results {
		min-height: 0;
	}

	.nt-course-catalog__browser {
		align-items: start;
		grid-template-columns: minmax(0, 1fr) 285px;
		min-height: calc(100vh - 110px);
	}

	.nt-course-catalog__sidebar {
		grid-column: 2;
		align-self: start;
		height: max-content;
		overflow: visible;
		position: -webkit-sticky;
		position: sticky;
		top: 62px;
		z-index: 5;
	}

	.nt-course-catalog__results {
		grid-column: 1;
		grid-row: 1;
		min-height: calc(100vh - 110px);
	}
}

@media (max-width: 699px) {
	.nt-course-toolbar__filter-toggle {
		background: transparent;
		border: 1px solid var(--nt-color-line);
		border-radius: 10px;
		color: var(--nt-color-ink-soft);
		display: block !important;
		font-weight: 700;
		min-height: 44px;
		padding: 9px 14px;
		width: 100%;
	}

	.nt-course-toolbar__filter-toggle:active,
	.nt-course-toolbar__filter-toggle:focus-visible {
		border-color: var(--nt-color-cobalt-high);
		color: var(--nt-color-ink);
	}

	.nt-course-catalog__filter-panel {
		align-content: start;
		background: var(--nt-color-page);
		box-sizing: border-box;
		border-inline-start: 1px solid var(--nt-color-line);
		gap: 18px;
		inset-block: 0;
		left: auto;
		margin: 0;
		max-width: 314px;
		min-height: 100dvh;
		overflow-y: auto;
		padding: 72px 16px 24px;
		position: fixed;
		right: 0;
		transform: translateX(100%);
		transition: transform 180ms ease-out, visibility 180ms ease-out;
		visibility: hidden;
		width: min(314px, 88vw);
		z-index: 1100;
		box-shadow: -18px 0 48px rgb(0 0 0 / 28%);
	}

	.nt-course-catalog__filter-panel.is-open {
		display: grid;
		transform: translateX(0);
		visibility: visible;
	}

	.nt-course-catalog__filters-close {
		background: transparent;
		border: 1px solid var(--nt-color-line);
		border-radius: 10px;
		color: var(--nt-color-ink-soft);
		display: block;
		font-weight: 700;
		min-height: 44px;
		padding: 9px 14px;
		position: absolute;
		right: 16px;
		top: 16px;
		width: calc(100% - 32px);
	}

	.nt-course-catalog__filter-panel .nt-course-filters,
	.nt-course-catalog__filter-panel .nt-course-filter-box {
		padding: 18px;
	}

	.nt-course-catalog__filter-panel .nt-course-filters {
		align-self: start;
		margin-top: 0;
	}

	.nt-course-filters-open {
		overflow: hidden;
	}
}

@media (max-width: 620px) {
	.nt-course-archive-hero {
		padding-block: 38px 28px;
	}

	.nt-course-archive-hero__stats {
		gap: 8px;
		padding: 12px 8px;
	}

	.nt-course-archive-hero__stats strong {
		font-size: 1.05rem;
	}

	.nt-course-archive-hero__stats span {
		font-size: .66rem;
	}

	.nt-course-master-banner {
		grid-template-columns: 1fr;
	}

	.nt-course-master-banner__media {
		aspect-ratio: 16 / 9;
	}

	.nt-course-master-banner .nt-button {
		align-self: stretch;
		text-align: center;
	}

	.nt-course-master-banner__actions,
	.nt-course-master-banner__button {
		width: 100%;
	}
}

@media (max-width: 900px) {
	.nt-course-catalog .nt-course-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.nt-course-catalog .nt-course-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 700px) {
	.nt-course-detail-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.nt-course-toolbar {
		align-items: end;
		grid-template-columns: minmax(0, 1fr) minmax(190px, 0.35fr);
		padding: 18px;
	}

	.nt-course-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nt-course-detail-section:first-child,
	.nt-course-curriculum,
	.nt-course-detail-faq,
	.nt-course-related-paths {
		grid-column: 1 / -1;
	}

	.nt-course-overview {
		grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.65fr);
	}

	.nt-course-check-list--grid,
	.nt-course-related-paths__grid,
	.nt-course-related-courses__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nt-course-detail-final-cta {
		align-items: center;
		flex-direction: row;
	}
}

@media (min-width: 1024px) {
	.nt-course-archive-hero__grid {
		align-items: center;
		grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
	}

	.nt-course-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nt-course-detail-hero__grid {
		grid-template-areas: "content media";
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	}
	.nt-course-detail-hero__media { grid-area: media; }
	.nt-course-detail-hero__content { grid-area: content; }

	.nt-course-detail-hero__content {
		padding-inline: 24px;
	}

	.nt-course-related-courses__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
	.nt-course-path-gateway,
	.nt-master-class { align-items: flex-start; flex-direction: column; }
	.nt-course-path-gateway .nt-button,
	.nt-master-class .nt-button { width: 100%; }
	.nt-course-archive-hero__inner {
		padding-block: 8px;
	}

	.nt-course-archive-hero h1,
	.nt-course-detail-hero h1 {
		font-size: clamp(1.9rem, 9vw, 2.65rem);
	}

	.nt-course-toolbar__search > div { flex-direction: column; }
	.nt-course-detail-cta .nt-button { flex: 1 1 100%; }
}

@media (min-width: 1320px) {
	.nt-course-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.nt-course-category {
		transition: none;
	}
}

/* Targeted typography and rhythm refinement */
.nt-course-detail--premium .nt-course-detail-main { gap: 34px; }
.nt-course-detail--premium .nt-course-detail-sidebar { gap: 26px; }
.nt-tool-detail.nt-course-detail--premium .nt-course-detail-sidebar { gap: 12px; transform: translateY(-32px); }
.nt-tool-detail.nt-course-detail--premium .nt-course-detail-sidebar > .nt-course-sidebar-path-cta { transform: none; }
.nt-course-detail--premium .nt-course-detail-section,
.nt-course-detail--premium .nt-comments-area,
.nt-course-detail--premium .nt-course-related-courses { scroll-margin-top: 168px; }
.nt-course-detail--premium .nt-course-rich-text { direction: rtl; max-width: 66ch; margin-inline-end: 0; margin-inline-start: auto; text-align: right; font-size: 1.08rem; line-height: 2.2; overflow-wrap: normal; word-break: normal; }
.nt-course-detail--premium .nt-course-rich-text p { margin: 0 0 1.35em; }
.nt-course-detail--premium .nt-course-rich-text.is-collapsible { max-height: 28rem; overflow: hidden; position: relative; }
.nt-course-detail--premium .nt-course-rich-text.is-collapsible::after { background: linear-gradient(180deg, transparent, var(--nt-course-surface)); bottom: 0; content: ""; height: 5rem; inset-inline: 0; pointer-events: none; position: absolute; }
.nt-course-detail--premium .nt-course-rich-text.is-expanded { max-height: none; }
.nt-course-detail--premium .nt-course-rich-text.is-expanded::after { display: none; }
.nt-course-description-toggle { display: block; margin: 8px 0 0 auto; }
.nt-course-detail--premium .nt-course-rich-text :where(h2,h3,h4) { letter-spacing: normal; margin: 2.1em 0 .8em; }
.nt-course-detail--premium .nt-course-overview__title {
	color: var(--nt-course-ink);
	font-size: clamp(1.2rem, 4vw, 1.55rem);
	font-weight: 900;
	line-height: 1.55;
	margin: 0 0 16px;
}
.nt-course-detail--premium .nt-course-rich-text h1 {
	color: var(--nt-course-ink);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 900;
	line-height: 1.55;
	margin: 0 0 .85em;
}
.nt-course-detail--premium .nt-course-rich-text :where(ul,ol) { line-height: 2; margin: 0 0 1.35em; }

/* Course descriptions are full-width, readable RTL copy (no centered/clipped text). */
.nt-course-detail--premium .nt-course-overview .nt-course-rich-text {
	direction: rtl;
	text-align: justify;
	text-align-last: right;
	width: 100%;
	max-width: none;
	margin: 0;
	font-size: 1.06rem;
	line-height: 2.25;
	white-space: normal;
	overflow: visible;
	overflow-wrap: anywhere;
	word-break: normal;
}

/* Keep course and masterclass descriptions aligned with the rest of the detail copy. */
.nt-masterclass-detail .nt-course-overview .nt-course-rich-text {
	text-align: justify !important;
	text-align-last: right !important;
}

.nt-masterclass-detail .nt-course-detail-hero__description {
	text-align: justify !important;
	text-align-last: right !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: break-word;
	min-width: 0;
	width: 100%;
}
.nt-course-detail--premium .nt-course-overview .nt-course-rich-text.is-collapsible {
	max-height: 25rem;
	overflow: hidden;
	position: relative;
}
.nt-course-detail--premium .nt-course-overview .nt-course-rich-text.is-collapsible::after {
	background: linear-gradient(180deg, transparent, var(--nt-course-surface));
	bottom: 0;
	content: "";
	height: 5rem;
	inset-inline: 0;
	pointer-events: none;
	position: absolute;
}
.nt-course-detail--premium .nt-course-overview .nt-course-rich-text.is-expanded {
	max-height: none;
}
.nt-course-detail--premium .nt-course-overview .nt-course-rich-text.is-expanded::after {
	display: none;
}
.nt-course-detail--premium .nt-course-overview .nt-course-description-toggle {
	display: flex;
	justify-content: center;
	margin: 16px auto 0;
	min-width: 170px;
}
.nt-course-detail--premium .nt-course-overview .nt-course-rich-text p {
	margin: 0 0 1.45em;
}
.nt-course-detail--premium .nt-course-audience { margin-top: 0; padding: 22px; }
.nt-course-detail--premium .nt-course-audience__heading { margin-bottom: 18px; }
.nt-course-detail--premium .nt-course-audience h3 { line-height: 1.7; }
.nt-course-detail--premium .nt-course-audience .nt-course-check-list { gap: 13px; }
.nt-course-detail--premium .nt-course-audience .nt-course-check-list li { line-height: 1.9; }
.nt-course-detail--premium .nt-course-curriculum__section summary { gap: 14px; grid-template-columns: minmax(0,1fr) auto; min-height: 76px; padding: 15px 18px; }
.nt-course-detail--premium .nt-course-curriculum__identity { align-items: center; display: flex; gap: 14px; min-width: 0; }
.nt-course-detail--premium .nt-course-curriculum__chapter-no { flex: 0 0 38px; }
.nt-course-detail--premium .nt-course-curriculum__chapter-copy { min-width: 0; text-align: right; }
.nt-course-detail--premium .nt-course-detail-main .nt-course-curriculum__section summary .nt-course-curriculum__toggle { flex: 0 0 38px; }
.nt-course-detail--premium .nt-course-lesson { grid-template-columns: 30px minmax(0,1fr) auto; padding: 16px 0; }
.nt-course-detail--premium .nt-course-lesson__copy { direction: rtl; text-align: right; }
.nt-course-detail--premium .nt-course-lesson__copy strong { line-height: 1.8; }
.nt-course-detail--premium .nt-course-lesson__copy p { line-height: 1.95; margin-top: 6px; }
.nt-course-detail--premium .nt-course-lesson__duration { direction: rtl; }

@media (max-width: 767px) {
	.nt-course-detail--premium .nt-course-detail-main { gap: 22px; }
	.nt-course-detail--premium .nt-course-detail-sidebar { gap: 22px; }
	.nt-course-detail--premium .nt-course-rich-text { max-width: none; }
	.nt-course-detail--premium .nt-course-curriculum__section summary { grid-template-columns: minmax(0,1fr) auto; min-height: 72px; padding-inline: 13px; }
	.nt-course-detail--premium .nt-course-curriculum__identity { gap: 10px; }
	.nt-course-detail--premium .nt-course-lesson { grid-template-columns: 27px minmax(0,1fr); }
	.nt-course-detail--premium .nt-course-lesson__duration { grid-column: 2; padding-top: 0; }
}
/* ==========================================================
   COURSE DETAIL PREMIUM — OWNER DIRECTED VISUAL SYSTEM
   ========================================================== */

.nt-course-detail--premium {
	--nt-course-surface: #0f1318;
	--nt-course-surface-2: #14191f;
	--nt-course-surface-3: #0b0f14;
	--nt-course-border: #252c33;
	--nt-course-border-soft: #1b2127;
	--nt-course-ink: #f2f3f0;
	--nt-course-muted: #899099;
	--nt-course-volt: #9bd91f;
	--nt-course-cobalt: #3468f2;
	background:
		radial-gradient(circle at 8% 24%, rgb(0 230 190 / 8%), transparent 30%),
		var(--nt-color-page);
}

/* HERO */

.nt-course-detail--premium .nt-course-detail-hero {
	background:
		linear-gradient(180deg, rgb(10 13 17 / 98%), rgb(7 9 12 / 100%));
	border-bottom: 0;
	padding: clamp(68px, 8vw, 96px) 0 34px;
	position: relative;
	overflow: hidden;
}

.nt-course-detail--premium .nt-course-detail-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: linear-gradient(to bottom, rgb(0 0 0 / 55%), transparent 84%);
	pointer-events: none;
}

.nt-course-detail--premium .nt-course-detail-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(32px, 5vw, 68px);
	position: relative;
	z-index: 1;
}

.nt-course-detail--premium .nt-course-detail-hero__content {
	min-width: 0;
	padding: 0;
}

.nt-course-detail--premium .nt-course-detail-hero__content .nt-breadcrumbs {
	margin-bottom: 22px;
}

.nt-course-detail--premium .nt-breadcrumbs { margin-inline: 0; width: 100%; }
.nt-course-detail--premium .nt-breadcrumbs ol { align-items: center; display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: 0; padding: 0; }
.nt-course-detail--premium .nt-breadcrumbs li { align-items: center; display: inline-flex; white-space: nowrap; }
.nt-course-detail--premium .nt-breadcrumbs li + li::before { color: var(--nt-course-muted); content: "/"; margin-inline: 9px; opacity: .55; }
.nt-course-detail--premium .nt-breadcrumbs a { color: var(--nt-course-muted); }
.nt-course-detail--premium .nt-breadcrumbs a:hover,
.nt-course-detail--premium .nt-breadcrumbs a:focus-visible { color: var(--nt-course-volt); }
.nt-course-detail--premium .nt-breadcrumbs [aria-current="page"] { color: var(--nt-course-ink); }

.nt-course-detail--premium .nt-course-detail-hero__eyebrow {
	align-items: center;
	color: var(--nt-course-muted);
	display: flex;
	font-size: .76rem;
	font-weight: 700;
	gap: 9px;
	margin-bottom: 10px;
}

.nt-course-detail--premium .nt-course-detail-hero__eyebrow > span {
	background: var(--nt-course-volt);
	border-radius: 999px;
	height: 3px;
	width: 22px;
}

.nt-course-detail--premium .nt-course-detail-hero h1 {
	color: var(--nt-course-ink);
	font-size: clamp(1.75rem, 2.35vw, 2.35rem);
	font-weight: 900;
	letter-spacing: -.055em;
	line-height: 1.35;
	margin: 0;
	max-width: 18ch;
}

.nt-course-detail--premium .nt-course-detail-hero__description {
	color: #b5bbc2;
	direction: rtl;
	font-size: clamp(.95rem, 1.1vw, 1.08rem);
	hyphens: auto;
	line-height: 1.95;
	margin: 12px 0 0;
	max-width: 62ch;
	overflow-wrap: anywhere;
	text-align: justify;
	unicode-bidi: plaintext;
	white-space: normal;
	word-break: break-word;
}

.nt-course-detail--premium .nt-course-detail-hero__meta {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-top: 24px;
}

.nt-course-detail--premium .nt-course-detail-hero__meta > span {
	border-inline-start: 1px solid var(--nt-course-border);
	display: grid;
	gap: 2px;
	min-width: 120px;
	padding: 2px 16px;
}

.nt-course-detail--premium .nt-course-detail-hero__meta > span:first-child {
	border-inline-start: 0;
	padding-inline-start: 0;
}

.nt-course-detail--premium .nt-course-detail-hero__meta small {
	color: var(--nt-course-muted);
	font-size: .7rem;
}

.nt-course-detail--premium .nt-course-detail-hero__meta strong {
	color: var(--nt-course-ink);
	font-size: .88rem;
	font-weight: 800;
}

.nt-course-detail--premium .nt-course-detail-hero__media {
	aspect-ratio: 16 / 9;
	background: var(--nt-course-surface);
	border: 1px solid #2d343d;
	border-radius: 22px;
	box-shadow: 0 28px 70px rgb(0 0 0 / 24%);
	overflow: hidden;
	position: relative;
}

.nt-course-detail--premium .nt-course-detail-hero__image {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.nt-tool-video-player {
	background: #070b11;
	border-radius: 18px;
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

/* Provider-owned players such as Aparat and Namasha. */
.nt-public-video-embed {
	aspect-ratio: 16 / 9;
	background: #070b11;
	display: block;
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}
.nt-public-video-embed iframe {
	border: 0;
	display: block;
	height: 100%;
	position: absolute;
	inset: 0;
	width: 100%;
}
.nt-tool-video-player > [data-nt-video] {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.nt-tool-video-player__controls {
	align-items: center;
	background: linear-gradient(180deg, transparent, rgb(4 8 14 / 94%));
	bottom: 0;
	display: flex;
	direction: ltr;
	gap: .55rem;
	left: 0;
	min-height: 62px;
	padding: 1.2rem .85rem .65rem;
	position: absolute;
	right: 0;
	transform: translateY(0);
	transition: opacity .28s ease, transform .32s ease;
	z-index: 2;
}
.nt-tool-video-player.is-playing:not(:hover):not(:focus-within) .nt-tool-video-player__controls {
	opacity: 0;
	pointer-events: none;
	transform: translateY(110%);
}
.nt-tool-video-player.is-controls-hidden .nt-tool-video-player__controls {
	opacity: 0;
	pointer-events: none;
	transform: translateY(110%);
}
.nt-tool-video-player__button,
.nt-tool-video-player__big-play {
	border: 0;
	background: transparent;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font: inherit;
}
.nt-tool-video-player__button { align-items: center; display: inline-flex; height: 36px; justify-content: center; min-width: 36px; padding: 0 .45rem; }
.nt-tool-video-player__button svg { fill: none; height: 17px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 17px; }
.nt-tool-video-player__button[data-nt-video-play] svg { fill: currentColor; stroke: none; }
.nt-tool-video-player__big-play svg { fill: currentColor; height: 25px; width: 25px; }
.nt-tool-video-player__button:hover,
.nt-tool-video-player__big-play:hover { background: #4b7df1; color: #fff; }
.nt-tool-video-player__big-play { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 9px; box-shadow: none; display: flex; font-size: 1.25rem; height: 54px; justify-content: center; left: 50%; opacity: 1; position: absolute; top: 50%; transform: translate(-50%, -50%); transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .2s, transform .2s; width: 54px; z-index: 2; }
.nt-tool-video-player__big-play:hover,
.nt-tool-video-player__big-play:focus-visible { background: linear-gradient(145deg, #4d80f5, #2859d5); border-color: #78a2ff; box-shadow: 0 10px 28px rgb(26 77 193 / 34%); }
.nt-tool-video-player.is-playing .nt-tool-video-player__big-play { opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(.82); }
.nt-tool-video-player__progress { accent-color: #4d80f5; flex: 1; min-width: 60px; }
.nt-tool-video-player__volume { accent-color: #4d80f5; max-width: 80px; }
.nt-tool-video-player__tooltip { background: #101c2d; border: 1px solid #5d8cf0; border-radius: 7px; bottom: 54px; color: #fff; direction: ltr; font: 700 .68rem var(--nt-font-mono); opacity: 0; padding: .3rem .45rem; pointer-events: none; position: absolute; transform: translateX(-50%) translateY(5px); transition: opacity .15s, transform .15s; white-space: nowrap; z-index: 4; }
.nt-tool-video-player__tooltip.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.nt-tool-video-player:fullscreen { background: #05080d; }

/* Keep mobile fullscreen in the same 16:9 YouTube-style thumbnail frame as
 * desktop; portrait phones get balanced black space above and below. */
@media (max-width: 767px) {
	.nt-tool-video-player:fullscreen,
	.nt-tool-video-player:-webkit-full-screen {
		align-items: center;
		border: 0;
		border-radius: 0;
		display: flex;
		height: min(56.25vw, 100vh) !important;
		inset: 0;
		justify-content: center;
		margin: auto;
		max-height: 100vh;
		max-width: 100vw;
		position: fixed;
		width: min(100vw, 177.78vh) !important;
	}

	.nt-tool-video-player:fullscreen > [data-nt-video],
	.nt-tool-video-player:-webkit-full-screen > [data-nt-video] {
		height: 100% !important;
		object-fit: contain;
		width: 100% !important;
	}

	/* Touch browsers emulate hover after a tap; keep the player controls
	 * visually stable on phones and remove the native tap flash. */
	.nt-tool-video-player,
	.nt-tool-video-player button {
		-webkit-tap-highlight-color: transparent;
	}

	.nt-tool-video-player__button,
	.nt-tool-video-player__button:hover,
	.nt-tool-video-player__button:active,
	.nt-tool-video-player__button:focus,
	.nt-tool-video-player__button:focus-visible,
	.nt-tool-video-player__big-play,
	.nt-tool-video-player__big-play:hover,
	.nt-tool-video-player__big-play:active,
	.nt-tool-video-player__big-play:focus,
	.nt-tool-video-player__big-play:focus-visible {
		background: transparent;
		box-shadow: none;
	}

	.nt-tool-video-player__big-play {
		border-color: transparent;
	}
}

.nt-course-detail--premium .nt-course-detail-hero__video {
	background: #070a0f;
}

.nt-course-detail--premium .nt-course-detail-hero__image[src*="reporter-hooshmand"] {
	background: #100817;
	object-fit: contain;
}

.nt-course-detail--premium .nt-course-detail-hero__media--reporter {
  aspect-ratio: 2508 / 1412;
}

.nt-course-detail--premium .nt-course-detail-hero__media--python {
	aspect-ratio: 16 / 9;
}

.nt-course-detail--premium .nt-course-detail-hero__media--ceh {
	aspect-ratio: 16 / 9;
}

.nt-course-detail--premium .nt-course-detail-hero__media--reporter .nt-course-detail-hero__image,
.nt-course-detail--premium .nt-course-detail-hero__media--python .nt-course-detail-hero__image,
.nt-course-detail--premium .nt-course-detail-hero__media--ceh .nt-course-detail-hero__image {
	position: absolute;
	inset: 0;
	object-fit: cover;
}

/* Designed fallback course artwork */

.nt-course-cover-fallback {
	background:
		radial-gradient(circle at 24% 25%, rgb(52 104 242 / 28%), transparent 32%),
		radial-gradient(circle at 82% 68%, rgb(155 217 31 / 8%), transparent 25%),
		#0d1218;
	height: 100%;
	overflow: hidden;
	padding: 24px;
	position: relative;
}

.nt-course-cover-fallback::before {
	background-image:
		linear-gradient(rgb(255 255 255 / 3.5%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(255 255 255 / 3.5%) 1px, transparent 1px);
	background-size: 30px 30px;
	content: "";
	inset: 0;
	position: absolute;
}

.nt-course-cover-fallback::after {
	border: 1px solid rgb(155 217 31 / 12%);
	border-radius: 50%;
	content: "";
	height: 220px;
	left: -70px;
	position: absolute;
	top: -85px;
	width: 220px;
}

.nt-course-cover-fallback__top,
.nt-course-cover-fallback__bottom,
.nt-course-cover-fallback__center {
	position: relative;
	z-index: 1;
}

.nt-course-cover-fallback__top,
.nt-course-cover-fallback__bottom {
	align-items: center;
	color: #6f7780;
	display: flex;
	font-family: var(--nt-font-mono);
	font-size: .61rem;
	justify-content: space-between;
	letter-spacing: .09em;
}

.nt-course-cover-fallback__top i {
	background: var(--nt-course-volt);
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgb(155 217 31 / 7%);
	height: 6px;
	width: 6px;
}

.nt-course-cover-fallback__center {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	inset-inline: 24px;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.nt-course-cover-fallback__center small {
	color: var(--nt-course-cobalt);
	font-family: var(--nt-font-mono);
	font-size: .72rem;
	letter-spacing: .08em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.nt-course-cover-fallback__center strong {
	color: var(--nt-course-ink);
	font-size: clamp(1.9rem, 4vw, 3.2rem);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1.3;
	max-width: 12ch;
}

.nt-course-cover-fallback__bottom {
	bottom: 23px;
	left: 24px;
	position: absolute;
	right: 24px;
}

/* ENROLL / PURCHASE */

.nt-course-detail--premium .nt-course-enroll-panel {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr);
	margin-top: 44px;
	padding: 0;
}

.nt-course-detail--premium .nt-course-enroll-panel__copy {
	display: grid;
	gap: 2px;
}

.nt-course-detail--premium .nt-course-enroll-panel__copy span {
	color: var(--nt-course-muted);
	font-size: .7rem;
}

.nt-course-detail--premium .nt-course-enroll-panel__copy strong {
	color: var(--nt-course-ink);
	font-size: .92rem;
}

.nt-course-detail--premium .nt-course-enroll-panel__action {
	display: grid;
	gap: 12px;
	min-width: 0;
	width: 100%;
}

.nt-course-detail--premium .nt-course-sale-offer {
	align-items: center;
	background: transparent;
	border-radius: 0;
	color: var(--nt-course-ink);
	display: grid;
	direction: rtl;
	font-size: 16px;
	gap: 10px;
	grid-template-columns: minmax(170px, 270px) minmax(0, 1fr);
	margin-bottom: 8px;
	min-height: 28px;
	padding: 0 0 3px;
	width: 100%;
}

.nt-course-detail--premium .nt-course-sale-offer__badge {
	color: #ff5964;
	font-size: 22px;
	font-weight: 600;
	grid-column: 1;
	justify-self: stretch;
	transform: translateX(-15px);
	text-align: right;
	width: 100%;
	white-space: nowrap;
}

.nt-course-detail--premium .nt-course-sale-offer--status {
	grid-template-columns: 1fr;
	justify-items: start;
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	width: max-content;
	min-height: 28px;
}

.nt-course-detail--premium .nt-course-sale-offer--status .nt-course-sale-offer__badge {
	color: var(--nt-course-volt);
	font-size: 22px;
	justify-self: start;
	transform: none;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase--status { grid-column: 1; grid-row: 1; justify-self: start; }

.nt-course-detail--premium .nt-course-sale-offer__timer {
	align-items: stretch;
	color: var(--nt-course-muted);
	direction: rtl;
	display: grid;
	font-variant-numeric: tabular-nums;
	font-size: 16px;
	font-weight: 400;
	gap: 7px;
	grid-template-columns: repeat(4, minmax(42px, 1fr));
	grid-column: 2;
	justify-self: end;
	margin-inline-start: 0;
	transform: translateX(-4px);
	white-space: nowrap;
}

.nt-course-detail--premium .nt-course-sale-offer__timer > span {
	align-items: center;
	background: rgb(255 255 255 / 3%);
	border-radius: 7px;
	display: grid;
	gap: 1px;
	justify-items: center;
	min-height: 48px;
	min-width: 54px;
	padding: 6px 9px;
}

.nt-course-detail--premium .nt-course-sale-offer__timer > span strong {
	color: var(--nt-course-ink);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1;
}

.nt-course-detail--premium .nt-course-sale-offer__timer > span small {
	color: var(--nt-course-muted);
	font-size: .72rem;
	line-height: 1.2;
}

.nt-course-detail--premium .nt-course-sale-offer__timer > span:nth-child(4) {
	background: rgb(52 104 242 / 12%);
	border: 1px solid rgb(52 104 242 / 25%);
}

.nt-course-detail--premium .nt-course-sale-offer__timer > span:nth-child(4) strong,
.nt-course-detail--premium .nt-course-sale-offer__timer > span:nth-child(4) small {
	color: var(--nt-course-cobalt);
}

.nt-course-detail--premium .nt-course-enroll-panel__action .nt-price {
	justify-content: flex-end;
	margin: 0;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase {
	align-items: center;
	direction: ltr;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) minmax(170px, 270px);
	width: 100%;
}
.nt-course-detail--premium .nt-course-enroll-panel__purchase > [data-tool-option-price-display] {
	align-self: end;
	transform: translateY(5px);
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price {
	direction: ltr;
	display: grid;
	align-items: start;
	gap: 4px 12px;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	text-align: left;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price strong {
	align-items: baseline;
	direction: ltr;
	display: contents;
	font-size: 1.42rem;
	font-weight: 700;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price strong .nt-price__amount {
	color: var(--nt-course-ink);
	direction: ltr;
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	grid-column: 2;
	grid-row: 2;
	justify-self: start;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price del {
	align-items: baseline;
	align-self: center;
	direction: ltr;
	display: inline-flex;
	flex-direction: row;
	font-size: 1.05rem;
	grid-column: 2;
	grid-row: 1;
	justify-self: start;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price .nt-price__discount-badge {
	align-self: center;
	grid-row: 1;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price .nt-price__discount-badge b {
	background: var(--nt-course-volt);
	border-radius: 6px;
	color: #081009;
	font-size: .82rem;
	font-weight: 500;
	padding: .25rem .4rem;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price del {
	color: #7f8791;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price strong .nt-price__currency {
	align-self: center;
	color: var(--nt-course-muted);
	direction: rtl;
	display: inline-block;
	font-size: .78rem;
	font-weight: 400;
	grid-column: 1;
	grid-row: 2;
	justify-self: start;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price.nt-price--free strong {
  color: #73d216;
  font-size: 1.5rem;
  margin-inline-start: 20px;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-purchase-form,
.nt-course-detail--premium .nt-course-enroll-panel__purchase > .nt-button,
.nt-course-detail--premium .nt-course-enroll-panel__purchase > .nt-owned-state,
.nt-course-detail--premium .nt-course-enroll-panel__purchase > .nt-course-availability {
	grid-column: 2;
	grid-row: 1;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-purchase-form {
	transform: translateY(3px);
	width: 100%;
}

.nt-course-detail--premium .nt-course-enroll-panel__action .nt-price strong {
	color: var(--nt-course-ink);
	font-size: 1.2rem;
	font-weight: 600;
}

.nt-course-detail--premium .nt-course-enroll-panel__action .nt-price del {
	font-size: 1.05rem;
}

.nt-course-detail--premium .nt-course-enroll-panel__action .nt-price__discount {
	color: var(--nt-course-volt);
}

.nt-course-detail--premium .nt-course-enroll-panel__action .nt-purchase-form {
	margin: 0;
}

.nt-course-detail--premium .nt-course-enroll-panel__action .nt-button {
	min-height: 46px;
	white-space: nowrap;
}

.nt-course-detail--premium .nt-course-availability {
	background: #19b85a;
	border: 0;
	border-radius: 10px;
	color: #fff;
	font-size: .8rem;
	margin: 0;
	padding: 12px 18px;
}

/* STATS */

.nt-course-detail--premium .nt-course-detail-stats-wrap {
	background: #090c10;
	border-bottom: 0;
}

.nt-course-detail--premium .nt-course-detail-stats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin: 0;
	max-width: none;
	padding: 20px 0;
}

.nt-course-detail--premium .nt-course-detail-stats > .nt-course-stat {
	align-items: center;
	background: transparent;
	border: 0;
	border-inline-start: 0;
	border-radius: 0;
	display: flex;
	gap: 12px;
	min-height: 60px;
	padding: 5px 18px;
}

.nt-course-detail--premium .nt-course-detail-stats > .nt-course-stat:first-child {
	border-inline-start: 0;
}

.nt-course-stat__icon {
	background: rgb(155 217 31 / 10%);
	border: 0;
	border-radius: 14px;
	display: grid;
	flex: 0 0 44px;
	height: 44px;
	place-items: center;
	position: relative;
	width: 44px;
}

.nt-course-stat__icon--time,
.nt-course-stat__icon--level,
.nt-course-stat__icon--chapters,
.nt-course-stat__icon--published,
.nt-course-stat__icon--update { background: rgb(155 217 31 / 10%); }

.nt-course-stat__icon .nf-icon {
	color: var(--nt-course-volt);
}

.nt-course-stat__copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.nt-course-detail--premium .nt-course-stat__copy small {
	color: var(--nt-course-muted);
	font-size: .67rem;
}

.nt-course-detail--premium .nt-course-stat__copy strong {
	color: var(--nt-course-ink);
	direction: rtl;
	font-size: .83rem;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	unicode-bidi: isolate;
	white-space: nowrap;
}

.nt-course-detail--premium .nt-course-stat__copy strong.nt-course-stat__date {
	display: inline-flex;
	flex-direction: row;
	font-weight: 500;
	gap: 4px;
	justify-content: flex-start;
}

.nt-course-detail--premium .nt-course-stat__copy strong > a {
	direction: ltr;
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* IN-PAGE NAV */

.nt-course-jump-nav {
	background: rgb(9 12 16 / 88%);
	border-bottom: 1px solid var(--nt-course-border-soft);
	position: sticky;
	top: 76px;
	z-index: 30;
	backdrop-filter: blur(14px);
}

.nt-course-jump-nav__inner {
	align-items: center;
	display: flex;
	gap: 7px;
	overflow-x: auto;
	padding-block: 10px;
	scrollbar-width: none;
}

.nt-course-jump-nav__inner::-webkit-scrollbar {
	display: none;
}

.nt-course-jump-nav a {
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--nt-course-muted);
	flex: 0 0 auto;
	font-size: .76rem;
	font-weight: 700;
	padding: 7px 11px;
}

.nt-course-jump-nav a:hover,
.nt-course-jump-nav a:focus-visible {
	background: var(--nt-course-surface);
	border-color: var(--nt-course-border);
	color: var(--nt-course-ink);
}

/* BODY */

.nt-course-detail--premium .nt-course-detail-layout {
	padding-block: 34px 0;
}

.nt-course-detail--premium .nt-course-detail-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.nt-course-detail--premium .nt-course-detail-section,
.nt-course-detail--premium .nt-comments-area,
.nt-course-detail--premium .nt-course-related-courses {
	background: var(--nt-course-surface);
	border: 1px solid var(--nt-course-border-soft);
	border-radius: 20px;
	box-shadow: 0 16px 44px rgb(0 0 0 / 8%);
	padding: clamp(20px, 3vw, 30px);
}

.nt-course-detail--premium .nt-course-detail-section {
	scroll-margin-top: 142px;
}

.nt-course-section-head {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 22px;
}

.nt-course-section-head h2 {
	color: var(--nt-course-ink);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 900;
	margin: 3px 0 0;
}

.nt-course-detail--premium .nt-course-section-index {
	color: var(--nt-course-cobalt);
	font-family: var(--nt-font-mono);
	font-size: .62rem;
	letter-spacing: .08em;
	margin: 0;
}

.nt-course-section-head__line {
	background: linear-gradient(90deg, var(--nt-course-border), transparent);
	flex: 1 1 auto;
	height: 1px;
	max-width: 210px;
}

/* DESCRIPTION */

.nt-course-detail--premium .nt-course-overview {
	display: block;
}

.nt-course-detail--premium .nt-course-rich-text {
	color: #c2c6ca;
	font-size: 1.08rem;
	line-height: 2.2;
}

.nt-course-detail--premium .nt-course-rich-text :where(h2, h3, h4) {
	color: var(--nt-course-ink);
	font-weight: 900;
	line-height: 1.55;
	margin: 2em 0 .75em;
	padding-inline-start: 16px;
	position: relative;
}

.nt-course-detail--premium .nt-course-rich-text :where(h2, h3, h4)::before {
	background: var(--nt-color-cobalt-high, #3b82f6);
	border-radius: 2px;
	content: "";
	height: 70%;
	inset-inline-start: 0;
	position: absolute;
	top: 15%;
	width: 3px;
}

.nt-course-detail--premium .nt-course-rich-text > :first-child {
	margin-top: 0;
}

.nt-course-detail--premium .nt-course-rich-text h2 { font-size: 1.42rem; }
.nt-course-detail--premium .nt-course-rich-text h3 { font-size: 1.18rem; }

.nt-course-detail--premium .nt-course-rich-text p {
	margin: 0 0 1.25em;
}

.nt-course-detail--premium .nt-course-rich-text a {
	color: var(--nt-color-brand);
	text-decoration-color: var(--nt-color-brand);
	text-underline-offset: 3px;
}

.nt-course-detail--premium .nt-course-rich-text a:hover,
.nt-course-detail--premium .nt-course-rich-text a:focus-visible {
	color: var(--nt-color-brand-hover);
}

.nt-course-detail--premium .nt-course-rich-text :where(ul, ol) li::marker {
	color: var(--nt-color-brand);
}

.nt-course-detail--premium .nt-course-rich-text :where(ul, ol) {
	padding-inline-start: 22px;
}

.nt-course-detail--premium .nt-course-rich-text blockquote {
	background: var(--nt-course-surface-2);
	border-inline-start: 3px solid var(--nt-course-volt);
	border-radius: 12px;
	color: #bbc0c5;
	margin: 22px 0;
	padding: 16px 18px;
}

.nt-course-detail--premium .nt-course-rich-text blockquote.nt-course-highlight--kali {
	border-inline-start-color: #c026d3;
}

.nt-course-detail--premium .nt-course-rich-text blockquote.nt-course-highlight--ceh {
	border-inline-start-color: var(--nt-course-cobalt);
}

.nt-tool-detail--cyber-box .nt-course-rich-text blockquote.nt-cyberbox-highlight {
	border-inline-start-color: var(--nt-color-cobalt-high);
}

.nt-course-detail--premium .nt-course-rich-text pre {
	background: #090d12;
	border: 1px solid var(--nt-course-border);
	border-radius: 14px;
	direction: ltr;
	overflow-x: auto;
	padding: 18px;
	text-align: left;
}

/* AUDIENCE */

.nt-course-detail--premium .nt-course-audience {
	background:
		linear-gradient(110deg, rgb(21 71 215 / 7%), transparent 60%),
		var(--nt-course-surface-2);
	border: 1px solid var(--nt-course-border);
	border-radius: 16px;
	margin-top: 28px;
	padding: 18px;
}

.nt-course-audience__heading {
	align-items: center;
	display: flex;
	gap: 10px;
	margin-bottom: 14px;
}

.nt-course-audience__heading > span {
	align-items: center;
	background: rgb(155 217 31 / 10%);
	border: 1px solid rgb(155 217 31 / 18%);
	border-radius: 50%;
	color: var(--nt-course-volt);
	display: inline-flex;
	flex: 0 0 28px;
	height: 28px;
	justify-content: center;
}

.nt-course-detail--premium .nt-course-audience h3 {
	font-size: .95rem;
	margin: 0;
}

.nt-course-detail--premium .nt-course-check-list--grid {
	display: grid;
	gap: 10px 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nt-course-detail--premium .nt-course-check-list--grid > li {
	min-width: 0;
}

.nt-course-detail--premium .nt-course-check-list--grid > li > span {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
	text-wrap: wrap;
}

/* CURRICULUM */

.nt-course-section-head--with-meta {
	align-items: flex-end;
}

.nt-course-curriculum__summary {
	display: flex;
	gap: 8px;
}

.nt-course-curriculum__summary > span {
	background: var(--nt-course-surface-2);
	border: 1px solid var(--nt-course-border);
	border-radius: 999px;
	color: var(--nt-course-muted);
	font-size: .75rem;
	padding: 6px 10px;
	white-space: nowrap;
}

.nt-course-curriculum__summary strong {
	color: var(--nt-course-ink);
	margin-inline-end: 2px;
	font-size: 1em;
	font-weight: 500;
}

.nt-course-detail--premium .nt-course-curriculum__sections {
	display: grid;
	gap: 9px;
}

.nt-course-detail--premium .nt-course-curriculum__section {
	background: #10151b;
	border: 1px solid var(--nt-course-border);
	border-radius: 13px;
	overflow: clip;
	transition: border-color .18s ease, background-color .18s ease;
}

.nt-course-detail--premium .nt-course-curriculum__section[open] {
	background: #11171d;
	border-color: #313945;
}

.nt-course-detail--premium .nt-course-curriculum__section summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: 13px;
	grid-template-columns: 38px minmax(0, 1fr) 32px;
	list-style: none;
	min-height: 68px;
	padding: 11px 14px;
}

.nt-course-detail--premium .nt-course-curriculum__section summary::-webkit-details-marker {
	display: none;
}

.nt-course-curriculum__chapter-no {
	align-items: center;
	background: #0b1015;
	border: 1px solid #303843;
	border-radius: 10px;
	color: var(--nt-course-volt);
	display: flex;
	font-family: var(--nt-font-mono);
	font-size: .68rem;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.nt-course-curriculum__chapter-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.nt-course-curriculum__chapter-copy strong {
	color: var(--nt-course-ink);
	font-size: .82rem;
}

.nt-course-curriculum--toolkit .nt-course-curriculum__chapter-copy strong {
	font-size: .98rem;
}

.nt-course-curriculum--toolkit .nt-course-lesson__copy > strong {
	display: none;
}

.nt-course-curriculum__chapter-copy small {
	color: var(--nt-course-muted);
	font-size: .58rem;
}

.nt-course-curriculum__toggle {
	height: 32px;
	position: relative;
	width: 32px;
}

.nt-course-curriculum__toggle::before,
.nt-course-curriculum__toggle::after {
	background: var(--nt-course-volt);
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 11px;
}

.nt-course-curriculum__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform .18s ease;
}

.nt-course-curriculum__section[open] .nt-course-curriculum__toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.nt-course-lessons {
	border-top: 1px solid var(--nt-course-border-soft);
	list-style: none;
	margin: 0;
	padding: 0 14px 4px;
}

.nt-course-detail--premium .nt-course-lesson {
	align-items: flex-start;
	border-top: 1px solid var(--nt-course-border-soft);
	display: grid;
	gap: 11px;
	grid-template-columns: 30px minmax(0, 1fr) auto;
	padding: 13px 0;
}

.nt-course-detail--premium .nt-course-lesson:first-child {
	border-top: 0;
}

.nt-course-lesson__no {
	align-items: center;
	border: 1px solid var(--nt-course-border);
	border-radius: 50%;
	color: var(--nt-course-muted);
	display: flex;
	font-family: var(--nt-font-mono);
	font-size: .58rem;
	height: 27px;
	justify-content: center;
	margin-top: 1px;
	width: 27px;
}

.nt-course-lesson__copy {
	min-width: 0;
}

.nt-course-lesson__copy strong {
	color: #dce0e3;
	font-size: .83rem;
}

.nt-course-lesson__copy p {
	color: var(--nt-course-muted);
	font-size: .76rem;
	line-height: 1.85;
	margin: 4px 0 0;
}

.nt-course-lesson__link {
	align-items: center;
	color: var(--nt-course-volt);
	display: inline-flex;
	font-size: .72rem;
	gap: 6px;
	margin-top: 8px;
	text-decoration: none;
}

.nt-course-lesson__link:hover {
	text-decoration: underline;
}

.nt-course-lesson__duration {
	color: var(--nt-course-muted);
	font-size: .68rem;
	padding-top: 3px;
	white-space: nowrap;
}

/* PREREQUISITES / SUPPORT / FAQ */

.nt-course-detail--premium .nt-course-prerequisite-list {
	gap: 8px;
}

.nt-course-detail--premium .nt-course-prerequisite-list a {
	background: #11161c;
	border-color: var(--nt-course-border);
	border-radius: 12px;
	padding: 13px 14px;
}

.nt-course-detail--premium .nt-course-support p:not(.nt-course-section-index) {
	color: #b5bbc1;
	line-height: 2;
}

.nt-course-detail--premium .nt-course-faq {
	gap: 8px;
}

.nt-course-detail--premium .nt-course-faq details {
	background: #11161c;
	border: 1px solid var(--nt-course-border);
	border-radius: 12px;
	padding: 0;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.nt-course-detail--premium .nt-course-faq details[open] {
	border-color: var(--nt-color-cobalt-high);
	box-shadow: 0 0 0 1px rgb(52 104 242 / 18%), 0 10px 24px rgb(0 0 0 / 18%);
}

.nt-course-detail--premium .nt-course-faq summary {
	cursor: pointer;
	font-size: .86rem;
	font-weight: 800;
	list-style: none;
	padding: 15px 16px;
}

.nt-course-detail--premium .nt-course-faq summary::-webkit-details-marker {
	display: none;
}

.nt-course-detail--premium .nt-course-faq p {
	border-top: 1px solid var(--nt-course-border-soft);
	color: var(--nt-course-muted);
	line-height: 2;
	margin: 0;
	padding: 13px 16px 16px;
}

/* INSTRUCTOR */

.nt-course-detail--premium .nt-course-instructor__profile--expanded {
	align-items: center;
	background:
		linear-gradient(100deg, rgb(52 104 242 / 8%), transparent 50%),
		#11161c;
	border: 1px solid var(--nt-course-border);
	border-radius: 16px;
	display: grid;
	gap: 18px;
	grid-template-columns: 112px minmax(0, 1fr);
	padding: 18px;
}

.nt-course-instructor__media {
	position: relative;
}

.nt-course-instructor__media > span {
	background: var(--nt-course-volt);
	border: 4px solid #11161c;
	border-radius: 50%;
	bottom: 6px;
	height: 15px;
	position: absolute;
	right: 5px;
	width: 15px;
}

.nt-course-detail--premium .nt-course-instructor__avatar {
	border: 1px solid #38414c;
	border-radius: 18px;
	display: block;
	height: 112px;
	object-fit: cover;
	width: 112px;
}

.nt-course-instructor__role {
	color: var(--nt-course-cobalt);
	font-size: .7rem;
	font-weight: 800;
	margin: 0 0 4px;
}

.nt-course-instructor__content h3 {
	color: var(--nt-course-ink);
	font-size: 1.15rem;
	margin: 0;
}

.nt-course-detail--premium .nt-course-instructor__bio {
	color: var(--nt-course-muted);
	line-height: 2;
	margin: 7px 0 0;
}

.nt-course-detail--premium .nt-course-support__profile {
	align-items: center;
	background: #11161c;
	border: 1px solid var(--nt-course-border);
	border-radius: 16px;
	display: flex;
	gap: 18px;
	padding: 18px;
}

.nt-course-detail--premium .nt-course-support__profile img.nt-course-instructor__avatar {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: block;
	flex: 0 0 88px;
	height: 88px !important;
	max-width: none;
	object-fit: cover;
	width: 88px !important;
}

/* Tool editors may provide any source image; the public instructor avatar
 * must keep the same fixed circular frame as the default avatar. */
.nt-tool-detail .nt-course-support__profile img.nt-course-instructor__avatar {
	aspect-ratio: 1 / 1;
	border-radius: 50% !important;
	height: 88px !important;
	object-fit: cover;
	width: 88px !important;
}

/* SIDEBAR */

.nt-course-detail--premium .nt-course-detail-sidebar {
	align-self: start;
	display: grid;
	gap: 14px;
	min-width: 0;
}

.nt-course-detail--premium .nt-course-sidebar-path-cta {
	order: 1;
}

.nt-course-detail--premium .nt-course-sidebar-audience {
	order: 2;
}

.nt-course-detail--premium .nt-course-sidebar-access {
	order: 3;
}

.nt-course-detail--premium .nt-course-sidebar-card {
	background:
		linear-gradient(145deg, rgb(21 71 215 / 4%), transparent 55%),
		var(--nt-course-surface);
	border: 1px solid var(--nt-course-border);
	border-radius: 18px;
	box-shadow: 0 16px 44px rgb(0 0 0 / 9%);
	padding: 18px;
}

.nt-course-sidebar-card__eyebrow {
	color: var(--nt-course-cobalt) !important;
	font-size: .65rem !important;
	font-weight: 800;
	margin: 0 0 12px !important;
}

.nt-course-sidebar-instructor__head {
	align-items: center;
	display: flex;
	gap: 12px;
}

.nt-course-sidebar-instructor__head .nt-course-instructor__avatar {
	border-radius: 16px;
	height: 72px;
	width: 72px;
}

.nt-course-detail--premium .nt-course-sidebar-card h2 {
	color: var(--nt-course-ink);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0;
}

.nt-course-detail--premium .nt-course-sidebar-audience h2 {
	font-size: .84rem !important;
	letter-spacing: -.035em;
	white-space: nowrap;
}

.nt-course-sidebar-instructor__head span {
	color: var(--nt-course-muted);
	display: block;
	font-size: .67rem;
	margin-top: 2px;
}

.nt-course-detail--premium .nt-course-sidebar-card p:not(.nt-course-sidebar-card__eyebrow) {
	color: var(--nt-course-muted);
	font-size: .78rem;
	line-height: 1.9;
	margin: 12px 0;
}

.nt-course-sidebar-card__topline {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.nt-course-sidebar-card__topline > span {
	background: #555e68;
	border-radius: 50%;
	height: 7px;
	width: 7px;
}

.nt-course-sidebar-card__topline > span.is-ready {
	background: var(--nt-course-volt);
	box-shadow: 0 0 0 6px rgb(155 217 31 / 7%);
}

.nt-course-sidebar-card__topline > span.is-waiting {
	background: var(--nt-course-cobalt);
	box-shadow: 0 0 0 6px rgb(52 104 242 / 7%);
}

.nt-course-sidebar-access__button {
	margin-top: 4px;
	width: 100%;
}

.nt-course-sidebar-purchase__price .nt-price {
	align-items: baseline;
	direction: rtl;
	display: flex;
	gap: 8px;
	justify-content: center;
	margin: 0 0 16px;
	text-align: center;
}

.nt-course-sidebar-purchase__price .nt-price strong {
	color: var(--nt-course-volt);
	font-size: 1.35rem;
	font-weight: 700;
}

.nt-tool-sidebar-access .nt-course-sidebar-purchase__price .nt-price strong {
	direction: ltr;
	display: inline-flex;
	gap: 7px;
	unicode-bidi: isolate;
}

.nt-tool-sidebar-access .nt-course-sidebar-purchase__price .nt-price__amount {
	direction: ltr;
	display: inline-block;
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
	white-space: nowrap;
}

.nt-tool-sidebar-access .nt-course-sidebar-purchase__price .nt-price__currency {
	direction: rtl;
	white-space: nowrap;
}

@media (min-width: 651px) {
	.nt-tool-detail .nt-tool-product-options__grid {
		gap: .65rem;
	}

	.nt-tool-detail .nt-tool-product-option {
		min-height: 42px;
		padding: .45rem .35rem;
	}

	.nt-tool-detail .nt-tool-product-option__label {
		font-size: .9rem;
	}

	.nt-tool-detail .nt-tool-product-options__grid {
		justify-self: start;
		margin-inline-end: 0;
		transform: translateX(-230px);
		width: 180%;
	}

	.nt-tool-detail .nt-tool-product-options__notice {
		justify-self: start;
		margin-inline-end: 0;
		transform: translateX(-230px);
		width: 180%;
	}

	/* Keep the compact sidebar purchase box independent from the enlarged hero controls. */
	.nt-tool-detail .nt-tool-sidebar-access .nt-tool-product-options__grid {
		gap: .4rem;
		transform: none;
		width: 100%;
	}

	.nt-tool-detail .nt-tool-sidebar-access .nt-tool-product-options__notice {
		transform: none;
		width: 100%;
	}

	.nt-tool-detail .nt-tool-sidebar-access .nt-tool-product-option__label {
		font-size: .8rem;
	}
}

.nt-course-sidebar-purchase__price .nt-price del {
	color: var(--nt-course-muted);
	font-size: 1.05rem;
}

.nt-tool-sidebar-access .nt-course-sidebar-purchase__price .nt-price {
	margin-bottom: 4px;
}

.nt-course-sidebar-purchase__action .nt-purchase-form,
.nt-course-sidebar-purchase__action .nt-button {
	margin: 0;
	width: 100%;
}

.nt-course-sidebar-purchase__support {
	border-bottom: 1px solid var(--nt-course-border-soft);
	margin: 14px 0 0 !important;
	padding: 0 0 16px;
	text-align: center;
}

.nt-course-sidebar-purchase__meta {
	display: grid;
	gap: 0;
	margin-top: 4px;
}

.nt-course-sidebar-purchase__meta div {
	align-items: center;
	border-bottom: 1px solid var(--nt-course-border-soft);
	display: flex;
	justify-content: space-between;
	padding: 11px 0;
}

.nt-course-sidebar-purchase__meta div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.nt-course-sidebar-purchase__meta span {
	color: var(--nt-course-muted);
	font-size: .74rem;
}

.nt-course-sidebar-purchase__meta strong {
	color: var(--nt-course-ink);
	font-size: .78rem;
}

.nt-course-detail--premium .nt-course-sidebar-path .nt-course-related-paths__grid {
	grid-template-columns: 1fr;
}

.nt-course-detail--premium .nt-course-sidebar-path .nt-course-detail-section,
.nt-course-detail--premium .nt-course-sidebar-path .nt-course-section-index,
.nt-course-detail--premium .nt-course-sidebar-path .nt-course-detail-section > h2 {
	background: transparent;
	border: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

/* COMMENTS */

.nt-course-detail--premium .nt-comments-area {
	scroll-margin-top: 142px;
}

/* Keep tool discussions visually identical to the course/product discussion panel. */
.nt-tool-detail .nt-comments-area {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--nt-course-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 64px auto 0 !important;
	max-width: 900px;
	padding: 30px 0 0 !important;
	width: 100%;
}

.nt-tool-detail .nt-course-comments__header {
	align-items: flex-end;
	border-bottom: 1px solid var(--nt-course-border);
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 22px;
	padding-bottom: 18px;
}

.nt-tool-detail .nt-course-comments__count {
	align-items: center;
	background: var(--nt-course-surface-2);
	border: 1px solid var(--nt-course-border);
	border-radius: 999px;
	color: var(--nt-course-muted);
	display: flex;
	font-size: .7rem;
	gap: 5px;
	padding: 7px 11px;
	white-space: nowrap;
}

.nt-tool-detail .nt-course-comments__count strong {
	color: var(--nt-course-ink);
}

.nt-tool-detail .nt-blog-comments__eyebrow,
.nt-tool-detail .nt-blog-comment-form__heading span {
	color: var(--nt-course-cobalt);
	display: block;
	font: 700 .66rem/1.5 var(--nt-font-mono);
	letter-spacing: .08em;
	margin-bottom: 7px;
	text-transform: uppercase;
}

.nt-tool-detail .nt-course-comments__header > div > p,
.nt-tool-detail .nt-blog-comment-form__heading p {
	color: var(--nt-course-muted);
	font-size: .78rem;
	line-height: 1.9;
}

.nt-tool-detail .nt-course-comments__empty {
	align-items: center;
	background: #10151b;
	border: 1px dashed #303843;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	justify-content: center;
	margin-bottom: 18px;
	min-height: 0;
	padding: 18px;
	text-align: center;
}

.nt-tool-detail .nt-blog-comment-form {
	background: var(--nt-course-surface);
	border: 1px solid var(--nt-course-border-soft);
	border-radius: 16px;
	margin-top: 22px;
	padding: clamp(18px, 3vw, 26px);
}

.nt-tool-detail .nt-blog-comment-form__heading {
	border-bottom: 1px solid var(--nt-course-border);
	margin-bottom: 20px;
	padding-bottom: 0;
}

.nt-tool-detail .nt-blog-comment-form__heading span {
	margin-bottom: 4px;
}

.nt-tool-detail .nt-blog-comment-form__heading h3 {
	line-height: 1.45;
}

.nt-tool-detail .nt-blog-comment-form__heading p {
	line-height: 1.7;
	margin-top: 4px;
}

.nt-tool-detail .nt-blog-comment-form > p {
	display: grid;
	gap: 7px;
	margin: 0 0 15px;
}

.nt-tool-detail .nt-blog-comment-form .comment-form-cookies-consent {
	display: none !important;
}

.nt-tool-detail .nt-blog-comment-form :where(input:not([type="checkbox"]):not([type="submit"]), textarea) {
	background: #10161c;
	border: 1px solid #303741;
	border-radius: 11px;
	box-sizing: border-box;
	color: var(--nt-course-ink);
	font: inherit;
	min-height: 44px;
	padding: 10px 12px;
	width: 100%;
}

.nt-tool-detail .nt-blog-comment-form :where(input:not([type="checkbox"]):not([type="submit"]), textarea):focus {
	background: #10161c;
	border-color: #303741;
	box-shadow: none;
	outline: 0;
}

.nt-tool-detail .nt-blog-comment-form textarea {
	min-height: 172px;
}

.nt-tool-detail .nt-blog-comment-form input[type="submit"] {
	background: var(--nt-course-cobalt);
	border: 1px solid var(--nt-course-cobalt);
	border-radius: 11px;
	box-shadow: 0 10px 26px rgb(52 104 242 / 18%);
	color: #fff;
	min-height: 46px;
	width: 100%;
}

.nt-tool-detail .nt-blog-comment-form input[type="submit"]:hover {
	background: var(--nt-course-cobalt-hover, var(--nt-course-cobalt));
}

.nt-course-comments__header {
	align-items: flex-end;
	border-bottom: 1px solid var(--nt-course-border);
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 22px;
	padding-bottom: 18px;
}

.nt-course-comments__header h2 {
	color: var(--nt-course-ink);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	margin: 3px 0 5px;
}

.nt-course-comments__header > div > p:last-child {
	color: var(--nt-course-muted);
	font-size: .78rem;
	margin: 0;
}

.nt-course-comments__count {
	align-items: center;
	background: var(--nt-course-surface-2);
	border: 1px solid var(--nt-course-border);
	border-radius: 999px;
	color: var(--nt-course-muted);
	display: flex;
	font-size: .7rem;
	gap: 5px;
	padding: 7px 11px;
	white-space: nowrap;
}

.nt-course-comments__count strong {
	color: var(--nt-course-ink);
}

.nt-course-comments__empty {
	background: #10151b;
	border: 1px dashed #303843;
	border-radius: 14px;
	margin-bottom: 18px;
	padding: 18px;
	text-align: center;
}

.nt-course-comments__empty strong {
	color: var(--nt-course-ink);
	display: block;
	font-size: .9rem;
}

.nt-course-comments__empty p {
	color: var(--nt-course-muted);
	font-size: .76rem;
	margin: 5px 0 0;
}

.nt-course-detail--premium .nt-comment-list,
.nt-course-detail--premium .nt-comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nt-course-detail--premium .nt-comment-list > li + li {
	margin-top: 12px;
}

.nt-course-detail--premium .nt-comment-list .children {
	border-inline-start: 1px solid #303741;
	margin: 10px 24px 0 0;
	padding-inline-start: 14px;
}

.nt-course-detail--premium .comment-body {
	background: #11161c;
	border: 1px solid var(--nt-course-border);
	border-radius: 14px;
	padding: 15px;
}

.nt-course-detail--premium .comment-author {
	align-items: center;
	display: flex;
	gap: 9px;
}

.nt-course-detail--premium .comment-author .avatar {
	border: 1px solid #363f49;
	border-radius: 50%;
	height: 44px;
	width: 44px;
}

.nt-course-detail--premium .comment-author .fn {
	color: var(--nt-course-ink);
	font-size: .8rem;
	font-style: normal;
	font-weight: 800;
}

.nt-course-detail--premium .comment-metadata {
	color: var(--nt-course-muted);
	font-size: .65rem;
	margin: 6px 53px 10px 0;
}

.nt-course-detail--premium .comment-content {
	color: #b9bec3;
	font-size: .82rem;
	line-height: 2;
}

.nt-course-detail--premium .comment-content p:last-child {
	margin-bottom: 0;
}

.nt-course-detail--premium .reply {
	margin-top: 9px;
}

.nt-course-detail--premium .comment-reply-link {
	color: var(--nt-course-cobalt);
	font-size: .7rem;
	font-weight: 800;
}

.nt-course-detail--premium .comment-respond {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin-top: 18px;
	padding: 0;
}

.nt-course-detail--premium .comment-reply-title {
	color: var(--nt-course-ink);
	font-size: 1rem;
	margin: 0 0 14px;
}

.nt-course-detail--premium .comment-form {
	display: grid;
	gap: 12px;
}

.nt-course-detail--premium .comment-form p {
	margin: 0;
}

.nt-course-detail--premium .comment-form label {
	color: #aeb4ba;
	display: block;
	font-size: .72rem;
	font-weight: 700;
	margin-bottom: 6px;
}

.nt-course-detail--premium .comment-form :where(textarea, input[type="text"], input[type="email"], input[type="url"]) {
	background: #10161c;
	border: 1px solid #303741;
	border-radius: 11px;
	color: var(--nt-course-ink);
	min-height: 44px;
	outline: 0;
	padding: 10px 12px;
	width: 100%;
}

.nt-course-detail--premium .comment-form textarea {
	min-height: 130px;
	resize: vertical;
}

.nt-course-detail--premium .comment-form :where(textarea, input):focus {
	border-color: var(--nt-course-cobalt);
	box-shadow: 0 0 0 3px rgb(52 104 242 / 10%);
}

.nt-course-detail--premium .form-submit .submit {
	background: var(--nt-course-volt);
	border: 0;
	border-radius: 11px;
	color: #091006;
	font-weight: 900;
	min-height: 44px;
	padding: 9px 18px;
}

/* RELATED COURSES */

.nt-course-detail--premium .nt-course-related-courses {
	margin-top: 0;
	background: var(--nt-course-surface);
	border: 1px solid var(--nt-course-border-soft);
	border-radius: 20px;
	box-shadow: 0 16px 44px rgb(0 0 0 / 8%);
	padding: clamp(20px, 3vw, 30px);
}

.nt-course-detail--premium .nt-course-related-courses__grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nt-course-detail--premium .nt-course-related-courses .nt-course-card__action {
	margin-top: 18px;
}

.nt-course-detail--premium .nt-tool-related-card {
	cursor: pointer;
}

.nt-course-detail--premium .nt-tool-related-card:focus-visible {
	outline: 2px solid var(--nt-course-volt);
	outline-offset: 3px;
}

/* DESKTOP */

@media (min-width: 1024px) {
	.nt-course-detail--premium .nt-course-detail-hero__grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
	}

	.nt-course-detail--premium .nt-course-detail-hero__media {
		min-height: 318px;
	}
}

/* Catalog columns and card grids must size against their own available width. */
.nt-course-catalog__browser > :where(.nt-course-catalog__sidebar, .nt-course-catalog__results),
.nt-course-catalog__results,
.nt-course-catalog__results .nt-course-grid,
.nt-course-catalog__results .nt-course-card {
	min-width: 0;
	max-width: 100%;
}

/* TABLET */

@media (max-width: 1023px) {
	.nt-course-jump-nav {
		top: 72px;
	}

	.nt-course-detail--premium .nt-course-detail-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nt-course-detail--premium .nt-course-detail-stats > .nt-course-stat:nth-child(4) {
		border-inline-start: 0;
	}

	.nt-course-detail--premium .nt-course-sidebar-path {
		grid-column: 1 / -1;
	}
}

/* MOBILE */

@media (max-width: 650px) {
	/* Prevent the browser's transient touch highlight on curriculum controls. */
	.nt-course-detail--premium .nt-course-curriculum__section,
	.nt-course-detail--premium .nt-course-curriculum__section summary,
	.nt-course-detail--premium .nt-course-curriculum__toggle,
	.nt-course-detail--premium .nt-course-faq details,
	.nt-course-detail--premium .nt-course-faq summary {
		-webkit-tap-highlight-color: transparent;
	}

	.nt-course-detail--premium .nt-course-curriculum__section summary:active,
	.nt-course-detail--premium .nt-course-curriculum__toggle:active,
	.nt-course-detail--premium .nt-course-faq summary:active {
		background-color: transparent;
	}

	.nt-course-detail--premium .nt-course-detail-hero::before {
		background-image:
			linear-gradient(rgb(255 255 255 / 7%) 1px, transparent 1px),
			linear-gradient(90deg, rgb(255 255 255 / 7%) 1px, transparent 1px);
	}

	.nt-course-detail--premium .nt-course-detail-hero {
		padding: 18px 0 24px;
	}

	.nt-course-detail--premium .nt-course-detail-hero__grid {
		display: flex;
		flex-direction: column;
		gap: 22px;
	}

	.nt-course-detail--premium .nt-course-detail-hero__content {
		display: contents;
	}

	.nt-course-detail--premium .nt-course-detail-hero__content .nt-breadcrumbs {
		margin-bottom: 0;
		order: 1;
	}

	.nt-course-detail--premium .nt-course-detail-hero__media {
		order: 2;
		margin-top: -19px;
	}

	.nt-course-detail--premium .nt-course-detail-hero h1 {
		order: 3;
	}

	.nt-course-detail--premium .nt-course-detail-hero__description {
		order: 4;
	}

	.nt-course-detail--premium .nt-course-detail-hero .nt-course-enroll-panel {
		order: 5;
	}

	.nt-course-detail--premium .nt-course-detail-hero__media {
		border-radius: 16px;
		width: 100%;
	}

	.nt-course-detail--premium .nt-course-detail-hero__content .nt-breadcrumbs {
		margin-bottom: 15px;
	}

  .nt-course-detail--premium .nt-course-detail-hero h1 {
    font-size: clamp(1.5rem, 7vw, 2rem);
    max-width: none;
    align-self: stretch;
    width: 100%;
    text-align: right;
    transform: translateX(-5px);
	}

	.nt-tool-detail #nt-tool-detail-title {
		white-space: normal;
	}

  .nt-course-detail--premium .nt-course-detail-hero__description {
    font-size: .93rem;
    line-height: 1.95;
    align-self: stretch;
    max-width: none;
    margin: 0;
    text-align: right;
    transform: translateX(-5px);
    width: 100%;
  }

	.nt-course-detail--premium .nt-course-detail-hero__meta {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nt-course-detail--premium .nt-course-detail-hero__meta > span,
	.nt-course-detail--premium .nt-course-detail-hero__meta > span:first-child {
		border: 0;
		border-top: 1px solid var(--nt-course-border-soft);
		padding: 8px 0;
	}

	.nt-course-detail--premium .nt-course-enroll-panel {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.nt-course-detail--premium .nt-course-sale-offer {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		background: rgb(20 25 31 / 28%);
		border: 1px solid rgb(37 44 51 / 38%);
		border-radius: 10px;
		gap: 12px;
		margin-inline: auto;
		margin-bottom: -30px;
		padding: 12px 10px;
		position: relative;
		top: -30px;
	}

	.nt-course-detail--premium .nt-course-sale-offer__badge {
		grid-column: 1;
		grid-row: 1;
		justify-self: center;
		transform: none;
		text-align: center;
		width: auto;
	}

	.nt-course-detail--premium .nt-course-sale-offer__timer {
		grid-column: 2;
		grid-row: 1;
		grid-template-columns: repeat(2, minmax(42px, 1fr));
		justify-self: center;
		margin-inline: auto;
		transform: none;
	}

	.nt-course-detail--premium .nt-course-enroll-panel__action {
		justify-content: stretch;
	}

	.nt-course-detail--premium .nt-course-enroll-panel__purchase {
		grid-template-columns: minmax(0, 1fr) minmax(135px, 1fr);
	}

	.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price__discount-badge b {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-height: 26px;
		min-width: 38px;
		padding: 0 .35rem;
		white-space: nowrap;
	}

	.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price__discount-badge {
		transform: translateX(3px);
	}

	.nt-course-detail--premium .nt-course-enroll-panel__purchase .nt-price__currency {
		transform: translate(7px, -2px);
	}

	.nt-course-detail--premium .nt-course-enroll-panel__action .nt-purchase-form,
	.nt-course-detail--premium .nt-course-enroll-panel__action .nt-button {
		width: 100%;
	}

	.nt-course-detail--premium .nt-course-detail-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 12px 0;
	}

	.nt-course-detail--premium .nt-course-detail-stats > .nt-course-stat {
		border: 0;
		min-height: 58px;
		padding: 9px 8px;
		transform: translateX(-5px);
	}

	.nt-course-detail--premium .nt-course-rich-text {
		padding-inline: 10px;
	}

	.nt-course-detail--premium .nt-course-rich-text :where(h2, h3, h4) {
		background: transparent;
		border-bottom: 0;
		border-inline-start: 0;
		display: block;
		margin-inline: 0;
		padding: 5px 9px;
		text-align: right;
		width: 100%;
	}

	.nt-course-stat__icon {
		flex-basis: 36px;
		height: 36px;
		transform: translateX(-5px);
		width: 36px;
	}

	.nt-course-jump-nav {
		top: 66px;
	}

	.nt-course-jump-nav__inner {
		padding-block: 8px;
	}

	.nt-course-detail--premium .nt-course-detail-layout {
		padding-block: 20px 60px;
	}

	.nt-course-detail--premium .nt-course-detail-section,
	.nt-course-detail--premium .nt-comments-area,
	.nt-course-detail--premium .nt-course-related-courses {
		border-radius: 15px;
		padding: 18px 15px;
	}

	.nt-course-detail--premium .nt-course-section-head {
		align-items: flex-start;
	}

	.nt-course-detail--premium .nt-course-section-head__line {
		display: none;
	}

	.nt-course-detail--premium .nt-course-check-list--grid {
		grid-template-columns: 1fr;
	}

	.nt-course-section-head--with-meta {
		display: grid;
	}

	.nt-course-curriculum__summary {
		margin-top: 4px;
	}

	.nt-course-detail--premium .nt-course-curriculum__section summary {
		grid-template-columns: 34px minmax(0, 1fr) 28px;
		padding: 10px;
	}

	.nt-course-curriculum__chapter-no {
		height: 34px;
		width: 34px;
	}

	.nt-course-detail--premium .nt-course-lesson {
		grid-template-columns: 28px minmax(0, 1fr);
	}

	.nt-course-lesson__duration {
		grid-column: 2;
		padding-top: 0;
	}

	.nt-course-detail--premium .nt-course-instructor__profile--expanded {
		grid-template-columns: 76px minmax(0, 1fr);
		padding: 14px;
	}

	.nt-course-detail--premium img.nt-course-instructor__avatar {
		border-radius: 50%;
		height: 76px;
		width: 76px;
	}

	.nt-course-comments__header {
		align-items: flex-start;
		display: grid;
	}

	.nt-course-detail--premium .nt-comment-list .children {
		margin-right: 8px;
		padding-right: 9px;
	}

	.nt-course-detail--premium .nt-course-related-courses__grid {
		grid-template-columns: 1fr;
	}
}

/* Sidebar search spacing and text legibility. */
.nt-course-catalog__sidebar .nt-course-toolbar {
	box-sizing: border-box;
	gap: 20px;
	min-width: 0;
	padding: 20px 18px 18px;
}

.nt-course-catalog__sidebar .nt-course-toolbar__search,
.nt-course-catalog__sidebar .nt-course-toolbar__sort {
	min-width: 0;
}

.nt-course-catalog__sidebar .nt-course-toolbar__search > div {
	gap: 14px;
}

.nt-course-catalog__sidebar .nt-course-toolbar label {
	line-height: 1.8;
	white-space: normal;
}

.nt-course-catalog__sidebar .nt-course-toolbar input,
.nt-course-catalog__sidebar .nt-course-toolbar select,
.nt-course-catalog__sidebar .nt-course-toolbar button {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

.nt-course-catalog__sidebar .nt-course-toolbar input,
.nt-course-catalog__sidebar .nt-course-toolbar select {
	line-height: 1.7;
	min-width: 0;
	padding-inline: 12px;
}

.nt-course-catalog__sidebar .nt-course-toolbar input::placeholder {
	opacity: .72;
}

.nt-course-catalog__sidebar .nt-course-toolbar__status {
	line-height: 1.9;
	margin: 0;
	white-space: normal;
	word-break: normal;
}

/* Make the whole course card act as one large, accessible link. */
.nt-course-catalog .nt-course-card {
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nt-course-catalog .nt-course-card__title a {
	position: static;
}

.nt-course-catalog .nt-course-card__title a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.nt-course-catalog .nt-course-card__media,
.nt-course-catalog .nt-course-card__action {
	position: relative;
	z-index: 2;
}

.nt-course-catalog .nt-course-card:hover {
	border-color: var(--nt-color-cobalt-high);
	box-shadow: 0 0 0 1px var(--nt-color-cobalt-soft), 0 18px 38px rgb(0 0 0 / 22%);
	transform: translateY(-3px);
}

.nt-course-catalog .nt-course-toolbar button,
.nt-course-catalog .nt-course-path-banner .nt-button {
	background: var(--nt-color-cobalt-high);
	border-color: var(--nt-color-cobalt-high);
	box-shadow: none;
	color: #fff;
}

.nt-course-catalog .nt-course-toolbar button:hover,
.nt-course-catalog .nt-course-path-banner .nt-button:hover {
	background: var(--nt-color-cobalt);
	border-color: var(--nt-color-cobalt);
	box-shadow: none;
	color: #fff;
}

.nt-course-catalog :where(.nt-button, .nt-course-toolbar button, .nt-course-load-more__button) {
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.7;
}

/* The mobile filter trigger stays neutral like the search card. */
@media (max-width: 699px) {
	.nt-course-catalog .nt-course-toolbar .nt-course-toolbar__filter-toggle {
		background: transparent !important;
		border: 1px solid var(--nt-color-line-soft) !important;
		box-shadow: none !important;
		color: var(--nt-color-ink-soft) !important;
	}

	.nt-course-catalog .nt-course-toolbar .nt-course-toolbar__filter-toggle:hover,
	.nt-course-catalog .nt-course-toolbar .nt-course-toolbar__filter-toggle:focus-visible {
		background: transparent !important;
		border-color: var(--nt-color-line) !important;
		color: var(--nt-color-ink) !important;
	}
}

.nt-course-catalog .nt-course-card__title a:focus-visible::after {
	border: 2px solid var(--nt-color-brand);
	border-radius: inherit;
	outline: 0;
}

/* Keep catalog and related-course descriptions readable and stable before the price/action row. */
:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__description {
	box-sizing: border-box;
	display: -webkit-box;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	max-width: none;
	min-height: calc(2 * 1.8em);
	min-width: 0;
	overflow: hidden;
	overflow-wrap: normal;
	text-align: justify;
	text-align-last: right;
	letter-spacing: -0.012em;
	word-spacing: -0.04em;
	text-wrap: wrap;
	white-space: normal;
	width: 100%;
	word-break: normal;
}

.nt-tools-catalog .nt-course-card__description {
	margin-bottom: 14px;
}

/* Use the full product-page price composition in course cards, without the sale timer. */
:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price {
	direction: ltr;
	margin-top: 15px;
	min-height: 46px;
	width: 100%;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price {
	align-items: baseline;
	direction: ltr;
	display: flex;
	flex-wrap: nowrap;
	gap: 14px;
	justify-content: flex-start;
	margin: 0;
	min-height: 46px;
	width: 100%;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price:not(.nt-price--has-discount) {
	align-items: baseline;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price.nt-price--has-discount {
	align-items: baseline;
	display: flex;
	flex-wrap: nowrap;
	gap: 14px;
	justify-content: flex-start;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price__discount-badge {
	display: none;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price del {
	color: var(--nt-color-muted);
	direction: ltr;
	display: inline-flex;
	font-size: .76rem;
	margin: 0;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price strong {
	align-items: baseline;
	color: var(--nt-color-brand);
	direction: ltr;
	display: inline-flex;
	font-size: 1.08rem;
	font-weight: 800;
	gap: 0;
	margin: 0;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price.nt-price--has-discount strong {
	display: inline-flex;
}

:is(.nt-course-catalog, .nt-course-related-courses) .nt-course-card__price .nt-price strong .nt-price__currency {
	display: none;
}

.nt-course-related-courses .nt-course-card__price {
	height: 46px;
	margin-top: auto;
}

.nt-course-related-courses .nt-course-card__price .nt-price,
.nt-course-related-courses .nt-course-card__price .nt-price.nt-price--has-discount {
	align-items: flex-end;
	height: 46px;
}

.nt-course-related-courses .nt-course-card__price .nt-price:not(.nt-price--has-discount) {
	justify-content: flex-start;
	transform: translateY(13px);
}

.nt-course-filter-box {
	background: var(--nt-color-card);
	border: 1px solid var(--nt-color-line);
	border-radius: 16px;
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 18px;
}

.nt-course-filter-box fieldset {
	border: 0;
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
}

.nt-course-filter-box legend {
	color: var(--nt-color-ink-soft);
	font-size: .95rem;
	font-weight: 800;
	margin-bottom: 8px;
}

.nt-course-filter-check {
	align-items: center;
	border-radius: 9px;
	color: var(--nt-color-ink-soft);
	display: flex;
	font-size: .82rem;
	gap: 9px;
	line-height: 1.8;
	min-height: 34px;
	padding: 5px 7px;
}

.nt-course-filter-check:hover {
	background: rgb(255 255 255 / 4%);
	color: var(--nt-color-ink);
}

.nt-course-filter-check input {
	accent-color: var(--nt-color-brand);
	flex: 0 0 auto;
	height: 16px;
	margin: 0;
	width: 16px;
}

.nt-course-filter-check--free {
	border-top: 1px solid var(--nt-color-line-soft);
	border-radius: 0;
	margin-top: 2px;
	padding-top: 14px;
}

.nt-course-filter-box__reset {
	background: var(--nt-color-cobalt-high);
	border: 1px solid var(--nt-color-cobalt-high);
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: .8rem;
	font-weight: 800;
	justify-content: center;
	min-height: 42px;
	padding: 8px 12px;
	text-decoration: none;
	align-items: center;
	transition: background-color .2s ease, transform .2s ease;
	width: 100%;
}

.nt-course-filter-box__reset:hover {
	background: var(--nt-color-cobalt);
	color: #fff;
	transform: translateY(-1px);
}

/* On the unfiltered catalog landing, keep the two introductory panels together
 * before the course grid starts. Filtered/search views keep their normal flow. */
.nt-course-catalog--landing .nt-course-catalog__browser {
	margin-top: 34px;
}

.nt-course-catalog__content {
	background: #080b0e;
	overflow: visible !important;
	padding-bottom: 40px;
}

/* Sticky catalog filters must use the document scroll, not the clipped
 * section/site wrappers used by the general layout. */
body:has(.nt-course-catalog) .nt-site {
	overflow: visible;
}

.nt-course-catalog__content.nt-section-sm {
	overflow: visible !important;
}

.nt-course-catalog + .nt-site-footer,
.nt-course-catalog + .nt-site-footer .nt-footer-pro {
	background: #080b0e;
	border-top: 1px solid var(--nt-color-line-soft);
}

.nt-course-catalog + .nt-site-footer {
	padding-top: 24px;
}

.nt-course-load-more {
	display: flex;
	justify-content: center;
	margin: 28px 0 8px;
}

.nt-course-load-more__button {
	align-items: center;
	background: var(--nt-color-cobalt-high);
	border: 1px solid var(--nt-color-cobalt-high);
	border-radius: 11px;
	color: #fff;
	display: inline-flex;
	font-size: .86rem;
	font-weight: 800;
	justify-content: center;
	min-height: 46px;
	padding: 9px 24px;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.nt-course-load-more__button:hover {
	background: var(--nt-color-cobalt);
	border-color: var(--nt-color-cobalt);
	color: #fff;
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.nt-course-detail--premium *,
	.nt-course-detail--premium *::before,
	.nt-course-detail--premium *::after {
		scroll-behavior: auto !important;
		transition-duration: .001ms !important;
	}
}

/* Final course-detail conflict resolution */
.nt-course-detail--premium .nt-course-curriculum__section summary { grid-template-columns: minmax(0,1fr) auto; }
.nt-course-detail--premium .nt-course-curriculum__identity { align-items: center; display: flex; gap: 14px; min-width: 0; }
.nt-course-detail--premium .nt-course-curriculum__chapter-copy { min-width: 0; text-align: right; }
.nt-course-detail--premium .nt-course-curriculum__sections { row-gap: 14px; }
.nt-course-detail--premium .nt-course-lessons { padding-inline: 20px; padding-bottom: 10px; }
.nt-course-detail--premium .nt-course-lesson { padding-block: 18px; }
.nt-course-detail--premium .nt-course-audience .nt-course-check-list { gap: 16px; }
.nt-course-detail--premium .nt-course-audience .nt-course-check-list li { line-height: 2; }
@media (min-width: 768px) {
	.nt-course-detail--premium .nt-course-detail-main { row-gap: 40px; }
	.nt-course-detail--premium .nt-course-detail-sidebar { row-gap: 32px; }
	.nt-course-detail--premium .nt-course-detail-section,
	.nt-course-detail--premium .nt-comments-area,
	.nt-course-detail--premium .nt-course-related-courses { padding-block: 36px; padding-inline: 38px; }
}

@media (max-width: 767px) {
	.nt-course-detail--premium .nt-course-detail-main { gap: 24px; }
	.nt-course-detail--premium .nt-course-detail-sidebar { gap: 22px; }
	.nt-course-detail--premium .nt-course-detail-section,
	.nt-course-detail--premium .nt-comments-area,
	.nt-course-detail--premium .nt-course-related-courses { padding: 22px 18px; }
	.nt-course-detail--premium .nt-course-rich-text { max-width: 100%; }
	.nt-course-detail--premium .nt-course-curriculum__section summary { grid-template-columns: minmax(0,1fr) auto; }
	.nt-course-detail--premium .nt-course-curriculum__identity { gap: 10px; }
}
.nt-course-comments__heading h2 {
    color: var(--nt-color-ink);
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    font-weight: 900;
    line-height: 1.5;
    margin: 5px 0 7px;
}

.nt-course-comments__heading > p:last-child {
    color: var(--nt-color-muted);
    font-size: .82rem;
    line-height: 1.9;
    margin: 0;
}

.nt-course-comments__count {
    align-items: center;
    background: var(--nt-color-card-alt);
    border: 1px solid var(--nt-color-line);
    border-radius: 999px;
    color: var(--nt-color-muted);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .72rem;
    gap: 6px;
    padding: 8px 12px;
}

.nt-course-comments__count strong {
    color: var(--nt-color-ink);
    font-family: var(--nt-font-mono);
}

.nt-course-comments__empty {
    align-items: center;
    background: #10151b;
    border: 1px dashed #303843;
    border-radius: 15px;
    display: flex;
    gap: 14px;
    margin-bottom: 22px;
    padding: 20px;
}

.nt-course-comments__empty-icon {
    align-items: center;
    background: rgb(52 104 242 / 10%);
    border: 1px solid rgb(52 104 242 / 20%);
    border-radius: 50%;
    color: var(--nt-color-cobalt-high);
    display: inline-flex;
    flex: 0 0 40px;
    font-family: var(--nt-font-mono);
    font-weight: 900;
    height: 40px;
    justify-content: center;
}

.nt-course-comment-login,
.nt-course-comment-composer {
    background:
        linear-gradient(110deg, rgb(21 71 215 / 7%), transparent 62%),
        #0d1217;
    border: 1px solid var(--nt-color-line);
    border-radius: 16px;
    margin-top: 22px;
    padding: 22px;
}

.nt-course-comment-login {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.nt-course-comment-login strong {
    color: var(--nt-color-ink);
    display: block;
    font-size: .95rem;
}

.nt-course-comment-login p {
    color: var(--nt-color-muted);
    font-size: .76rem;
    line-height: 1.9;
    margin: 4px 0 0;
}

.nt-course-detail--premium .comment-form-comment label {
    color: #b8bdc2;
    display: block;
    font-size: .76rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.nt-course-detail--premium .comment-form-comment textarea {
    background: #10161c;
    border: 1px solid #303843;
    border-radius: 13px;
    color: var(--nt-color-ink);
    display: block;
    line-height: 2;
    min-height: 150px;
    outline: 0;
    padding: 14px 15px;
    resize: vertical;
    width: 100%;
}

.nt-course-detail--premium .comment-form-comment textarea:focus {
    border-color: var(--nt-color-cobalt-high);
    box-shadow: 0 0 0 3px rgb(52 104 242 / 10%);
}

.nt-course-comment-submit {
    background: var(--nt-color-brand);
    border: 0;
    border-radius: 11px;
    color: #091006;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    min-height: 46px;
    padding: 10px 20px;
}

/* LEARNING PATH CTA */

.nt-course-sidebar-path-cta {
	background: var(--nt-color-card) !important;
}

.nt-course-sidebar-path-cta::after {
	display: none;
}

.nt-course-sidebar-path-cta__signal {
    align-items: center;
    display: flex;
    gap: 5px;
    margin-bottom: 17px;
    position: relative;
    z-index: 1;
}

.nt-course-sidebar-path-cta__signal span {
    background: #313944;
    border-radius: 999px;
    height: 3px;
    width: 17px;
}

.nt-course-sidebar-path-cta__signal span:first-child {
    background: var(--nt-color-brand);
    width: 34px;
}

.nt-course-sidebar-path-cta__eyebrow {
    color: var(--nt-color-cobalt-high) !important;
    font-size: .68rem !important;
    font-weight: 800;
    margin: 0 0 8px !important;
    position: relative;
    z-index: 1;
}

.nt-course-sidebar-path-cta h2 {
    color: var(--nt-color-ink);
    font-size: 1.15rem !important;
    font-weight: 900;
    line-height: 1.8;
    margin: 0 !important;
    position: relative;
    z-index: 1;
}

.nt-course-sidebar-path-cta > p:not(.nt-course-sidebar-path-cta__eyebrow) {
	color: var(--nt-color-muted) !important;
	font-size: .96rem !important;
	line-height: 2 !important;
	margin: 12px 0 18px !important;
	position: relative;
	 z-index: 1;
	text-align: justify;
	text-justify: inter-word;
}

.nt-course-sidebar-path-cta__button {
    align-items: center;
    background: var(--nt-color-brand);
    border: 1px solid var(--nt-color-brand);
    border-radius: 12px;
    color: #091006;
    display: flex;
    font-size: .82rem;
    font-weight: 600;
    gap: 10px;
    justify-content: center;
    min-height: 48px;
    padding: 10px 14px;
    position: relative;
    text-decoration: none;
    transition: background-color .18s ease, transform .18s ease;
    width: 100%;
    z-index: 1;
}

.nt-course-sidebar-path-cta__button:hover {
    background: var(--nt-color-brand-hover);
    color: #091006;
    transform: translateY(-2px);
}

/* Sidebar cleanup: keep the audience card readable at narrow widths. */
.nt-course-detail--premium .nt-course-sidebar-audience h2 {
	max-width: 18ch;
	text-wrap: balance;
}

.nt-course-detail--premium .nt-course-sidebar-audience h2 {
	font-size: 1rem !important;
	letter-spacing: -.06em;
	max-width: none !important;
	overflow-wrap: normal;
	text-wrap: wrap !important;
	white-space: normal;
	width: 100%;
}

.nt-course-detail--premium .nt-course-sidebar-audience .nt-course-check-list {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.nt-course-detail--premium .nt-course-sidebar-audience .nt-course-check-list li {
	line-height: 1.85;
	min-width: 0;
	text-wrap: wrap !important;
	width: 100%;
}

.nt-course-detail--premium .nt-course-sidebar-audience .nt-course-check-list li > span {
	display: block;
	flex: 1 1 0%;
	min-width: 0;
	max-width: none;
	overflow-wrap: normal;
	text-wrap: wrap !important;
	white-space: normal;
	width: 100%;
}

/* Match the course moderation notice on tool detail pages. */
.nt-tool-detail .nt-blog-comment-notice {
	align-items: center;
	border: 1px solid;
	border-radius: 13px;
	display: flex;
	gap: 12px;
	margin: 0 0 18px;
	padding: 13px 16px;
}

.nt-tool-detail .nt-blog-comment-notice--pending {
	background: rgb(250 204 21 / 4%);
	border-color: rgb(250 204 21 / 38%);
	box-shadow: 0 0 8px rgb(250 204 21 / 4%), inset 0 0 8px rgb(250 204 21 / 2%);
	color: #e7e1c9;
}

.nt-tool-detail .nt-blog-comment-notice__icon {
	align-items: center;
	border: 1px solid rgb(234 179 8 / 60%);
	border-radius: 50%;
	color: #eab308;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: .82rem;
	font-weight: 700;
	height: 23px;
	justify-content: center;
	width: 23px;
}

.nt-tool-detail .nt-blog-comment-notice p {
	font-size: 14px;
	line-height: 1.9;
	margin: 0;
}

@media (max-width: 650px) {
    .nt-course-comments__header,
    .nt-course-comment-login {
        align-items: stretch;
        display: grid;
    }

    .nt-course-comment-login .nt-button {
        width: 100%;
    }
}

@media (min-width: 1024px) {
	.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__aside {
		top: 108px;
	}
}

/* Canonical detail flow: the grid owns geometry; content remains in normal flow. */
.nt-course-detail--premium .nt-detail-layout {
	align-items: start;
	direction: rtl;
	display: grid;
	gap: 48px;
	grid-template-areas: none;
	grid-template-columns: minmax(0, 1fr) clamp(320px, 28vw, 360px);
	min-width: 0;
}

.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__main,
.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__aside {
	box-sizing: border-box;
	grid-area: auto;
	min-width: 0;
	max-width: 100%;
}

.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__main {
	display: grid;
	row-gap: 24px;
}

.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__main > * {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__aside {
	align-self: start;
	display: grid;
	row-gap: 16px;
	width: 100%;
}

.nt-course-detail--premium .nt-course-related-courses__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	min-width: 0;
}

.nt-course-detail--premium .nt-course-card,
.nt-course-detail--premium .nt-course-card__body,
.nt-course-detail--premium .nt-course-card__media {
	min-width: 0;
	max-width: 100%;
}

@media (min-width: 1024px) {
	.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__aside {
		position: sticky;
		top: 92px;
		padding-block-start: 0;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.nt-course-detail--premium .nt-course-related-courses__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__aside {
		grid-template-columns: minmax(0, 1fr);
		position: static;
	}
}

@media (max-width: 767px) {
.nt-course-detail--premium .nt-detail-layout {
	gap: 14px;
		grid-template-columns: minmax(0, 1fr);
	}

	.nt-course-detail--premium .nt-course-related-courses__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Tool detail sidebar alignment: keep the first card close to the content
 * start and use a compact rhythm between its cards. */
.nt-tool-detail.nt-course-detail--premium .nt-course-detail-sidebar {
	row-gap: 12px;
	transform: translateY(-32px);
}

@media (max-width: 767px) {
	.nt-tool-detail.nt-course-detail--premium .nt-course-detail-sidebar {
		row-gap: 12px;
		transform: none;
	}
}

/* Keep the course detail's lower transition on one continuous surface. */
.nt-course-detail--premium + .nt-site-footer,
.nt-course-detail--premium + .nt-site-footer .nt-footer-pro {
	background: var(--nt-color-page);
}

/* Keep the small transition area above the footer on the same page surface. */
.nt-course-detail--premium .nt-course-detail-layout {
	background: var(--nt-color-page);
}

.nt-course-detail--premium + .nt-site-footer .nt-footer-pro {
	border-top: 1px solid var(--nt-color-line-soft);
}

/* Tool detail columns must begin on one baseline.  The old negative transform
 * lifted the sidebar above the first content card and also made its sticky
 * position jump while scrolling. */
.nt-tool-detail.nt-course-detail--premium .nt-course-detail-sidebar {
	transform: none;
}

@media (min-width: 1024px) {
	.nt-tool-detail.nt-course-detail--premium .nt-detail-layout > .nt-course-detail-sidebar {
		/* Keep the first sidebar card below the public sticky site header. */
		position: sticky !important;
		top: 92px !important;
		transform: none !important;
	}
}

@media (min-width: 1024px) {
	.nt-tool-detail.nt-course-detail--premium .nt-detail-layout > .nt-course-detail-sidebar.is-sticky-scrolling {
		top: 92px !important;
		transform: none !important;
	}
}

/* Cyber Box keeps the sidebar aligned with the detail content in both normal
 * flow and sticky scrolling; the generic negative tool offset cuts its first
 * card off at the top of the viewport. */
@media (min-width: 1024px) {
	.nt-tool-detail.nt-course-detail--premium:is(.nt-tool-detail--cyber-box, .nt-tool-detail--phone-control) .nt-detail-layout > .nt-course-detail-sidebar,
	.nt-tool-detail.nt-course-detail--premium:is(.nt-tool-detail--cyber-box, .nt-tool-detail--phone-control) .nt-detail-layout > .nt-course-detail-sidebar.is-sticky-scrolling {
		transform: none !important;
	}

	/* Align the normal-flow sidebar with the first right-side content card. */
	.nt-tool-detail.nt-course-detail--premium:is(.nt-tool-detail--cyber-box, .nt-tool-detail--phone-control) .nt-detail-layout > .nt-course-detail-sidebar {
		margin-block-start: 0;
		top: 92px !important;
	}

	/* The phone-control sidebar is visually lifted by the legacy layout rules.
	 * Correct only its normal-flow position; the sticky state is reset below. */
	.nt-tool-detail.nt-course-detail--premium.nt-tool-detail--phone-control .nt-detail-layout > .nt-course-detail-sidebar:not(.is-sticky-scrolling) {
		margin-block-start: 0 !important;
		transform: none !important;
	}

	/* Once scrolling starts, keep the box 20px lower than the previous sticky
	 * position and remove the normal-flow alignment margin. */
	.nt-tool-detail.nt-course-detail--premium:is(.nt-tool-detail--cyber-box, .nt-tool-detail--phone-control) .nt-detail-layout > .nt-course-detail-sidebar.is-sticky-scrolling {
		margin-block-start: 0;
		top: 92px !important;
		transform: none !important;
	}
}

/* Remove the faint two-tone seam between the detail content and the footer. */
body:has(main.nt-course-detail--premium) {
	background: var(--nt-color-page);
}

.nt-course-detail--premium,
.nt-course-detail--premium + .nt-site-footer,
.nt-course-detail--premium + .nt-site-footer .nt-footer-pro {
	background: var(--nt-color-page) !important;
	background-image: none !important;
}

/* The footer can be separated from the main element by a template hook. */
main.nt-tool-detail ~ footer.nt-site-footer,
main.nt-tool-detail ~ footer.nt-site-footer .nt-footer-pro {
	background: var(--nt-color-page) !important;
	background-image: none !important;
}

/* Course detail spacing: keep the sticky purchase rail below the public
 * site header while scrolling, without changing its normal position. */
@media (min-width: 1024px) {
	.nt-course-detail--premium .nt-detail-layout > .nt-detail-layout__aside {
		top: 92px !important;
	}
}

/* Leave a visible breathing space before the footer after the final course
 * cards, including the related-courses block at the bottom of the page. */
.nt-course-detail--premium .nt-course-detail-layout {
	padding-bottom: 55px;
}

/* Use the site's cobalt action style for all primary actions on course/product pages. */
.nt-course-detail--premium .nt-button--primary,
.nt-course-detail--premium .nt-purchase-form button {
	background: var(--nt-color-cobalt-high);
	border-color: var(--nt-color-cobalt-high);
	box-shadow: 0 10px 28px rgb(52 104 242 / 20%);
	color: #fff;
}

.nt-course-detail--premium .nt-button--primary:hover,
.nt-course-detail--premium .nt-purchase-form button:hover {
	background: var(--nt-color-cobalt);
	border-color: var(--nt-color-cobalt);
	box-shadow: 0 10px 28px rgb(52 104 242 / 28%);
	color: #fff;
}

.nt-course-detail--premium .nt-course-sidebar-path-cta__button,
.nt-course-detail--premium .form-submit .submit {
	background: var(--nt-color-cobalt-high) !important;
	border-color: var(--nt-color-cobalt-high) !important;
	box-shadow: 0 10px 28px rgb(52 104 242 / 20%) !important;
	color: #fff !important;
}

.nt-course-detail--premium .nt-course-sidebar-path-cta__button:hover,
.nt-course-detail--premium .form-submit .submit:hover {
	background: var(--nt-color-cobalt) !important;
	border-color: var(--nt-color-cobalt) !important;
	box-shadow: 0 10px 28px rgb(52 104 242 / 28%) !important;
	color: #fff !important;
}

.nt-course-detail--premium :where(.nt-button, .nt-course-sidebar-path-cta__button, .form-submit .submit) {
	font-size: .82rem;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.7;
}

/* Give course descriptions and curriculum titles a little more reading room. */
.nt-course-detail--premium .nt-course-detail-hero__description {
	font-size: clamp(1rem, 1.15vw, 1.12rem);
}

.nt-course-detail--premium .nt-course-rich-text {
	font-size: 1.04rem;
}

/* Use the same justified reading rhythm for tool and course descriptions. */
.nt-course-detail--premium .nt-course-detail-hero__description,
.nt-course-detail--premium .nt-course-overview .nt-course-rich-text,
.nt-tool-detail .nt-tool-audience-copy {
	text-align: justify;
	text-align-last: right;
	text-justify: inter-word;
}

.nt-course-detail--premium .nt-course-curriculum__chapter-copy strong {
	font-size: .94rem;
}

.nt-course-detail--premium .nt-course-curriculum__chapter-copy small {
	font-size: .68rem;
}

.nt-course-detail--premium .nt-course-lesson__copy strong {
	font-size: .92rem;
}

.nt-course-detail--premium .nt-course-lesson__copy p {
	font-size: .84rem;
	line-height: 1.95;
}

.nt-tool-product-options { margin: 0 0 .55rem; width: 100%; }
.nt-tool-product-options__title { margin: 0 0 .4rem; color: #a8b3c7; font-size: .9rem; font-weight: 600; letter-spacing: .02em; text-align: right; transform: translateY(-4px); }
.nt-tool-product-options__grid { direction: rtl; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.nt-tool-product-options__notice { margin: 1rem 0 0; padding: .55rem .7rem; border: 1px solid rgb(234 179 21 / 60%); border-radius: 8px; color: #fff; cursor: pointer; font: inherit; font-size: .9rem; line-height: 1.8; text-align: center; transition: border-color .22s ease, background .22s ease, box-shadow .22s ease; white-space: nowrap; width: 100%; }
.nt-tool-product-options__notice.is-mode-standard { background: rgb(139 90 43 / 25%); border-color: rgb(168 107 50 / 80%); box-shadow: inset 0 0 18px rgb(168 107 50 / 10%); }
.nt-tool-product-options__notice.is-mode-professional { background: rgb(34 197 94 / 18%); border-color: rgb(34 197 94 / 80%); box-shadow: inset 0 0 18px rgb(34 197 94 / 10%); }
.nt-tool-product-options__notice.is-mode-special { background: rgb(255 73 100 / 18%); border-color: rgb(255 73 100 / 80%); box-shadow: inset 0 0 18px rgb(255 73 100 / 10%); }
.nt-tool-detail .nt-purchase-form .nt-tool-product-options__notice.is-mode-standard { background: rgb(139 90 43 / 25%) !important; border-color: rgb(168 107 50 / 80%) !important; box-shadow: inset 0 0 18px rgb(168 107 50 / 10%) !important; color: #fff !important; }
.nt-tool-detail .nt-purchase-form .nt-tool-product-options__notice.is-mode-professional { background: rgb(34 197 94 / 18%) !important; border-color: rgb(34 197 94 / 80%) !important; box-shadow: inset 0 0 18px rgb(34 197 94 / 10%) !important; color: #fff !important; }
.nt-tool-detail .nt-purchase-form .nt-tool-product-options__notice.is-mode-special { background: rgb(255 73 100 / 18%) !important; border-color: rgb(255 73 100 / 80%) !important; box-shadow: inset 0 0 18px rgb(255 73 100 / 10%) !important; color: #fff !important; }
.nt-tool-product-option { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 42px; padding: .45rem .35rem; overflow: hidden; border: 1px solid rgb(255 255 255 / 10%); border-radius: 10px; background: linear-gradient(145deg, #171d27, #0d1219); cursor: pointer; text-align: center; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease; }
.nt-tool-product-option::before { position: absolute; inset: 0; opacity: 0; content: ''; pointer-events: none; }
.nt-tool-product-option:hover { transform: translateY(-2px); }
.nt-tool-product-option input { position: absolute; opacity: 0; pointer-events: none; }
.nt-tool-product-option__label { position: relative; z-index: 1; color: #f5f7fb; font-size: .8rem; font-weight: 800; }
.nt-tool-product-option__mark { display: none; position: absolute; top: .55rem; width: 5px; height: 5px; border-radius: 50%; box-shadow: 0 0 8px currentColor; }
.nt-tool-product-option--blue { color: #3f7cff; }
.nt-tool-product-option--green { color: #9cff00; }
.nt-tool-product-option--red { color: #ff4964; }
.nt-tool-product-option--blue { border-color: rgb(63 124 255 / 62%); background: transparent; }
.nt-tool-product-option--green { border-color: rgb(156 255 0 / 62%); background: transparent; }
.nt-tool-product-option--red { border-color: rgb(255 73 100 / 62%); background: transparent; }
.nt-tool-product-option--blue::before { background: radial-gradient(circle at 50% 110%, #2060ff, transparent 65%); }
.nt-tool-product-option--green::before { background: radial-gradient(circle at 50% 110%, #83ff00, transparent 65%); }
.nt-tool-product-option--red::before { background: radial-gradient(circle at 50% 110%, #ff204c, transparent 65%); }
.nt-tool-product-option--blue .nt-tool-product-option__mark { background: #3f7cff; }
.nt-tool-product-option--green .nt-tool-product-option__mark { background: #9cff00; }
.nt-tool-product-option--red .nt-tool-product-option__mark { background: #ff4964; }
.nt-tool-product-option.is-selected::before { opacity: .14; }
.nt-tool-product-option.is-selected .nt-tool-product-option__mark { display: none; }
.nt-tool-product-option--blue.is-selected { border-color: #3f7cff; background: linear-gradient(145deg, rgb(31 82 204 / 30%), #111927); box-shadow: 0 0 0 1px rgb(63 124 255 / 55%), 0 0 20px rgb(63 124 255 / 28%), inset 0 0 18px rgb(63 124 255 / 9%); }
.nt-tool-product-option--green.is-selected { border-color: #9cff00; background: linear-gradient(145deg, rgb(103 181 0 / 25%), #111b16); box-shadow: 0 0 0 1px rgb(156 255 0 / 55%), 0 0 20px rgb(156 255 0 / 24%), inset 0 0 18px rgb(156 255 0 / 8%); }
.nt-tool-product-option--red.is-selected { border-color: #ff4964; background: linear-gradient(145deg, rgb(195 24 54 / 25%), #1c1219); box-shadow: 0 0 0 1px rgb(255 73 100 / 55%), 0 0 20px rgb(255 73 100 / 24%), inset 0 0 18px rgb(255 73 100 / 8%); }
.nt-tool-detail .nt-tool-product-option--blue.is-selected { border-color: #a86b32; background: linear-gradient(145deg, rgb(139 90 43 / 34%), #1b1510); box-shadow: 0 0 0 1px rgb(168 107 50 / 58%), 0 0 20px rgb(168 107 50 / 25%), inset 0 0 18px rgb(168 107 50 / 10%); }
.nt-tool-detail .nt-tool-product-option--blue:not(.is-selected) { border-color: rgb(168 107 50 / 78%); background: linear-gradient(145deg, rgb(139 90 43 / 18%), #17120e); }
.nt-tool-detail .nt-tool-product-option--green.is-selected { border-color: rgb(34 197 94 / 80%); background: linear-gradient(145deg, rgb(34 197 94 / 18%), #111b16); box-shadow: inset 0 0 18px rgb(34 197 94 / 10%); }
.nt-tool-detail .nt-tool-product-option--green:not(.is-selected) { border-color: rgb(34 197 94 / 72%); background: linear-gradient(145deg, rgb(34 197 94 / 10%), #101914); }
.nt-tool-detail .nt-tool-product-option:focus { outline: 0; }
.nt-tool-detail .nt-tool-product-option:focus-visible { outline: 2px solid #a86b32; outline-offset: 2px; }
.nt-tool-detail .nt-purchase-form:has(.nt-tool-product-options) { display: grid; gap: .55rem; }
.nt-tool-detail .nt-purchase-form:has(.nt-tool-product-options) .nt-tool-product-options { grid-row: 1; }
.nt-tool-detail .nt-purchase-form:has(.nt-tool-product-options) .nt-button { grid-row: 2; }
.nt-tool-detail [data-tool-option-price-display] .nt-course-price__current,
.nt-tool-detail [data-tool-option-price-display] .nt-price__current { font-variant-numeric: tabular-nums; }
.nt-tool-detail [data-tool-option-price-display].is-coming-soon .nt-price > del { display: none; }
.nt-tool-detail [data-tool-option-price-display].is-coming-soon .nt-price > strong { color: var(--nt-course-volt); font-size: 1rem; }
.nt-tool-detail [data-tool-option-price-display].is-coming-soon .nt-price__amount { font-size: 1rem; }
.nt-tool-detail .nt-tool-purchase-coming-soon { align-items: center; background: rgb(155 217 31 / 8%); border: 1px solid rgb(155 217 31 / 38%); border-radius: 11px; color: var(--nt-course-volt); display: flex; justify-content: center; min-height: 44px; padding: 9px 14px; text-align: center; }
.nt-tool-detail .nt-course-curriculum__section--access-mode-0 { border-color: rgb(168 107 50 / 80%); background: linear-gradient(145deg, rgb(139 90 43 / 12%), var(--nt-course-surface-2)); }
.nt-tool-detail .nt-course-curriculum__section--access-mode-1 { border-color: rgb(34 197 94 / 75%); background: linear-gradient(145deg, rgb(34 197 94 / 9%), var(--nt-course-surface-2)); }
.nt-tool-detail .nt-course-curriculum__section--access-mode-2 { border-color: rgb(255 73 100 / 70%); background: linear-gradient(145deg, rgb(255 73 100 / 9%), var(--nt-course-surface-2)); }
.nt-tool-detail .nt-course-curriculum__section--access-mode-0 .nt-course-curriculum__toggle { border-color: #a86b32; color: #a86b32; }
.nt-tool-detail .nt-course-curriculum__section--access-mode-1 .nt-course-curriculum__toggle { border-color: #22c55e; color: #22c55e; }
.nt-tool-detail .nt-course-curriculum__section--access-mode-2 .nt-course-curriculum__toggle { border-color: #ff4964; color: #ff4964; }
.nt-tool-detail .nt-course-curriculum__section--access-mode-0[open],
.nt-tool-detail .nt-course-curriculum__section--access-mode-0[open] > summary { border-color: #a86b32; }
.nt-tool-detail .nt-course-curriculum__section--access-mode-1[open],
.nt-tool-detail .nt-course-curriculum__section--access-mode-1[open] > summary { border-color: #22c55e; }
.nt-tool-detail .nt-course-curriculum__section--access-mode-2[open],
.nt-tool-detail .nt-course-curriculum__section--access-mode-2[open] > summary { border-color: #ff4964; }
.nt-tool-detail .nt-course-access-mode-copy {
	margin: 0;
	padding: 22px 26px 24px;
	border-top: 1px solid rgb(255 255 255 / 8%);
	background: rgb(10 14 20 / 42%);
	color: rgb(226 232 240 / 78%);
	font-size: 0.95rem;
	line-height: 2;
	text-align: justify;
}
.nt-tool-detail .nt-course-access-mode-copy p { margin: 0; }
.nt-tool-detail .nt-tool-audience-copy p {
	margin: 0 0 12px;
	color: rgb(226 232 240 / 78%);
	font-size: .96rem !important;
	line-height: 2;
	text-align: justify;
}
.nt-tool-detail .nt-tool-audience-copy p:last-child { margin-bottom: 0; }
.nt-tool-detail #tool-about > .nt-course-section-head h2 { transform: translateX(-5px); }
.nt-tool-detail #tool-about > .nt-course-rich-text { margin-inline: 2px; padding-inline: 0; width: calc(100% - 4px); }
@media (max-width: 650px) {
	.nt-tool-detail .nt-course-enroll-panel {
		margin-top: 20px;
	}

	.nt-tool-detail .nt-course-enroll-panel__purchase {
		grid-template-columns: minmax(0, 1fr) minmax(150px, 1.1fr);
	}

	.nt-tool-detail .nt-course-enroll-panel__purchase [data-tool-option-price-display] {
		transform: translateX(-5px);
		white-space: nowrap;
	}

	.nt-tool-detail .nt-course-enroll-panel__purchase .nt-purchase-form:has(.nt-tool-product-options) {
		display: contents;
	}

	.nt-tool-detail .nt-course-enroll-panel__purchase .nt-purchase-form:has(.nt-tool-product-options) .nt-tool-product-options {
		grid-column: 1 / -1;
		grid-row: 1;
		transform: translateY(-7px);
		width: 100%;
	}

	.nt-tool-detail .nt-tool-product-options__title {
		font-size: .9rem;
	}

	.nt-tool-detail .nt-course-enroll-panel__purchase .nt-purchase-form:has(.nt-tool-product-options) .nt-button {
		grid-column: 2;
		grid-row: 2;
	}

	.nt-tool-product-options__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	/* Keep the course comment count compact and circular on mobile. */
	.nt-course-detail--premium .nt-course-comments__count {
		align-items: center;
		border-radius: 50%;
		flex: 0 0 48px;
		flex-direction: column;
		gap: 1px;
		height: 48px;
		justify-content: center;
		justify-self: end;
		padding: 0;
		text-align: center;
		white-space: normal;
		width: 48px;
	}

	.nt-course-detail--premium .nt-course-comments__count strong {
		font-size: .85rem;
		line-height: 1.1;
	}
}

@media (max-width: 650px) {
	/* Keep the owned-access status on one line on narrow screens. */
	.nt-course-detail--premium .nt-course-enroll-panel__purchase > .nt-owned-state,
	.nt-tool-detail .nt-course-enroll-panel__purchase > .nt-owned-state {
		font-size: .75rem;
		min-width: max-content;
		padding-inline: .65rem;
		white-space: nowrap;
	}
}

/* Final status treatment for every active-access box, including the sidebar card. */
.nt-owned-state {
	border-color: var(--nt-color-cobalt-high) !important;
	color: var(--nt-color-ink) !important;
	text-align: right !important;
}

/* Owned courses remain actionable: use the same filled action treatment as
 * the catalogue search button instead of rendering a passive status outline. */
.nt-course-detail--premium .nt-course-enroll-panel__purchase > a.nt-owned-state {
	align-items: center;
	background: var(--nt-color-cobalt-high) !important;
	border-color: var(--nt-color-cobalt-high) !important;
	box-shadow: 0 10px 28px rgb(52 104 242 / 20%);
	color: #fff !important;
	display: flex;
	justify-content: center;
	min-height: 48px;
	padding-block: .65rem;
	text-align: center !important;
	text-decoration: none;
	width: 100%;
}

.nt-course-detail--premium .nt-course-enroll-panel__purchase > a.nt-owned-state:hover,
.nt-course-detail--premium .nt-course-enroll-panel__purchase > a.nt-owned-state:focus-visible {
	background: var(--nt-color-cobalt) !important;
	border-color: var(--nt-color-cobalt) !important;
	box-shadow: 0 10px 28px rgb(52 104 242 / 28%);
	color: #fff !important;
}

/* On small screens keep course/tool descriptions slightly clear of the
 * content edge without changing their desktop spacing. */
@media (max-width: 650px) {
	.nt-course-detail--premium .nt-course-detail-hero__description,
	.nt-course-detail--premium .nt-course-overview .nt-course-rich-text,
	.nt-tool-detail .nt-tool-audience-copy {
		box-sizing: border-box;
		margin-inline: 10px;
		padding-inline: 0;
		transform: none;
		width: calc(100% - 20px);
	}
}
