/* ============================================================
   NoirTube — minimalist dark theme for video directories
   ============================================================ */

:root {
	--nt-bg: #050505;
	--nt-bg-2: #080808;
	--nt-surface: #111111;
	--nt-card: #161616;
	--nt-card-hover: #1c1c1c;
	--nt-border: #232323;
	--nt-text: #f4f4f5;
	--nt-text-dim: #9aa0a6;
	--nt-text-mute: #6b7280;
	--nt-accent: #ff2d87;      /* hot pink */
	--nt-accent-2: #ffd400;    /* yellow accent */
	--nt-radius: 12px;
	--nt-radius-sm: 8px;
	--nt-radius-pill: 999px;
	--nt-shadow: 0 4px 20px rgba(0, 0, 0, .45);
	--nt-header-h: 64px;
	--nt-max: 1440px;
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
	background: var(--nt-bg);
	color: var(--nt-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--nt-accent); }

h1, h2, h3, h4 { font-weight: 700; letter-spacing: -.01em; margin: 0; }

.nt-container {
	max-width: var(--nt-max);
	margin: 0 auto;
	padding: 0 20px;
}

.nt-main { min-height: 60vh; padding-bottom: 60px; }

.nt-accent { color: var(--nt-accent); }

/* ---------------- Header ---------------- */
.nt-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(8, 8, 8, .92);
	backdrop-filter: saturate(140%) blur(10px);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid var(--nt-border);
}

.nt-header__inner {
	max-width: var(--nt-max);
	margin: 0 auto;
	padding: 12px 20px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 18px;
	align-items: center;
}

.nt-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--nt-text);
	font-weight: 800;
	letter-spacing: -.02em;
}

.nt-logo__mark {
	display: inline-grid;
	place-items: center;
	width: 32px; height: 32px;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--nt-accent), #b51060);
	color: #fff;
	font-size: 16px;
}

.nt-logo__text { font-size: 17px; }

.nt-nav__list {
	display: flex;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nt-nav__list a {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: var(--nt-radius-pill);
	font-size: 14px;
	font-weight: 500;
	color: var(--nt-text-dim);
	transition: background .15s, color .15s;
}
.nt-nav__list a:hover,
.nt-nav__list .current-menu-item a {
	background: var(--nt-card);
	color: var(--nt-text);
}

.nt-search {
	order: 3;
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	background: var(--nt-card);
	border: 1px solid var(--nt-border);
	border-radius: var(--nt-radius-pill);
	padding: 6px 8px 6px 16px;
	transition: border-color .15s;
}
.nt-search:focus-within { border-color: var(--nt-accent); }

.nt-search__input {
	flex: 1;
	background: transparent;
	border: 0;
	color: var(--nt-text);
	font-size: 14px;
	padding: 8px 0;
	outline: none;
}
.nt-search__input::placeholder { color: var(--nt-text-mute); }

.nt-search__submit {
	display: inline-grid;
	place-items: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	border: 0;
	background: var(--nt-accent);
	color: #fff;
	cursor: pointer;
	transition: transform .1s;
}
.nt-search__submit:hover { transform: scale(1.05); }

.nt-burger {
	display: none;
	background: transparent;
	border: 0;
	width: 40px; height: 40px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	cursor: pointer;
}
.nt-burger span {
	display: block;
	width: 22px; height: 2px;
	background: var(--nt-text);
	border-radius: 2px;
	transition: transform .2s, opacity .2s;
}

/* Pills */
.nt-pills {
	border-top: 1px solid var(--nt-border);
	background: var(--nt-bg-2);
}
.nt-pills__track {
	display: flex;
	gap: 8px;
	padding: 10px 20px;
	overflow-x: auto;
	scrollbar-width: none;
	max-width: var(--nt-max);
	margin: 0 auto;
}
.nt-pills__track::-webkit-scrollbar { display: none; }

.nt-pill {
	flex-shrink: 0;
	padding: 6px 14px;
	border-radius: var(--nt-radius-pill);
	background: var(--nt-card);
	border: 1px solid var(--nt-border);
	color: var(--nt-text-dim);
	font-size: 13px;
	font-weight: 500;
	transition: background .15s, color .15s, border-color .15s;
}
.nt-pill:hover {
	background: var(--nt-card-hover);
	color: var(--nt-text);
	border-color: var(--nt-accent);
}

/* ---------------- Sections ---------------- */
.nt-section { padding: 36px 0 8px; }

.nt-section__title {
	font-size: 20px;
	margin: 0 0 18px;
}

.nt-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.nt-section__head .nt-section__title { margin: 0; }

.nt-section__link {
	color: var(--nt-text-dim);
	font-size: 13px;
	font-weight: 500;
}
.nt-section__link:hover { color: var(--nt-accent); }

.nt-empty {
	color: var(--nt-text-mute);
	padding: 30px 0;
	text-align: center;
}

/* ---------------- Grid + cards ---------------- */
.nt-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
}

.nt-card {
	display: flex;
	flex-direction: column;
	color: var(--nt-text);
	border-radius: var(--nt-radius);
	overflow: hidden;
	transition: transform .15s ease;
}
.nt-card:hover { transform: translateY(-2px); color: var(--nt-text); }

.nt-card__thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--nt-card);
	overflow: hidden;
	border-radius: var(--nt-radius);
}
.nt-card__thumb img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .25s ease;
}
.nt-card:hover .nt-card__thumb img { transform: scale(1.04); }

.nt-card__placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-size: 48px;
	font-weight: 800;
	color: rgba(255, 255, 255, .35);
}

.nt-card__duration {
	position: absolute;
	right: 8px;
	bottom: 8px;
	background: rgba(0, 0, 0, .82);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 3px 7px;
	border-radius: 4px;
	letter-spacing: .02em;
}

.nt-card__body { padding: 10px 2px 4px; }

.nt-card__title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--nt-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 6px;
}

.nt-card__meta {
	display: flex;
	gap: 10px;
	color: var(--nt-text-mute);
	font-size: 12px;
}
.nt-card__source { color: var(--nt-accent-2); }

/* ---------------- Category tiles ---------------- */
.nt-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.nt-cat-tile {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--nt-radius);
	padding: 16px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #fff;
	overflow: hidden;
	transition: transform .15s ease;
}
.nt-cat-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,.55), transparent 60%);
}
.nt-cat-tile:hover { transform: translateY(-2px); color: #fff; }
.nt-cat-tile__name {
	position: relative;
	font-size: 15px;
	font-weight: 700;
	z-index: 1;
}
.nt-cat-tile__count {
	position: relative;
	font-size: 12px;
	color: rgba(255,255,255,.7);
	z-index: 1;
}

/* ---------------- Archive head / filters ---------------- */
.nt-archive-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 22px;
}

.nt-archive-desc { color: var(--nt-text-dim); margin: -10px 0 18px; }

.nt-filters {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.nt-filter {
	padding: 7px 14px;
	border-radius: var(--nt-radius-pill);
	background: var(--nt-card);
	border: 1px solid var(--nt-border);
	color: var(--nt-text-dim);
	font-size: 13px;
	font-weight: 500;
}
.nt-filter:hover { color: var(--nt-text); border-color: var(--nt-accent); }
.nt-filter.is-active {
	background: var(--nt-accent);
	border-color: var(--nt-accent);
	color: #fff;
}

/* ---------------- Single ---------------- */
.nt-single { max-width: 1100px; }

.nt-player__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: var(--nt-radius);
	overflow: hidden;
	box-shadow: var(--nt-shadow);
}
.nt-player__frame iframe {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	border: 0;
}
.nt-player__placeholder {
	aspect-ratio: 16 / 9;
	display: grid;
	place-items: center;
	background: var(--nt-card);
	border-radius: var(--nt-radius);
	color: var(--nt-text-mute);
}

.nt-single__title {
	font-size: 24px;
	margin: 22px 0 10px;
}

.nt-single__meta {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	color: var(--nt-text-dim);
	font-size: 13px;
	margin-bottom: 16px;
}
.nt-single__meta a { color: var(--nt-accent-2); }

.nt-single__desc {
	color: var(--nt-text-dim);
	background: var(--nt-card);
	padding: 16px 18px;
	border-radius: var(--nt-radius);
	margin: 8px 0 18px;
}

/* Tags */
.nt-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 10px 0;
}
.nt-tags__label { color: var(--nt-text-mute); font-size: 13px; margin-right: 4px; }

.nt-tag {
	display: inline-flex;
	padding: 6px 12px;
	border-radius: var(--nt-radius-pill);
	background: var(--nt-card);
	border: 1px solid var(--nt-border);
	color: var(--nt-text-dim);
	font-size: 12px;
	font-weight: 500;
}
.nt-tag:hover { color: var(--nt-text); border-color: var(--nt-accent); }
.nt-tag--accent { color: var(--nt-accent-2); }

/* ---------------- A-Z lists ---------------- */
.nt-az-block { margin-bottom: 28px; }

.nt-az-letter {
	font-size: 14px;
	color: var(--nt-accent);
	border-bottom: 1px solid var(--nt-border);
	padding-bottom: 6px;
	margin-bottom: 12px;
	letter-spacing: .12em;
}

.nt-az-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.nt-az-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: var(--nt-card);
	border: 1px solid var(--nt-border);
	border-radius: var(--nt-radius-sm);
	color: var(--nt-text-dim);
	font-size: 14px;
	transition: background .15s, color .15s, border-color .15s;
}
.nt-az-item:hover {
	background: var(--nt-card-hover);
	color: var(--nt-text);
	border-color: var(--nt-accent);
}
.nt-az-item__count {
	color: var(--nt-text-mute);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

/* ---------------- Pagination ---------------- */
.nt-pagination {
	margin: 36px 0 8px;
	display: flex;
	justify-content: center;
}
.nt-pagination .nav-links {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	align-items: center;
}
.nt-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: var(--nt-radius-sm);
	background: var(--nt-card);
	border: 1px solid var(--nt-border);
	color: var(--nt-text-dim);
	font-size: 13px;
	font-weight: 500;
}
.nt-pagination .page-numbers:hover { color: var(--nt-text); border-color: var(--nt-accent); }
.nt-pagination .page-numbers.current {
	background: var(--nt-accent);
	border-color: var(--nt-accent);
	color: #fff;
}

/* ---------------- Footer ---------------- */
.nt-footer {
	border-top: 1px solid var(--nt-border);
	background: var(--nt-bg-2);
	margin-top: 60px;
}
.nt-footer__inner {
	max-width: var(--nt-max);
	margin: 0 auto;
	padding: 36px 20px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 24px;
	align-items: start;
}
.nt-footer__brand strong { font-size: 16px; }
.nt-footer__brand p { color: var(--nt-text-mute); margin: 6px 0 0; font-size: 13px; }
.nt-footer__list {
	display: flex;
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.nt-footer__list a { color: var(--nt-text-dim); font-size: 13px; }
.nt-footer__list a:hover { color: var(--nt-accent); }
.nt-footer__legal {
	grid-column: 1 / -1;
	color: var(--nt-text-mute);
	font-size: 12px;
	border-top: 1px solid var(--nt-border);
	padding-top: 18px;
	margin: 0;
}

/* ---------------- Responsive ---------------- */
@media (max-width: 1280px) {
	.nt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.nt-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nt-az-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

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

	.nt-header__inner {
		grid-template-columns: auto auto;
	}
	.nt-burger { display: inline-flex; order: 2; justify-self: end; }

	.nt-nav {
		display: none;
		order: 4;
		grid-column: 1 / -1;
	}
	.nt-nav.is-open { display: block; }
	.nt-nav__list {
		flex-direction: column;
		gap: 2px;
		padding: 6px 0 4px;
	}
	.nt-nav__list a {
		width: 100%;
		padding: 12px 16px;
		border-radius: var(--nt-radius-sm);
	}

	.nt-single__title { font-size: 20px; }
}

@media (max-width: 600px) {
	.nt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.nt-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.nt-az-grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }

	.nt-section { padding: 24px 0 4px; }
	.nt-section__title { font-size: 17px; }

	.nt-card__title { font-size: 13px; }
	.nt-card__meta { font-size: 11px; gap: 8px; }

	.nt-footer__inner { grid-template-columns: 1fr; }
}

/* --- Customizable logo (added in 1.2.0) --- */
.nt-logo--image { display:inline-flex; align-items:center; }
.nt-logo--image img { display:block; max-width:100%; object-fit:contain; }
.nt-logo__mark:empty { display:none; }

/* ============================================================
 * v1.3 — Hero CTA, CTA buttons, ad slots, category thumbnails
 * ============================================================ */

.nt-hero{position:relative;padding:48px 0 24px;background:radial-gradient(1200px 400px at 20% 0%,rgba(255,46,99,.18),transparent 60%),radial-gradient(900px 360px at 90% 0%,rgba(80,80,255,.15),transparent 60%)}
.nt-hero__inner{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.nt-hero__title{font-size:clamp(28px,4.2vw,52px);line-height:1.05;margin:0;letter-spacing:-.02em}
.nt-hero__sub{margin:0;color:var(--nt-muted,#aaa);max-width:60ch;font-size:16px}
.nt-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}

.nt-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none;font-size:15px;line-height:1;transition:transform .15s ease,filter .15s ease,background .15s ease;white-space:nowrap}
.nt-cta__icon{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;font-size:11px}
.nt-cta__arrow{opacity:.85;transition:transform .2s ease}
.nt-cta:hover .nt-cta__arrow{transform:translateX(3px)}
.nt-cta:hover{filter:brightness(1.08)}
.nt-cta--primary,.nt-cta--hero,.nt-cta--band{background:linear-gradient(135deg,#ff2e63,#ff5e3a);color:#fff;box-shadow:0 8px 22px -8px rgba(255,46,99,.55)}
.nt-cta--hero{padding:14px 22px;font-size:16px}
.nt-cta--ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.12)}
.nt-cta--ghost:hover{background:rgba(255,255,255,.1)}
.nt-cta--inline{background:#fff;color:#0b0b0b}

.nt-cta-band{margin-top:24px;padding:18px 22px;border-radius:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(255,46,99,.16),rgba(80,80,255,.14));border:1px solid rgba(255,255,255,.08)}
.nt-cta-band strong{display:block;font-size:18px}
.nt-cta-band span{display:block;color:var(--nt-muted,#bbb);font-size:14px;margin-top:2px}

.nt-single__actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 6px}

/* Ads */
.nt-ad{margin:18px 0;padding:10px;border:1px dashed rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.02);text-align:center;overflow:hidden}
.nt-ad__label{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#777;margin-bottom:6px}
.nt-ad__body{display:flex;justify-content:center;align-items:center;min-height:60px}
.nt-ad__body iframe,.nt-ad__body img,.nt-ad__body video{max-width:100%}
.nt-ad-wrap{padding-left:16px;padding-right:16px}
.nt-grid__ad{grid-column:1/-1}
.nt-grid__ad .nt-ad{margin:6px 0}

/* Cards — play overlay + CTA */
.nt-card{position:relative}
.nt-card__thumb{position:relative;overflow:hidden}
.nt-card__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,background .2s ease;background:rgba(0,0,0,.35);color:#fff;pointer-events:none}
.nt-card:hover .nt-card__play{opacity:1}
.nt-card__play svg{filter:drop-shadow(0 4px 10px rgba(0,0,0,.6));transform:scale(1);transition:transform .25s ease}
.nt-card:hover .nt-card__play svg{transform:scale(1.18)}
.nt-card__cta{position:absolute;left:8px;bottom:8px;background:linear-gradient(135deg,#ff2e63,#ff5e3a);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:6px;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}
.nt-card:hover .nt-card__cta{opacity:1;transform:translateY(0)}

/* Category tiles with thumbnails */
.nt-cat-tile{position:relative;overflow:hidden;isolation:isolate}
.nt-cat-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .4s ease;filter:saturate(.9)}
.nt-cat-tile:hover .nt-cat-tile__img{transform:scale(1.06)}
.nt-cat-tile__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.55) 65%,rgba(0,0,0,.85) 100%)}
.nt-cat-tile--has-thumb .nt-cat-tile__name,
.nt-cat-tile--has-thumb .nt-cat-tile__count{position:relative;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.nt-cat-tile__name{font-weight:700}
.nt-cat-tile__count{opacity:.9;font-size:12px}

@media (max-width:640px){
	.nt-cta-band{flex-direction:column;align-items:flex-start}
	.nt-hero{padding:28px 0 12px}
}

/* ============================================================
 * v2.2 — Responsive logo, Shorts, Actor profiles, polish
 * ============================================================ */

:root{
	--nt-logo-h-desktop: 48px;
	--nt-logo-h-tablet: 42px;
	--nt-logo-h-mobile: 34px;
}

.nt-skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:8px 12px;z-index:9999}
.nt-skip-link:focus{left:8px;top:8px}

/* --- Logo sizing (image + text) --- */
.nt-logo{min-height:var(--nt-logo-h-desktop);align-items:center}
.nt-logo--image img{height:var(--nt-logo-h-desktop);max-height:var(--nt-logo-h-desktop);width:auto;max-width:240px;object-fit:contain}
.nt-logo__mark{width:calc(var(--nt-logo-h-desktop) * .72);height:calc(var(--nt-logo-h-desktop) * .72);border-radius:10px;font-size:calc(var(--nt-logo-h-desktop) * .4)}
.nt-logo__text{font-size:clamp(15px, calc(var(--nt-logo-h-desktop) * .42), 22px);white-space:nowrap}

@media (max-width:900px){
	.nt-logo{min-height:var(--nt-logo-h-tablet)}
	.nt-logo--image img{height:var(--nt-logo-h-tablet);max-height:var(--nt-logo-h-tablet);max-width:180px}
	.nt-logo__mark{width:calc(var(--nt-logo-h-tablet) * .72);height:calc(var(--nt-logo-h-tablet) * .72);font-size:calc(var(--nt-logo-h-tablet) * .4)}
	.nt-logo__text{font-size:calc(var(--nt-logo-h-tablet) * .42)}
}
@media (max-width:560px){
	.nt-logo{min-height:var(--nt-logo-h-mobile)}
	.nt-logo--image img{height:var(--nt-logo-h-mobile);max-height:var(--nt-logo-h-mobile);max-width:150px}
	.nt-logo__mark{width:calc(var(--nt-logo-h-mobile) * .8);height:calc(var(--nt-logo-h-mobile) * .8);font-size:calc(var(--nt-logo-h-mobile) * .42)}
	.nt-logo__text{font-size:calc(var(--nt-logo-h-mobile) * .46)}
}

/* prevent horizontal overflow on mobile */
html,body{overflow-x:hidden;max-width:100%}
.nt-header__inner{min-width:0}

/* --- Card badges --- */
.nt-card__badge{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.78);color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;padding:3px 7px;border-radius:4px;z-index:2}
.nt-card__badge--short{background:linear-gradient(135deg,var(--nt-accent),#ff5e3a)}

/* keep the card from layout-jumping when meta is missing */
.nt-card__body{min-height:54px}

/* meta chips on single page */
.nt-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:var(--nt-card);border:1px solid var(--nt-border);color:var(--nt-text-dim);font-size:12.5px}

/* section sub-title for shorts */
.nt-section__subtitle{font-size:15px;color:var(--nt-text-dim);margin:-8px 0 14px;font-weight:500}
.nt-section__sub{margin:4px 0 0;color:var(--nt-text-mute);font-size:13px}

/* --- Shorts (TikTok-style horizontal rail) --- */
.nt-shorts{position:relative}
.nt-shorts__track{
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:minmax(180px, 200px);
	gap:14px;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	padding:4px 2px 14px;
	-webkit-overflow-scrolling:touch;
}
.nt-shorts__track::-webkit-scrollbar{display:none}
.nt-shorts__track > .nt-card{scroll-snap-align:start}
.nt-card--short .nt-card__thumb{aspect-ratio:9/16;border-radius:14px}
.nt-card--short .nt-card__title{font-size:13px;-webkit-line-clamp:2}
.nt-shorts__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--nt-border);background:rgba(8,8,8,.86);color:#fff;font-size:22px;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:3;backdrop-filter:blur(8px)}
.nt-shorts__nav:hover{border-color:var(--nt-accent);color:var(--nt-accent)}
.nt-shorts__nav--prev{left:-8px}
.nt-shorts__nav--next{right:-8px}
@media (hover:hover) and (min-width:900px){
	.nt-shorts__nav{display:flex}
}

/* --- Actor profile hero --- */
.nt-actor-hero{padding-top:30px}
.nt-actor-hero__inner{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start}
.nt-actor-hero__avatar{aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--nt-card);position:relative;display:grid;place-items:center}
.nt-actor-hero__avatar img{width:100%;height:100%;object-fit:cover}
.nt-actor-hero__avatar span{font-size:80px;font-weight:800;color:rgba(255,255,255,.45)}
.nt-actor-hero__name{font-size:clamp(26px,4vw,42px);margin:0 0 14px;letter-spacing:-.02em}
.nt-actor-hero__stats{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:14px}
.nt-actor-hero__stats > div{background:var(--nt-card);border:1px solid var(--nt-border);border-radius:12px;padding:10px 14px;min-width:90px;display:flex;flex-direction:column;gap:2px}
.nt-actor-hero__stats strong{font-size:18px;color:var(--nt-text)}
.nt-actor-hero__stats span{font-size:11.5px;color:var(--nt-text-mute);text-transform:uppercase;letter-spacing:.08em}
.nt-actor-hero__bio{color:var(--nt-text-dim);max-width:65ch;line-height:1.6;margin-bottom:14px}
.nt-actor-hero__socials{display:flex;flex-wrap:wrap;gap:8px}
.nt-actor-hero__socials a{padding:6px 12px;border-radius:999px;background:var(--nt-card);border:1px solid var(--nt-border);color:var(--nt-text-dim);font-size:12.5px}
.nt-actor-hero__socials a:hover{border-color:var(--nt-accent);color:var(--nt-text)}

@media (max-width:700px){
	.nt-actor-hero__inner{grid-template-columns:120px 1fr;gap:18px}
}

/* --- Actor cards grid --- */
.nt-actor-grid{display:grid;grid-template-columns:repeat(6, minmax(0,1fr));gap:14px}
.nt-actor-card{background:var(--nt-card);border:1px solid var(--nt-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;color:var(--nt-text);transition:transform .15s,border-color .15s}
.nt-actor-card:hover{transform:translateY(-2px);border-color:var(--nt-accent);color:var(--nt-text)}
.nt-actor-card__img{aspect-ratio:3/4;position:relative;overflow:hidden;display:grid;place-items:center}
.nt-actor-card__img img{width:100%;height:100%;object-fit:cover}
.nt-actor-card__img span{font-size:42px;font-weight:800;color:rgba(255,255,255,.45)}
.nt-actor-card__body{padding:10px 12px}
.nt-actor-card__name{font-size:14px;font-weight:600;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-actor-card__count{font-size:11.5px;color:var(--nt-text-mute)}
@media (max-width:1100px){.nt-actor-grid{grid-template-columns:repeat(4, minmax(0,1fr))}}
@media (max-width:700px){.nt-actor-grid{grid-template-columns:repeat(3, minmax(0,1fr))}}
@media (max-width:480px){.nt-actor-grid{grid-template-columns:repeat(2, minmax(0,1fr))}}

/* --- Performers index toolbar --- */
.nt-actor-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:8px 0 24px;background:var(--nt-card);border:1px solid var(--nt-border);border-radius:14px;padding:10px 14px}
.nt-actor-search{flex:1;min-width:200px;background:transparent;border:0;color:var(--nt-text);font-size:14px;padding:6px 0;outline:none}
.nt-az-jumper{display:flex;flex-wrap:wrap;gap:4px}
.nt-az-jumper__l{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:6px;background:rgba(255,255,255,.04);color:var(--nt-text-dim);font-size:12.5px;font-weight:600}
.nt-az-jumper__l:hover{background:var(--nt-accent);color:#fff}
.nt-az-jumper__l.is-disabled{opacity:.25;pointer-events:none}

.nt-tags--cloud .nt-tag{font-size:13px}

/* --- Mobile nav body lock --- */
body.nt-nav-open{overflow:hidden}

/* --- Empty state polish --- */
.nt-empty-state .nt-empty{padding:18px 0 22px}

/* --- Premium polish --- */
.nt-card__thumb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.nt-card__thumb img{will-change:transform}
.nt-section__head{align-items:center}

/* slight refined accent */
.nt-card:hover .nt-card__title{color:#fff}

/* better focus outlines */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--nt-accent);outline-offset:2px;border-radius:6px}
