/*
 * FCT Filmmaker Directory Styles
 * Seamless cinematic website section.
 */

/* Neve spacing cleanup, scoped only to filmmaker pages */
body.fct-filmmaker-cinematic-page .neve-main,
body.fct-filmmaker-cinematic-page .site-content,
body.fct-filmmaker-cinematic-page .nv-single-page-wrap,
body.fct-filmmaker-cinematic-page .nv-content-wrap,
body.fct-filmmaker-cinematic-page .container.single-page-container,
body.fct-filmmaker-cinematic-page .nv-single-page-wrap > .container,
body.fct-filmmaker-cinematic-page main,
body.fct-filmmaker-cinematic-page article,
body.fct-filmmaker-cinematic-page .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.fct-filmmaker-cinematic-page .entry-content {
	max-width: none !important;
	width: 100% !important;
}

body.fct-filmmaker-cinematic-page .entry-content > :first-child {
	margin-top: 0 !important;
}

body.fct-filmmaker-cinematic-page .entry-content > :last-child {
	margin-bottom: 0 !important;
}

body.fct-filmmaker-cinematic-page .nv-post-cover,
body.fct-filmmaker-cinematic-page .nv-page-title-wrap {
	display: none !important;
}

.fct-directory,
.fct-directory-profile-form {
	width: 100%;
	color: var(--fct-white);
	background: var(--fct-black);
}

.fct-seamless-cinematic {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--fct-black);
}

/* Hero */

.fct-cinema-hero {
	position: relative;
	min-height: 460px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--nsff-bg);
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.fct-cinema-hero-bg {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.50), rgba(0,0,0,.90)),
		linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.82)),
		url("https://images.unsplash.com/photo-1516035069371-29a1b244cc32?auto=format&fit=crop&w=1800&q=80");
	background-size: cover;
	background-position: center;
	opacity: .82;
}

.fct-cinema-hero-profile .fct-cinema-hero-bg {
	background:
		linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.50), rgba(0,0,0,.90)),
		linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.82)),
		url("https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=1800&q=80");
	background-size: cover;
	background-position: center;
}

.fct-cinema-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
		linear-gradient(0deg, rgba(255,255,255,.018) 1px, transparent 1px);
	background-size: 38px 38px;
	opacity: .38;
	pointer-events: none;
}

.fct-cinema-hero-inner {
	position: relative;
	z-index: 2;
	width: min(1180px, calc(100vw - 48px));
	margin: 0 auto;
	padding: clamp(72px, 8vw, 118px) 0;
}

.fct-cinema-copy {
	max-width: 720px;
	text-align: left;
}

.fct-cinema-kicker {
	margin: 0 0 18px;
	color: var(--fct-gold);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .26em;
	text-transform: uppercase;
}

.fct-cinema-hero h2 {
	margin: 0;
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(46px, 7vw, 84px);
	line-height: .98;
	font-weight: 900;
	letter-spacing: -.045em;
	text-shadow: 0 14px 38px rgba(0,0,0,.62);
}

.fct-cinema-hero p {
	max-width: 640px;
	margin: 22px 0 0;
	color: rgba(255,255,255,.80);
	font-size: clamp(15px, 1.6vw, 19px);
	line-height: 1.65;
	letter-spacing: .02em;
}

.fct-cinema-hero .fct-btn {
	margin-top: 28px;
}

/* Content */

.fct-cinema-content {
	width: min(1180px, calc(100vw - 48px));
	margin: 0 auto;
	padding: 58px 0 78px;
}

.fct-cinema-section-heading {
	margin: 0 0 26px;
	text-align: center;
}

.fct-cinema-section-heading h3 {
	margin: 0 0 10px;
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 850;
	letter-spacing: -.03em;
}

.fct-cinema-section-heading p {
	margin: 0 auto;
	max-width: 680px;
	color: #a3a3a3;
	font-size: 15px;
	line-height: 1.6;
}

/* Notice */

.fct-directory > .fct-cinema-content > .fct-notice,
.fct-directory > .fct-notice {
	border-color: rgba(217,180,71,.18);
}

/* Search */

.fct-directory-toolbar {
	position: sticky;
	top: 12px;
	z-index: 8;
	margin-bottom: 34px;
	padding: 12px;
	background: rgba(12,12,13,.92);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 8px;
	box-shadow: 0 20px 45px rgba(0,0,0,.32);
	backdrop-filter: blur(10px);
}

.fct-directory-toolbar:before {
	content: "Search";
	position: absolute;
	left: 28px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	color: var(--fct-gold-2);
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .18em;
	text-transform: uppercase;
	pointer-events: none;
}

.fct-directory-search {
	min-height: 52px;
	padding-left: 98px;
	background: var(--nsff-bg);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 4px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
}

/* Directory cards */

.fct-directory-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 26px;
}

.fct-directory-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	background: var(--nsff-surface);
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 0;
	box-shadow: 0 22px 50px rgba(0,0,0,.34);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.fct-directory-card:hover {
	transform: translateY(-5px);
	border-color: rgba(217,180,71,.55);
	box-shadow: 0 30px 72px rgba(0,0,0,.46);
}

.fct-directory-headshot {
	position: relative;
	aspect-ratio: 3 / 4;
	background: #1a1a1c;
	overflow: hidden;
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.fct-directory-headshot:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 48%;
	background: linear-gradient(180deg, transparent, rgba(0,0,0,.72));
	pointer-events: none;
}

.fct-directory-headshot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(.08) contrast(1.05);
	transition: transform .28s ease, filter .28s ease;
}

.fct-directory-card:hover .fct-directory-headshot img {
	transform: scale(1.035);
	filter: grayscale(0) contrast(1.06);
}

.fct-directory-headshot-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 72px;
	font-weight: 950;
	color: var(--fct-gold);
	background:
		linear-gradient(135deg, var(--nsff-surface), #252525),
		radial-gradient(circle at top right, rgba(217,180,71,.18), transparent 30%);
}

.fct-directory-card-body {
	position: relative;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.fct-directory-card-body h3 {
	margin: 0;
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	line-height: 1.05;
	font-weight: 850;
	letter-spacing: -.03em;
}

.fct-directory-card-body .fct-muted {
	font-size: 12px;
	font-weight: 800;
	color: #9f9f9f;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.fct-directory-card-body p {
	margin: 0;
	color: #bebebe;
	line-height: 1.6;
	font-size: 14px;
}

.fct-directory-primary-role {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding: 6px 9px;
	background: var(--fct-gold);
	color: var(--nsff-bg);
	border-radius: 2px;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.fct-directory-roles {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--fct-gold-2);
	font-size: 13px;
	line-height: 1.55;
	font-weight: 650;
}

.fct-directory-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
}

.fct-directory-actions .fct-btn {
	min-height: 42px;
	padding: 10px 12px;
	font-size: 11px;
}

.fct-directory-actions .fct-btn:first-child:last-child {
	grid-column: 1 / -1;
}

.fct-directory-card.is-hidden {
	display: none;
}

/* Profile form */

.fct-profile-status-row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 22px;
	padding: 16px 18px;
	background: var(--nsff-surface);
	border: 1px solid rgba(255,255,255,.10);
	border-left: 4px solid var(--fct-gold);
	border-radius: 0;
	box-shadow: var(--fct-shadow-soft);
}

.fct-profile-status-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 10px;
	border-radius: 2px;
	font-size: 11px;
	line-height: 1;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .14em;
}

.fct-profile-status-badge.is-approved {
	background: #d1fae5;
	color: #064e3b;
}

.fct-profile-status-badge.is-pending {
	background: #fef3c7;
	color: #78350f;
}

.fct-profile-status-badge.is-hidden {
	background: #27272a;
	color: #e4e4e7;
}

.fct-profile-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin-bottom: 20px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 0;
	overflow: hidden;
}

.fct-profile-step {
	border: 0;
	background: #0f0f10;
	color: #b5b5b5;
	padding: 14px 12px;
	font: inherit;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	text-align: center;
	transition: background .16s ease, color .16s ease;
}

.fct-profile-step:hover {
	background: var(--nsff-surface-2);
	color: #ffffff;
}

.fct-profile-step.is-active {
	background: var(--fct-gold);
	color: var(--nsff-bg);
}

.fct-profile-save-message {
	min-height: 24px;
	margin-bottom: 14px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 800;
	color: #d8d8d8;
}

.fct-profile-save-message.is-success {
	color: #86efac;
}

.fct-profile-save-message.is-error {
	color: #fca5a5;
}

.fct-profile-step-panel {
	display: none;
}

.fct-profile-step-panel.is-active {
	display: block;
}

.fct-directory-profile-form .fct-panel {
	background: var(--nsff-surface);
	border-radius: 0;
	border-color: rgba(255,255,255,.10);
}

.fct-directory-profile-form .fct-panel h3 {
	position: relative;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255,255,255,.10);
}

.fct-directory-profile-form .fct-panel h3:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 80px;
	height: 2px;
	background: var(--fct-gold);
}

.fct-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.fct-field {
	margin: 0 0 18px;
}

.fct-field-full {
	grid-column: 1 / -1;
}

.fct-field label,
.fct-directory-profile-form .fct-field > label {
	display: block;
	margin: 0 0 8px;
	color: #efefef;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 850;
	letter-spacing: .02em;
}

.fct-check-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
	gap: 10px;
}

.fct-check-card {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	padding: 12px 13px;
	border: 1px solid rgba(255,255,255,.11);
	background: var(--nsff-bg-soft);
	color: #d0d0d0;
	font-size: 13px;
	line-height: 1.45;
	font-weight: 650;
	cursor: pointer;
	transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.fct-check-card:hover {
	border-color: rgba(217,180,71,.52);
	background: #121214;
	color: #ffffff;
}

.fct-check-card input {
	margin-top: 2px;
	accent-color: var(--fct-gold);
}

.fct-media-layout {
	display: grid;
	grid-template-columns: minmax(200px, 310px) 1fr;
	gap: 28px;
	align-items: start;
}

.fct-profile-headshot-preview {
	aspect-ratio: 3 / 4;
	border: 1px solid rgba(255,255,255,.12);
	background: var(--nsff-bg-soft);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #a3a3a3;
	font-size: 13px;
	font-weight: 800;
	text-align: center;
	padding: 18px;
}

.fct-profile-headshot-preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fct-check-list {
	display: grid;
	gap: 12px;
}

.fct-switch-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px 16px;
	border: 1px solid rgba(255,255,255,.11);
	background: var(--nsff-bg-soft);
	cursor: pointer;
	transition: border-color .16s ease, background .16s ease;
}

.fct-switch-row:hover {
	border-color: rgba(217,180,71,.52);
	background: #121214;
}

.fct-switch-row input {
	margin-top: 3px;
	accent-color: var(--fct-gold);
}

.fct-switch-row strong {
	display: block;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 850;
}

.fct-switch-row small {
	display: block;
	color: #a3a3a3;
	font-size: 12px;
	line-height: 1.5;
	margin-top: 3px;
}

.fct-profile-form-footer {
	position: sticky;
	bottom: 14px;
	z-index: 5;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 24px;
	padding: 12px;
	background: rgba(5,5,5,.9);
	border: 1px solid rgba(255,255,255,.12);
	box-shadow: 0 22px 60px rgba(0,0,0,.45);
	backdrop-filter: blur(12px);
}

/* Empty state */

.fct-directory .fct-panel {
	text-align: center;
}

/* Responsive */

@media (max-width: 900px) {
	.fct-cinema-copy {
		text-align: center;
		margin: 0 auto;
	}

	.fct-directory-grid {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	}

	.fct-profile-steps {
		grid-template-columns: 1fr 1fr;
	}

	.fct-form-grid,
	.fct-media-layout {
		grid-template-columns: 1fr;
	}

	.fct-profile-form-footer {
		justify-content: stretch;
	}

	.fct-profile-form-footer .fct-btn {
		flex: 1 1 auto;
	}
}

@media (max-width: 700px) {
	.fct-cinema-hero {
		min-height: 390px;
	}

	.fct-cinema-hero-inner,
	.fct-cinema-content {
		width: min(100vw - 28px, 1180px);
	}

	.fct-cinema-hero-inner {
		padding: 56px 0;
	}

	.fct-cinema-content {
		padding: 38px 0 52px;
	}

	.fct-directory-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.fct-directory-actions {
		grid-template-columns: 1fr;
	}

	.fct-directory-search {
		padding-left: 16px;
		padding-top: 34px;
		min-height: 70px;
	}

	.fct-directory-toolbar:before {
		left: 28px;
		top: 19px;
		transform: none;
	}

	.fct-profile-steps {
		grid-template-columns: 1fr;
	}

	.fct-profile-step {
		text-align: left;
	}

	.fct-check-grid {
		grid-template-columns: 1fr;
	}

	.fct-profile-form-footer {
		position: static;
	}

	.fct-profile-form-footer .fct-btn {
		width: 100%;
	}
}

/* Use the actual WordPress site logo as the filmmaker directory icon. */

.fct-seamless-cinematic .fct-cinema-hero {
	margin-top: 0;
}

@media (max-width: 782px) {
	
}

@media (max-width: 760px) {
	

	

	

	

	

	
}

/* Logo treatment */

/* Fallback star treatment */

/* Header link hover */

/* Keep Back to NSFF gold */

/* Hero NSFF label */
.fct-cinema-kicker,
.fct-casting-kicker {
	color: var(--fct-icy-blue);
}

/* Subtle icy glow over the hero */
.fct-cinema-hero:after,
.fct-casting-hero:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(circle at 18% 30%, rgba(215, 236, 251, .13), transparent 30%),
		radial-gradient(circle at 76% 20%, rgba(166, 197, 231, .08), transparent 24%);
	pointer-events: none;
}

/* Make sure hero content stays above the glow */
.fct-cinema-hero-inner,
.fct-casting-hero-inner {
	position: relative;
	z-index: 2;
}

/* Search label */
.fct-directory-toolbar:before {
	color: var(--fct-icy-blue-2);
}

/* Form focus */
.fct-input:focus {
	border-color: var(--fct-icy-blue-2);
	box-shadow: 0 0 0 3px rgba(166, 197, 231, .18);
}

/* Card hover */
.fct-directory-card:hover {
	border-color: rgba(166, 197, 231, .70);
	box-shadow: 0 30px 72px rgba(0,0,0,.46), 0 0 24px rgba(166,197,231,.08);
}

/* Role text and soft accents */
.fct-directory-roles {
	color: var(--fct-icy-blue-2);
}

/* Role badge keeps the cinematic gold, but with softer contrast */
.fct-directory-primary-role {
	background: var(--fct-gold);
	color: var(--nsff-bg);
}

/* Panel underline */
.fct-directory-profile-form .fct-panel h3:after {
	background: var(--fct-icy-blue-2);
}

/* Profile step hover */
.fct-profile-step:hover {
	color: var(--fct-icy-blue);
	background: rgba(215, 236, 251, .08);
}

/* Active step can stay gold, but the text/edge is cleaner */
.fct-profile-step.is-active {
	background: var(--fct-gold);
	color: var(--nsff-bg);
}

/* Status/message accent */
.fct-profile-status-row {
	border-left-color: var(--fct-icy-blue-2);
}

/* Checkbox/card hover */
.fct-check-card:hover,
.fct-switch-row:hover {
	border-color: rgba(166, 197, 231, .58);
	background: rgba(215, 236, 251, .06);
}

/* Save footer subtle blue edge */
.fct-profile-form-footer {
	border-color: rgba(166, 197, 231, .20);
}

/* Steel industrial accent layer.
 * Replaces the gold-heavy cinematic accents with a colder industrial NSFF palette.
 */
:root {
	--fct-gold: var(--nsff-ice-2);
	--fct-gold-2: #d7ecfb;
	--fct-industrial-black: #050607;
	--fct-gunmetal: #111820;
	--fct-gunmetal-2: #182430;
	--fct-steel: #6f7f8f;
	--fct-steel-light: #b7c3cf;
	--fct-ice: #d7ecfb;
	--fct-ice-2: var(--nsff-ice-2);
	--fct-cyan: #67e8f9;
	--fct-cyan-dark: #0891b2;
}

/* Header base */

/* Fallback star treatment */

/* Header links */

/* Replace gold CTA with steel/ice CTA */

/* Hero labels and cold glow */
.fct-cinema-kicker,
.fct-casting-kicker {
	color: var(--fct-cyan);
}

.fct-cinema-hero:after,
.fct-casting-hero:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(circle at 16% 30%, rgba(103, 232, 249, .12), transparent 30%),
		radial-gradient(circle at 74% 18%, rgba(166, 197, 231, .09), transparent 24%),
		linear-gradient(90deg, rgba(5,6,7,.08), rgba(17,24,32,.18));
	pointer-events: none;
}

/* Make sure hero content stays above the glow */
.fct-cinema-hero-inner,
.fct-casting-hero-inner {
	position: relative;
	z-index: 2;
}

/* Search */
.fct-directory-toolbar {
	border-color: rgba(166, 197, 231, .16);
	background: rgba(10, 14, 18, .94);
}

.fct-directory-toolbar:before {
	color: var(--fct-cyan);
}

.fct-directory-search {
	background: #080b0f;
	border-color: rgba(166, 197, 231, .18);
	color: #ffffff;
}

.fct-directory-search:focus {
	border-color: rgba(103, 232, 249, .70);
	box-shadow: 0 0 0 3px rgba(103, 232, 249, .12);
}

/* Forms */
.fct-input:focus {
	border-color: var(--fct-cyan);
	box-shadow: 0 0 0 3px rgba(103, 232, 249, .14);
}

.fct-directory-profile-form .fct-panel h3:after {
	background: var(--fct-cyan);
}

/* Cards */
.fct-directory-card {
	background: linear-gradient(180deg, #12171d, #0d1116);
	border-color: rgba(166, 197, 231, .12);
}

.fct-directory-card:hover {
	border-color: rgba(103, 232, 249, .55);
	box-shadow: 0 30px 72px rgba(0,0,0,.46), 0 0 24px rgba(103,232,249,.08);
}

.fct-directory-headshot-placeholder {
	color: var(--fct-ice);
	background:
		linear-gradient(135deg, #111820, #1e2935),
		radial-gradient(circle at top right, rgba(103,232,249,.16), transparent 30%);
}

/* Replace role badge gold with industrial steel */
.fct-directory-primary-role {
	background: rgba(166, 197, 231, .14);
	color: var(--fct-ice);
	border: 1px solid rgba(166, 197, 231, .28);
}

.fct-directory-roles {
	color: var(--fct-cyan);
}

/* Profile steps */
.fct-profile-step:hover {
	color: var(--fct-cyan);
	background: rgba(103, 232, 249, .08);
}

.fct-profile-step.is-active {
	background: linear-gradient(135deg, var(--fct-ice), var(--fct-ice-2));
	color: #050607;
}

/* Status/message accent */
.fct-profile-status-row {
	border-left-color: var(--fct-cyan);
}

/* Checkbox/card hover */
.fct-check-card:hover,
.fct-switch-row:hover {
	border-color: rgba(103, 232, 249, .48);
	background: rgba(103, 232, 249, .06);
}

/* Save footer subtle steel edge */
.fct-profile-form-footer {
	border-color: rgba(166, 197, 231, .20);
}

/* Secondary buttons should feel like steel, not gold */
.fct-btn-secondary {
	background: rgba(166, 197, 231, .08);
	color: var(--fct-ice) !important;
	border-color: rgba(166, 197, 231, .24);
}

.fct-btn-secondary:hover {
	background: rgba(103, 232, 249, .10);
	color: #ffffff !important;
	border-color: rgba(103, 232, 249, .42);
}

/* Theme-menu integration.
 * The plugin no longer creates or hides any header/navigation.
 * Use a Neve FSE template with your logo and a Filmmaker Directory menu.
 */
body.fct-filmmaker-page .fct-seamless-cinematic,
body.fct-filmmaker-page .fct-industrial-pro,
body.fct-filmmaker-page .fct-directory,
body.fct-filmmaker-page .fct-directory-profile-form {
	margin-top: 0;
}

/* Keep the directory area clean below the theme header. */
body.fct-filmmaker-page .entry-content > :first-child {
	margin-top: 0 !important;
}

/* Public individual filmmaker profile page */
.fct-public-profile {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--fct-black);
	color: var(--fct-white);
}

.fct-public-profile-hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--nsff-bg);
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.fct-public-profile-hero-bg {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0,0,0,.94), rgba(0,0,0,.58), rgba(0,0,0,.92)),
		linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.84)),
		url("https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=1800&q=80");
	background-size: cover;
	background-position: center;
	opacity: .82;
}

.fct-public-profile-hero-inner {
	position: relative;
	z-index: 2;
	width: min(1180px, calc(100vw - 48px));
	margin: 0 auto;
	padding: clamp(56px, 7vw, 104px) 0;
	display: grid;
	grid-template-columns: minmax(220px, 330px) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}

.fct-public-profile-photo {
	aspect-ratio: 3 / 4;
	background: var(--nsff-surface);
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: 0 28px 70px rgba(0,0,0,.42);
	overflow: hidden;
}

.fct-public-profile-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fct-public-profile-photo-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 110px;
	font-weight: 950;
	color: var(--fct-gold);
	background:
		linear-gradient(135deg, var(--nsff-surface), #252525),
		radial-gradient(circle at top right, rgba(217,180,71,.18), transparent 30%);
}

.fct-public-profile-intro h1 {
	margin: 0 0 18px;
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(46px, 7vw, 86px);
	line-height: .98;
	font-weight: 900;
	letter-spacing: -.05em;
	text-shadow: 0 14px 38px rgba(0,0,0,.62);
}

.fct-public-profile-location {
	margin: 18px 0 0;
	color: rgba(255,255,255,.80);
	font-size: 17px;
	line-height: 1.6;
}

.fct-public-profile-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.fct-public-profile-content {
	padding-top: 58px;
}

.fct-public-profile-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	gap: 28px;
	align-items: start;
}

.fct-public-profile-main,
.fct-public-profile-sidebar {
	display: grid;
	gap: 24px;
}

.fct-public-profile-bio {
	color: #d7d7d7;
	font-size: 15px;
	line-height: 1.75;
}

.fct-public-profile-bio p {
	margin-top: 0;
}

.fct-public-profile-bio p:last-child {
	margin-bottom: 0;
}

.fct-public-profile-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.fct-public-profile-detail {
	padding: 14px 15px;
	background: var(--nsff-bg-soft);
	border: 1px solid rgba(255,255,255,.10);
}

.fct-public-profile-detail span {
	display: block;
	margin-bottom: 6px;
	color: #a3a3a3;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.fct-public-profile-detail strong {
	display: block;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 750;
}

.fct-public-profile-link-list {
	display: grid;
	gap: 10px;
}

.fct-public-profile-link-list .fct-btn {
	width: 100%;
}

@media (max-width: 900px) {
	.fct-public-profile-hero-inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.fct-public-profile-photo {
		width: min(280px, 72vw);
		margin: 0 auto;
	}

	.fct-public-profile-actions {
		justify-content: center;
	}

	.fct-public-profile-grid {
		grid-template-columns: 1fr;
	}

	.fct-public-profile-detail-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.fct-public-profile-hero {
		min-height: auto;
	}

	.fct-public-profile-hero-inner,
	.fct-public-profile .fct-cinema-content {
		width: min(100vw - 28px, 1180px);
	}

	.fct-public-profile-hero-inner {
		padding: 72px 0 42px;
	}

	.fct-public-profile-photo img,
	.fct-public-profile-photo .fct-lightbox-trigger img {
		object-fit: contain;
		object-position: center center;
		background: rgba(5, 6, 7, .72);
	}

	.fct-public-profile-content {
		padding-top: 38px;
	}

	.fct-public-profile-actions .fct-btn {
		width: 100%;
	}
}

/* Cleaner tag/chip display for profile details and directory cards */
.fct-public-profile-detail-tags {
	grid-column: 1 / -1;
}

.fct-public-profile-chip-list,
.fct-directory-role-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 2px;
}

.fct-public-profile-chip-list em,
.fct-directory-role-chip-list span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 6px 10px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(166, 197, 231, .08);
	color: var(--fct-ice, #d7ecfb);
	font-size: 12px;
	line-height: 1.15;
	font-style: normal;
	font-weight: 750;
	letter-spacing: .02em;
}

.fct-directory-role-chip-list {
	margin-top: 4px;
}

.fct-directory-role-chip-list span {
	min-height: 24px;
	padding: 5px 9px;
	font-size: 11px;
	color: var(--fct-ice-2, var(--nsff-ice-2));
	background: rgba(103, 232, 249, .06);
	border-color: rgba(103, 232, 249, .18);
}

.fct-public-profile-detail-tags strong {
	display: none;
}

@media (max-width: 700px) {
	.fct-public-profile-chip-list,
	.fct-directory-role-chip-list {
		gap: 7px;
	}

	.fct-public-profile-chip-list em,
	.fct-directory-role-chip-list span {
		max-width: 100%;
	}
}

/* Compensation preference section */
.fct-compensation-panel {
	margin-top: 24px;
	background:
		linear-gradient(180deg, rgba(17, 24, 32, .96), rgba(10, 14, 18, .98));
	border-color: rgba(166, 197, 231, .16);
}

.fct-directory-compensation {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 28px;
	margin-top: 2px;
	padding: 6px 10px;
	border: 1px solid rgba(103, 232, 249, .24);
	border-radius: 999px;
	background: rgba(103, 232, 249, .07);
	color: var(--fct-cyan, #67e8f9);
	font-size: 11px;
	line-height: 1.15;
	font-weight: 850;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.fct-public-profile-content .fct-panel h3 + .fct-public-profile-detail-grid .fct-public-profile-detail strong {
	overflow-wrap: anywhere;
}

/* Current availability helper text */
.fct-field > .fct-muted + .fct-check-grid {
	margin-top: 10px;
}

/* Multiple work preference chips */
.fct-compensation-panel .fct-field-full .fct-muted + .fct-check-grid {
	margin-top: 10px;
}

.fct-directory-compensation-list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 2px;
}

.fct-directory-compensation-list span {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 5px 9px;
	border: 1px solid rgba(103, 232, 249, .24);
	border-radius: 999px;
	background: rgba(103, 232, 249, .07);
	color: var(--fct-cyan, #67e8f9);
	font-size: 10px;
	line-height: 1.15;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
}

@media (max-width: 700px) {
	.fct-directory-compensation-list {
		gap: 6px;
	}
}

/* Multi-file media slots */
.fct-media-slot-group {
	display: grid;
	gap: 14px;
	margin-bottom: 26px;
	padding: 18px;
	border: 1px solid rgba(166, 197, 231, .14);
	background: rgba(255,255,255,.025);
}

.fct-media-slot-group h4 {
	margin: 0;
	color: #ffffff;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 850;
}

.fct-media-slot-group > .fct-muted {
	margin-top: -8px;
}

.fct-media-slot {
	display: grid;
	gap: 9px;
	padding: 14px;
	border: 1px solid rgba(255,255,255,.10);
	background: rgba(0,0,0,.22);
}

.fct-media-slot > label {
	color: #efefef;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 850;
}

.fct-media-current {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 10px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(166, 197, 231, .04);
}

.fct-media-current img {
	width: 54px;
	height: 72px;
	object-fit: cover;
	border: 1px solid rgba(255,255,255,.12);
}

.fct-media-current a {
	color: var(--fct-ice, #d7ecfb);
	font-size: 13px;
	font-weight: 750;
}

.fct-media-current label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #d0d0d0;
	font-size: 12px;
	font-weight: 650;
}

.fct-public-profile-headshot-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 14px;
}

.fct-public-profile-headshot-grid a {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.12);
	background: var(--nsff-bg-soft);
}

.fct-public-profile-headshot-grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .2s ease;
}

.fct-public-profile-headshot-grid a:hover img {
	transform: scale(1.035);
}

@media (max-width: 700px) {
	.fct-media-slot-group,
	.fct-media-slot {
		padding: 12px;
	}

	.fct-public-profile-headshot-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Strong dark form field fix for theme/browser overrides */
.fct-directory-profile-form .fct-input,
.fct-directory-profile-form input[type="text"],
.fct-directory-profile-form input[type="email"],
.fct-directory-profile-form input[type="url"],
.fct-directory-profile-form input[type="number"],
.fct-directory-profile-form input[type="tel"],
.fct-directory-profile-form input[type="file"],
.fct-directory-profile-form select,
.fct-directory-profile-form textarea {
	background: #080b0f !important;
	color: #ffffff !important;
	border-color: rgba(166, 197, 231, .22) !important;
	caret-color: #ffffff;
	box-shadow: none;
}

.fct-directory-profile-form .fct-input:focus,
.fct-directory-profile-form input[type="text"]:focus,
.fct-directory-profile-form input[type="email"]:focus,
.fct-directory-profile-form input[type="url"]:focus,
.fct-directory-profile-form input[type="number"]:focus,
.fct-directory-profile-form input[type="tel"]:focus,
.fct-directory-profile-form input[type="file"]:focus,
.fct-directory-profile-form select:focus,
.fct-directory-profile-form textarea:focus {
	background: #050607 !important;
	color: #ffffff !important;
	border-color: var(--fct-cyan, #67e8f9) !important;
	box-shadow: 0 0 0 3px rgba(103, 232, 249, .14) !important;
}

.fct-directory-profile-form .fct-input::placeholder,
.fct-directory-profile-form textarea::placeholder,
.fct-directory-profile-form input::placeholder {
	color: var(--nsff-muted) !important;
	opacity: 1;
}

.fct-directory-profile-form select option {
	background: #080b0f;
	color: #ffffff;
}

.fct-directory-profile-form input:-webkit-autofill,
.fct-directory-profile-form input:-webkit-autofill:hover,
.fct-directory-profile-form input:-webkit-autofill:focus,
.fct-directory-profile-form textarea:-webkit-autofill,
.fct-directory-profile-form textarea:-webkit-autofill:hover,
.fct-directory-profile-form textarea:-webkit-autofill:focus {
	-webkit-text-fill-color: #ffffff;
	-webkit-box-shadow: 0 0 0 1000px #080b0f inset;
	transition: background-color 9999s ease-out 0s;
}

.fct-directory-profile-form input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 12px;
	border: 1px solid rgba(166, 197, 231, .28);
	border-radius: 999px;
	background: rgba(166, 197, 231, .12);
	color: #ffffff;
	font-weight: 750;
	cursor: pointer;
}

.fct-directory-profile-form input[type="file"]::file-selector-button:hover {
	background: rgba(103, 232, 249, .12);
	border-color: rgba(103, 232, 249, .42);
}

/* Headshot lightbox */
.fct-public-profile-photo a,
.fct-public-profile-headshot-grid a {
	position: relative;
	cursor: zoom-in;
}

.fct-public-profile-photo a {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.fct-public-profile-photo a > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fct-public-profile-photo a > span,
.fct-public-profile-headshot-grid a > span {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	justify-content: center;
	padding: 7px 9px;
	background: rgba(5, 6, 7, .78);
	border: 1px solid rgba(166, 197, 231, .22);
	color: #ffffff;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .16s ease, transform .16s ease;
	pointer-events: none;
}

.fct-public-profile-photo a:hover > span,
.fct-public-profile-headshot-grid a:hover > span {
	opacity: 1;
	transform: translateY(0);
}

.fct-lightbox-open {
	overflow: hidden;
}

.fct-lightbox-overlay {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
	background: rgba(0, 0, 0, .88);
	backdrop-filter: blur(10px);
}

.fct-lightbox-frame {
	position: relative;
	max-width: min(960px, 92vw);
	max-height: 88vh;
	display: grid;
	place-items: center;
}

.fct-lightbox-frame img {
	display: block;
	max-width: 100%;
	max-height: 82vh;
	object-fit: contain;
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: 0 28px 80px rgba(0,0,0,.65);
	background: #050607;
}

.fct-lightbox-caption {
	margin-top: 12px;
	color: #d7ecfb;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 750;
	text-align: center;
}

.fct-lightbox-close {
	position: fixed;
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 999px;
	background: rgba(5, 6, 7, .86);
	color: #ffffff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}

.fct-lightbox-close:hover,
.fct-lightbox-close:focus {
	background: rgba(103, 232, 249, .12);
	border-color: rgba(103, 232, 249, .42);
	outline: none;
}

@media (max-width: 700px) {
	.fct-lightbox-overlay {
		padding: 16px;
	}

	.fct-lightbox-close {
		top: 12px;
		right: 12px;
	}
}

/* Directory role filters */
.fct-directory-filter-panel {
	margin: 0 0 28px;
	padding: 18px;
	border: 1px solid rgba(166, 197, 231, .14);
	background:
		linear-gradient(180deg, rgba(17, 24, 32, .92), rgba(10, 14, 18, .96));
	box-shadow: 0 16px 38px rgba(0,0,0,.22);
}

.fct-directory-filter-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.fct-directory-filter-header strong {
	display: block;
	color: #ffffff;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 900;
	letter-spacing: .02em;
}

.fct-directory-filter-header span {
	display: block;
	margin-top: 4px;
	color: var(--nsff-muted);
	font-size: 12px;
	line-height: 1.45;
}

.fct-directory-filter-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 8px 11px;
	border: 1px solid rgba(166, 197, 231, .20);
	border-radius: 999px;
	background: rgba(166, 197, 231, .07);
	color: var(--fct-ice, #d7ecfb);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

.fct-directory-filter-clear:hover {
	background: rgba(103, 232, 249, .10);
	border-color: rgba(103, 232, 249, .38);
}

.fct-directory-filter-clear[hidden] {
	display: none;
}

.fct-directory-filter-summary {
	min-height: 20px;
	margin-top: 12px;
	color: var(--fct-ice, #d7ecfb);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fct-directory-empty-filter {
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid rgba(166, 197, 231, .14);
	background: rgba(255,255,255,.035);
	color: var(--nsff-text-soft);
	text-align: center;
	font-size: 14px;
	line-height: 1.6;
}

@media (max-width: 700px) {
	.fct-directory-filter-header {
		flex-direction: column;
	}

	.fct-directory-filter-clear {
		width: 100%;
	}

	.fct-directory-role-filters label {
		flex: 1 1 calc(50% - 9px);
	}
}

/* Collapsible directory filters */
.fct-directory-filter-toggle-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: -8px 0 22px;
}

.fct-directory-filter-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 14px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(166, 197, 231, .08);
	color: var(--fct-ice, #d7ecfb);
	font-size: 12px;
	line-height: 1.1;
	font-weight: 900;
	letter-spacing: .10em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.fct-directory-filter-toggle:hover,
.fct-directory-filter-toggle:focus {
	background: rgba(103, 232, 249, .11);
	border-color: rgba(103, 232, 249, .42);
	color: #ffffff;
	outline: none;
}

.fct-directory-filter-toggle-row [data-fct-filter-count] {
	color: var(--nsff-muted);
	font-size: 12px;
	line-height: 1.4;
	font-weight: 750;
	text-align: right;
}

.fct-directory-filter-panel[hidden] {
	display: none !important;
}

@media (max-width: 700px) {
	.fct-directory-filter-toggle-row {
		flex-direction: column;
		align-items: stretch;
	}

	.fct-directory-filter-toggle {
		width: 100%;
	}

	.fct-directory-filter-toggle-row [data-fct-filter-count] {
		text-align: center;
	}
}

/* Match-all role filter notice */
.fct-directory-filter-notice {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 14px;
	padding: 12px 13px;
	border: 1px solid rgba(103, 232, 249, .18);
	background: rgba(103, 232, 249, .055);
	color: var(--nsff-text-soft);
	font-size: 12px;
	line-height: 1.5;
}

.fct-directory-filter-notice strong {
	color: var(--fct-ice, #d7ecfb);
	font-weight: 900;
	white-space: nowrap;
}

.fct-directory-filter-notice span {
	color: #aebdcc;
}

@media (max-width: 700px) {
	.fct-directory-filter-notice {
		display: block;
	}

	.fct-directory-filter-notice strong {
		display: block;
		margin-bottom: 4px;
		white-space: normal;
	}
}

/* Searchable role filter controls */
.fct-directory-role-search-wrap {
	display: grid;
	gap: 10px;
	margin-top: 14px;
}

.fct-directory-role-search {
	min-height: 44px;
	background: #080b0f !important;
	color: #ffffff !important;
	border-color: rgba(166, 197, 231, .22) !important;
}

.fct-directory-role-results {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 8px;
	max-height: 260px;
	overflow: auto;
	padding: 10px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(0,0,0,.18);
}

.fct-directory-role-results button {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 34px;
	padding: 8px 10px;
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 999px;
	background: rgba(255,255,255,.035);
	color: #d4d4d4;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 750;
	text-align: left;
	cursor: pointer;
	transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.fct-directory-role-results button:hover,
.fct-directory-role-results button:focus {
	border-color: rgba(103, 232, 249, .42);
	background: rgba(103, 232, 249, .11);
	color: #ffffff;
	outline: none;
}

.fct-directory-role-results button[hidden] {
	display: none !important;
}

.fct-directory-role-results-empty {
	grid-column: 1 / -1;
	color: var(--nsff-muted);
	font-size: 12px;
	font-weight: 750;
	text-align: center;
	padding: 8px;
}

.fct-directory-selected-roles {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	min-height: 34px;
	margin-top: 14px;
}

.fct-directory-selected-roles button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	padding: 6px 10px;
	border: 1px solid rgba(103, 232, 249, .34);
	border-radius: 999px;
	background: rgba(103, 232, 249, .10);
	color: #ffffff;
	font-size: 12px;
	line-height: 1.15;
	font-weight: 800;
	cursor: pointer;
}

.fct-directory-selected-roles button:hover,
.fct-directory-selected-roles button:focus {
	background: rgba(103, 232, 249, .18);
	border-color: rgba(103, 232, 249, .58);
	outline: none;
}

.fct-directory-selected-roles button em {
	font-style: normal;
	color: var(--fct-cyan, #67e8f9);
	font-size: 16px;
	line-height: 1;
}

.fct-directory-no-selected-roles {
	display: inline-flex;
	align-items: center;
	color: var(--nsff-muted);
	font-size: 12px;
	font-weight: 700;
}

@media (max-width: 700px) {
	.fct-directory-role-results {
		grid-template-columns: 1fr;
		max-height: 300px;
	}
}

/* View-all role picker panels */
.fct-directory-view-all-row,
.fct-profile-role-view-all-row {
	margin-top: 12px;
}

.fct-directory-view-all-roles,
.fct-profile-view-all-roles {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 9px 12px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(166, 197, 231, .075);
	color: var(--fct-ice, #d7ecfb);
	font-size: 11px;
	line-height: 1.1;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

.fct-directory-view-all-roles:hover,
.fct-directory-view-all-roles:focus,
.fct-profile-view-all-roles:hover,
.fct-profile-view-all-roles:focus {
	background: rgba(103, 232, 249, .11);
	border-color: rgba(103, 232, 249, .42);
	color: #ffffff;
	outline: none;
}

.fct-directory-all-roles,
.fct-profile-all-roles {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-height: 260px;
	overflow: auto;
	margin-top: 12px;
	padding: 12px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(0,0,0,.16);
}

.fct-directory-all-roles[hidden],
.fct-profile-all-roles[hidden] {
	display: none !important;
}

.fct-directory-all-roles button,
.fct-profile-all-roles button,
.fct-profile-role-results button {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 32px;
	padding: 7px 10px;
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 999px;
	background: rgba(255,255,255,.035);
	color: #d4d4d4;
	font-size: 12px;
	line-height: 1.15;
	font-weight: 750;
	text-align: left;
	cursor: pointer;
	transition: background .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease;
}

.fct-directory-all-roles button:hover,
.fct-directory-all-roles button:focus,
.fct-profile-all-roles button:hover,
.fct-profile-all-roles button:focus,
.fct-profile-role-results button:hover,
.fct-profile-role-results button:focus {
	border-color: rgba(103, 232, 249, .42);
	background: rgba(103, 232, 249, .11);
	color: #ffffff;
	outline: none;
}

.fct-directory-all-roles button.is-selected,
.fct-profile-all-roles button.is-selected,
.fct-directory-all-roles button:disabled,
.fct-profile-all-roles button:disabled {
	opacity: .48;
	cursor: not-allowed;
	border-color: rgba(166, 197, 231, .10);
	background: rgba(255,255,255,.025);
}

/* Profile edit role picker */
.fct-profile-role-picker {
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.fct-profile-role-search {
	min-height: 44px;
	background: #080b0f !important;
	color: #ffffff !important;
	border-color: rgba(166, 197, 231, .22) !important;
}

.fct-profile-role-results {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 8px;
	max-height: 250px;
	overflow: auto;
	padding: 10px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(0,0,0,.18);
}

.fct-profile-role-results button[hidden] {
	display: none !important;
}

.fct-profile-role-results-empty {
	grid-column: 1 / -1;
	color: var(--nsff-muted);
	font-size: 12px;
	font-weight: 750;
	text-align: center;
	padding: 8px;
}

.fct-profile-selected-roles {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	min-height: 34px;
	margin-top: 4px;
}

.fct-profile-selected-roles .fct-profile-role-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	padding: 4px 8px;
	border: 1px solid rgba(103, 232, 249, .34);
	border-radius: 999px;
	background: rgba(103, 232, 249, .10);
	color: #ffffff;
	font-size: 12px;
	line-height: 1.15;
	font-weight: 800;
}

.fct-profile-selected-roles .fct-profile-role-chip:hover,
.fct-profile-selected-roles .fct-profile-role-chip:focus-within {
	background: rgba(103, 232, 249, .18);
	border-color: rgba(103, 232, 249, .58);
	outline: none;
}

.fct-profile-role-remove em {
	font-style: normal;
	color: var(--fct-cyan, #67e8f9);
	font-size: 16px;
	line-height: 1;
}

.fct-profile-no-selected-roles {
	display: inline-flex;
	align-items: center;
	color: var(--nsff-muted);
	font-size: 12px;
	font-weight: 700;
}

@media (max-width: 700px) {
	.fct-directory-all-roles,
	.fct-profile-all-roles {
		max-height: 300px;
	}

	.fct-profile-role-results {
		grid-template-columns: 1fr;
	}
}

/* Integrated picker polish and casting stats */
.fct-integrated-picker,
.fct-directory-role-search-wrap {
	position: relative;
	padding: 16px;
	border: 1px solid rgba(166, 197, 231, .14);
	background:
		linear-gradient(180deg, rgba(8, 11, 15, .88), rgba(5, 6, 7, .92));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.fct-directory-role-results,
.fct-profile-role-results,
.fct-directory-all-roles,
.fct-profile-all-roles {
	border-color: rgba(166, 197, 231, .10);
	background: rgba(2, 4, 7, .42);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.fct-directory-role-results button,
.fct-profile-role-results button,
.fct-directory-all-roles button,
.fct-profile-all-roles button {
	border-radius: 4px;
	border-color: rgba(166, 197, 231, .12);
	background: rgba(255,255,255,.025);
	color: var(--nsff-text-soft);
}

.fct-directory-role-results button:hover,
.fct-directory-role-results button:focus,
.fct-profile-role-results button:hover,
.fct-profile-role-results button:focus,
.fct-directory-all-roles button:hover,
.fct-directory-all-roles button:focus,
.fct-profile-all-roles button:hover,
.fct-profile-all-roles button:focus {
	background: rgba(103, 232, 249, .08);
	border-color: rgba(103, 232, 249, .34);
}

.fct-directory-selected-roles,
.fct-profile-selected-roles {
	padding-top: 4px;
}

.fct-directory-selected-roles button,
.fct-profile-selected-roles .fct-profile-role-chip {
	border-radius: 999px;
	background: rgba(103, 232, 249, .075);
}

.fct-casting-stats-panel {
	margin-top: 24px;
	background:
		linear-gradient(180deg, rgba(17, 24, 32, .96), rgba(10, 14, 18, .98));
	border-color: rgba(166, 197, 231, .16);
}

.fct-casting-stats-panel h3:before {
	content: "◇";
	display: inline-block;
	margin-right: 8px;
	color: var(--fct-cyan, #67e8f9);
	font-size: .82em;
}

@media (max-width: 700px) {
	.fct-integrated-picker,
	.fct-directory-role-search-wrap {
		padding: 12px;
	}
}

/* Smooth advanced public directory filters */
.fct-directory-advanced-filters {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(166, 197, 231, .12);
}

.fct-directory-filter-subheading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}

.fct-directory-filter-subheading strong {
	display: block;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fct-directory-filter-subheading span {
	display: block;
	color: var(--nsff-muted);
	font-size: 12px;
	line-height: 1.45;
	text-align: right;
}

.fct-directory-advanced-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.fct-directory-filter-field {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.fct-directory-filter-field-wide {
	grid-column: 1 / -1;
}

.fct-directory-filter-field label {
	color: #d7ecfb;
	font-size: 11px;
	line-height: 1.3;
	font-weight: 900;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-directory-filter-field .fct-input,
.fct-directory-filter-field select,
.fct-directory-filter-field input {
	min-height: 42px;
	background: #080b0f !important;
	color: #ffffff !important;
	border-color: rgba(166, 197, 231, .18) !important;
}

.fct-directory-filter-field .fct-input:focus,
.fct-directory-filter-field select:focus,
.fct-directory-filter-field input:focus {
	background: #050607 !important;
	border-color: rgba(103, 232, 249, .50) !important;
	box-shadow: 0 0 0 3px rgba(103, 232, 249, .10) !important;
}

.fct-directory-filter-field select option {
	background: #080b0f;
	color: #ffffff;
}

@media (max-width: 980px) {
	.fct-directory-advanced-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.fct-directory-filter-subheading {
		display: block;
	}

	.fct-directory-filter-subheading span {
		margin-top: 4px;
		text-align: left;
	}

	.fct-directory-advanced-grid {
		grid-template-columns: 1fr;
	}
}

/* Public profile privacy/security notices */
.fct-security-notice {
	display: grid;
	gap: 5px;
	margin-bottom: 18px;
	padding: 14px 15px;
	border: 1px solid rgba(103, 232, 249, .18);
	background:
		linear-gradient(180deg, rgba(103, 232, 249, .065), rgba(166, 197, 231, .035));
	color: var(--nsff-text-soft);
}

.fct-security-notice strong {
	color: var(--fct-ice, #d7ecfb);
	font-size: 12px;
	line-height: 1.35;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-security-notice span {
	color: #aebdcc;
	font-size: 13px;
	line-height: 1.55;
}

/* Modern one-uploader media library */
.fct-media-layout-modern {
	align-items: start;
}

.fct-media-collection {
	display: grid;
	gap: 14px;
	margin-bottom: 24px;
	padding: 18px;
	border: 1px solid rgba(166, 197, 231, .14);
	background:
		linear-gradient(180deg, rgba(8, 11, 15, .88), rgba(5, 6, 7, .94));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.fct-media-collection-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.fct-media-collection-header h4 {
	margin: 0;
	color: #ffffff;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: .01em;
}

.fct-media-collection-header p {
	margin: 5px 0 0;
	color: var(--nsff-muted);
	font-size: 12px;
	line-height: 1.45;
}

.fct-media-collection-header > span {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 6px 9px;
	border: 1px solid rgba(103, 232, 249, .22);
	border-radius: 999px;
	background: rgba(103, 232, 249, .07);
	color: var(--fct-ice, #d7ecfb);
	font-size: 11px;
	line-height: 1.1;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-media-library-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
	gap: 12px;
}

.fct-media-library-grid-docs {
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.fct-media-library-card {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(166, 197, 231, .13);
	background: rgba(0,0,0,.28);
	box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

.fct-media-library-card-image {
	aspect-ratio: 3 / 4;
}

.fct-media-library-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fct-media-library-card-doc {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-height: 86px;
	padding: 12px;
}

.fct-media-doc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 62px;
	border: 1px solid rgba(103, 232, 249, .24);
	background: rgba(103, 232, 249, .08);
	color: #ffffff;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .12em;
}

.fct-media-library-actions {
	display: grid;
	gap: 8px;
	padding: 10px;
	background: rgba(2, 4, 7, .82);
}

.fct-media-library-card-image .fct-media-library-actions {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	transform: translateY(calc(100% - 38px));
	transition: transform .18s ease;
}

.fct-media-library-card-image:hover .fct-media-library-actions,
.fct-media-library-card-image:focus-within .fct-media-library-actions {
	transform: translateY(0);
}

.fct-media-library-actions a {
	color: var(--fct-ice, #d7ecfb);
	font-size: 12px;
	line-height: 1.2;
	font-weight: 850;
	text-decoration: none;
}

.fct-media-library-actions a:hover {
	color: #ffffff;
	text-decoration: underline;
}

.fct-media-library-actions label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--nsff-text-soft);
	font-size: 12px;
	line-height: 1.2;
	font-weight: 700;
	cursor: pointer;
}

.fct-media-library-actions input {
	accent-color: var(--fct-cyan, #67e8f9);
}

.fct-media-empty {
	grid-column: 1 / -1;
	padding: 18px;
	border: 1px dashed rgba(166, 197, 231, .20);
	background: rgba(255,255,255,.025);
	color: var(--nsff-muted);
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.fct-media-upload-row {
	display: grid;
	gap: 8px;
	padding-top: 2px;
}

.fct-media-upload-row > label {
	color: #d7ecfb;
	font-size: 11px;
	line-height: 1.3;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-reel-link-grid {
	display: grid;
	gap: 14px;
}

@media (max-width: 700px) {
	.fct-media-collection {
		padding: 14px;
	}

	.fct-media-collection-header {
		display: grid;
	}

	.fct-media-library-grid,
	.fct-media-library-grid-docs {
		grid-template-columns: 1fr;
	}

	.fct-media-library-card-image {
		aspect-ratio: 4 / 5;
	}

	.fct-media-library-card-image .fct-media-library-actions {
		position: static;
		transform: none;
	}
}

/* Media original filename display */
.fct-media-library-name {
	position: absolute;
	left: 8px;
	right: 8px;
	top: 8px;
	z-index: 2;
	padding: 6px 8px;
	border: 1px solid rgba(166, 197, 231, .18);
	background: rgba(2, 4, 7, .82);
	color: #e5f2ff;
	font-size: 11px;
	line-height: 1.25;
	font-weight: 800;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fct-media-file-info {
	min-width: 0;
}

.fct-media-file-info strong {
	display: block;
	color: var(--nsff-text);
	font-size: 13px;
	line-height: 1.35;
	font-weight: 850;
	overflow-wrap: anywhere;
}

.fct-media-library-card-doc {
	grid-template-columns: auto minmax(0, 1fr);
}

.fct-media-library-card-doc .fct-media-library-actions {
	grid-column: 1 / -1;
}

@media (max-width: 700px) {
	.fct-media-library-name {
		position: static;
		border-left: 0;
		border-right: 0;
		border-bottom: 0;
		white-space: normal;
	}
}

/* Reel/work sample label cards */
.fct-reel-link-card {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 12px;
	padding: 14px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(0,0,0,.20);
}

.fct-reel-link-card .fct-field {
	margin: 0;
}

[data-fct-protect-image] {
	-webkit-user-drag: none;
	user-select: none;
	-webkit-touch-callout: none;
}

@media (max-width: 700px) {
	.fct-reel-link-card {
		grid-template-columns: 1fr;
	}
}

/* Stronger soft image protection for public media */
.fct-public-profile-photo,
.fct-public-profile-headshot-grid,
.fct-lightbox-frame,
.fct-directory-photo {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}

.fct-lightbox-frame img[data-fct-protect-image],
.fct-public-profile img[data-fct-protect-image],
.fct-directory img[data-fct-protect-image] {
	pointer-events: auto;
	-webkit-user-drag: none;
	user-drag: none;
}

/* Lightbox buttons instead of anchors, so hover does not expose media URLs in browser status bar */
.fct-lightbox-trigger {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: inherit;
	cursor: zoom-in;
}

.fct-lightbox-trigger img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fct-public-profile-photo .fct-lightbox-trigger,
.fct-public-profile-headshot-grid .fct-lightbox-trigger {
	position: relative;
	overflow: hidden;
}

.fct-public-profile-photo .fct-lightbox-trigger > span,
.fct-public-profile-headshot-grid .fct-lightbox-trigger > span {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	justify-content: center;
	padding: 7px 9px;
	background: rgba(5, 6, 7, .78);
	border: 1px solid rgba(166, 197, 231, .22);
	color: #ffffff;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .16s ease, transform .16s ease;
	pointer-events: none;
}

.fct-public-profile-photo .fct-lightbox-trigger:hover > span,
.fct-public-profile-headshot-grid .fct-lightbox-trigger:hover > span,
.fct-public-profile-photo .fct-lightbox-trigger:focus > span,
.fct-public-profile-headshot-grid .fct-lightbox-trigger:focus > span {
	opacity: 1;
	transform: translateY(0);
}

.fct-lightbox-trigger:focus {
	outline: 2px solid rgba(103, 232, 249, .55);
	outline-offset: 3px;
}

/* Soft protection for edit profile media previews */
.fct-directory-profile-form [data-fct-protect-image],
.fct-profile-form [data-fct-protect-image] {
	-webkit-user-drag: none;
	user-select: none;
	-webkit-touch-callout: none;
}

/* Editable resume display names */
.fct-media-file-info label {
	display: block;
	margin-bottom: 6px;
	color: #d7ecfb;
	font-size: 10px;
	line-height: 1.2;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-media-name-input {
	min-height: 38px !important;
	font-size: 13px !important;
}

.fct-media-library-card-doc {
	align-items: start;
}

.fct-media-library-card-doc .fct-media-file-info {
	align-self: center;
}

/* Community directory purpose notice */
.fct-directory-purpose-notice,
.fct-profile-form .fct-directory-purpose-notice,
.fct-directory-profile-form .fct-directory-purpose-notice {
	display: grid;
	gap: 6px;
	margin: 0 0 22px;
	padding: 16px 18px;
	border: 1px solid rgba(103, 232, 249, .20);
	background:
		linear-gradient(180deg, rgba(103, 232, 249, .075), rgba(166, 197, 231, .035));
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.04),
		0 16px 34px rgba(0,0,0,.18);
	color: var(--nsff-text-soft);
}

.fct-directory-purpose-notice strong {
	color: #ffffff;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.fct-directory-purpose-notice span {
	color: #b7c4d2;
	font-size: 13px;
	line-height: 1.6;
}

/* Public contact options */
.fct-public-contact-panel {
	scroll-margin-top: 120px;
}

.fct-public-direct-contact {
	display: grid;
	gap: 8px;
	margin-bottom: 16px;
}

.fct-public-direct-contact a {
	display: block;
	padding: 10px 12px;
	border: 1px solid rgba(166, 197, 231, .14);
	background: rgba(255,255,255,.035);
	color: var(--fct-ice, #d7ecfb);
	font-size: 13px;
	line-height: 1.35;
	font-weight: 750;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.fct-public-direct-contact a:hover {
	border-color: rgba(103, 232, 249, .34);
	background: rgba(103, 232, 249, .075);
	color: #ffffff;
}

.fct-public-contact-form {
	display: grid;
	gap: 14px;
	margin-top: 16px;
}

.fct-public-contact-form .fct-field {
	margin: 0;
}

.fct-public-contact-form label {
	display: block;
	margin-bottom: 6px;
	color: #d7ecfb;
	font-size: 11px;
	line-height: 1.3;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-contact-response {
	min-height: 20px;
	color: var(--nsff-text-soft);
	font-size: 13px;
	line-height: 1.5;
	font-weight: 700;
}

.fct-contact-response.is-success {
	color: #bbf7d0;
}

.fct-contact-response.is-error {
	color: #fecaca;
}

.fct-hp-field {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Representative contact and hidden contact form */
.fct-contact-toggle {
	width: 100%;
	margin-top: 12px;
}

.fct-contact-form-wrap[hidden] {
	display: none !important;
}

.fct-public-rep-contact {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
	padding: 14px;
	border: 1px solid rgba(166, 197, 231, .14);
	background: rgba(255,255,255,.035);
}

.fct-public-rep-contact h4 {
	margin: 0 0 2px;
	color: #ffffff;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-public-rep-contact div {
	display: grid;
	gap: 3px;
}

.fct-public-rep-contact strong {
	color: var(--nsff-muted);
	font-size: 10px;
	line-height: 1.2;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-public-rep-contact span,
.fct-public-rep-contact a {
	color: var(--fct-ice, #d7ecfb);
	font-size: 13px;
	line-height: 1.35;
	font-weight: 750;
	overflow-wrap: anywhere;
}

.fct-public-rep-contact a:hover {
	color: #ffffff;
}

/* Public social/contact links */
.fct-public-contact-panel-wide {
	margin-top: 26px;
}

.fct-public-contact-panel-wide .fct-public-direct-contact {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.fct-public-contact-panel-wide .fct-public-rep-contact {
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	align-items: start;
}

.fct-public-contact-panel-wide .fct-public-rep-contact h4 {
	grid-column: 1 / -1;
}

.fct-public-social-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
	padding: 14px;
	border: 1px solid rgba(166, 197, 231, .14);
	background: rgba(255,255,255,.035);
}

.fct-public-social-contact h4 {
	flex: 0 0 100%;
	margin: 0 0 2px;
	color: #ffffff;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-public-social-contact a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 8px 11px;
	border: 1px solid rgba(103, 232, 249, .24);
	border-radius: 999px;
	background: rgba(103, 232, 249, .075);
	color: var(--fct-ice, #d7ecfb);
	font-size: 12px;
	line-height: 1.2;
	font-weight: 850;
	text-decoration: none;
}

.fct-public-social-contact a:hover,
.fct-public-social-contact a:focus {
	border-color: rgba(103, 232, 249, .48);
	background: rgba(103, 232, 249, .13);
	color: #ffffff;
	outline: none;
}

.fct-rep-privacy-notice {
	margin-top: 12px;
	border-color: rgba(248, 181, 88, .28);
	background:
		linear-gradient(180deg, rgba(248, 181, 88, .075), rgba(166, 197, 231, .025));
}

.fct-rep-privacy-notice strong {
	color: #fff7ed;
}

.fct-rep-privacy-notice span {
	color: #d6c9b8;
}

/* Performer-only profile details */
.fct-performer-role-notice,
.fct-directory-performer-filter-note {
	margin: 18px 0;
	padding: 14px 15px;
	border: 1px solid rgba(103, 232, 249, .16);
	background: rgba(103, 232, 249, .055);
	color: #b7c4d2;
	font-size: 13px;
	line-height: 1.55;
}

.fct-performer-role-notice strong {
	display: block;
	margin-bottom: 4px;
	color: #ffffff;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-performer-unlocked-notice {
	margin: 18px 0;
	padding: 14px 15px;
	border: 1px solid rgba(90, 214, 159, .22);
	background: linear-gradient(135deg, rgba(90, 214, 159, .12), rgba(166, 197, 231, .055));
	color: #cfeee0;
	font-size: 13px;
	line-height: 1.55;
}

.fct-performer-unlocked-notice strong {
	display: block;
	margin-bottom: 4px;
	color: #ffffff;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-field-help {
	margin-top: 7px;
	color: #9fb0c4;
	font-size: 12px;
	line-height: 1.45;
}

.fct-directory-performer-filter-group {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(166, 197, 231, .13);
}

/* Frontend directory admin approval panel */
.fct-frontend-directory-admin .fct-front-admin-intro {
	display: grid;
	gap: 6px;
	margin-bottom: 18px;
}

.fct-frontend-directory-admin .fct-front-admin-intro strong {
	color: #ffffff;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-front-admin-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}

.fct-front-admin-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid rgba(166, 197, 231, .16);
	background: rgba(255,255,255,.035);
	color: #d7ecfb;
	font-size: 12px;
	font-weight: 850;
	text-decoration: none;
}

.fct-front-admin-tabs a.is-active,
.fct-front-admin-tabs a:hover,
.fct-front-admin-tabs a:focus {
	border-color: rgba(103, 232, 249, .45);
	background: rgba(103, 232, 249, .12);
	color: #ffffff;
}

.fct-front-admin-profile-list {
	display: grid;
	gap: 18px;
}

.fct-front-admin-profile-card {
	display: grid;
	gap: 16px;
}

.fct-front-admin-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.fct-front-admin-card-head h3 {
	margin: 0 0 4px;
}

.fct-front-admin-status {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	min-height: 28px;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
}

.fct-front-admin-status-pending {
	background: rgba(248, 181, 88, .14);
	border: 1px solid rgba(248, 181, 88, .35);
	color: #fed7aa;
}

.fct-front-admin-status-approved {
	background: rgba(34, 197, 94, .13);
	border: 1px solid rgba(34, 197, 94, .34);
	color: #bbf7d0;
}

.fct-front-admin-status-hidden {
	background: rgba(148, 163, 184, .13);
	border: 1px solid rgba(148, 163, 184, .28);
	color: var(--nsff-text-soft);
}

.fct-front-admin-meta-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.fct-front-admin-meta-grid div {
	padding: 10px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(255,255,255,.025);
}

.fct-front-admin-meta-grid strong {
	display: block;
	margin-bottom: 4px;
	color: var(--nsff-muted);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-front-admin-meta-grid span {
	color: #e5f2ff;
	font-size: 12px;
	line-height: 1.4;
}

.fct-front-admin-review-box {
	padding: 14px;
	border: 1px solid rgba(248, 181, 88, .28);
	background: rgba(248, 181, 88, .06);
}

.fct-front-admin-review-box.is-muted {
	border-color: rgba(166, 197, 231, .12);
	background: rgba(255,255,255,.025);
}

.fct-front-admin-review-box > strong {
	display: block;
	margin-bottom: 4px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-front-admin-change-list {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.fct-front-admin-change {
	display: grid;
	gap: 4px;
	padding: 10px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(0,0,0,.16);
}

.fct-front-admin-change strong {
	color: #ffffff;
	font-size: 12px;
}

.fct-front-admin-change span,
.fct-front-admin-more-changes,
.fct-front-admin-no-changes {
	color: var(--nsff-text-soft);
	font-size: 12px;
	line-height: 1.45;
}

.fct-front-admin-change em {
	color: var(--nsff-muted);
	font-style: normal;
	font-weight: 900;
}

.fct-front-admin-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.fct-front-admin-action-form {
	margin: 0;
}

.fct-front-admin-history-list {
	display: grid;
	gap: 10px;
}

.fct-front-admin-history-item {
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(255,255,255,.025);
}

.fct-front-admin-history-item summary {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	color: #e5f2ff;
	font-weight: 850;
}

.fct-front-admin-history-item summary em {
	color: var(--nsff-muted);
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
}

.fct-front-admin-history-body {
	padding: 0 12px 12px;
}

.fct-front-admin-history-body p {
	margin: 8px 0;
	color: var(--nsff-text-soft);
	font-size: 13px;
}

@media (max-width: 800px) {
	.fct-front-admin-meta-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fct-front-admin-card-head,
	.fct-front-admin-history-item summary {
		flex-direction: column;
	}
}

@media (max-width: 520px) {
	.fct-front-admin-meta-grid {
		grid-template-columns: 1fr;
	}
}

/* Public profile back button and sidebar performer details */
.fct-profile-back-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin-bottom: 14px;
	padding: 9px 13px;
	border: 1px solid rgba(103, 232, 249, .34);
	border-radius: 999px;
	background: rgba(2, 6, 23, .72);
	color: #e5f2ff;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(0,0,0,.28);
}

.fct-profile-back-link:hover,
.fct-profile-back-link:focus {
	border-color: rgba(103, 232, 249, .62);
	background: rgba(103, 232, 249, .13);
	color: #ffffff;
	outline: none;
}

.fct-public-profile-sidebar-performer {
	border-color: rgba(103, 232, 249, .20);
	background:
		linear-gradient(180deg, rgba(103, 232, 249, .065), rgba(255,255,255,.03));
}

/* Submission review additions */
.fct-front-admin-status-rejected,
.fct-admin-status-rejected {
	background: rgba(254, 226, 226, .95);
	color: #991b1b;
	border: 1px solid rgba(248, 113, 113, .55);
}

.fct-front-admin-review-box strong::after {
	content: "";
}

/* City/state location combobox */
.fct-location-combobox {
	position: relative;
}

.fct-location-results {
	position: absolute;
	z-index: 50;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: 260px;
	overflow-y: auto;
	border: 1px solid rgba(166, 197, 231, .22);
	background: #101827;
	box-shadow: 0 18px 42px rgba(0,0,0,.32);
}

.fct-location-results button,
.fct-location-empty {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 0;
	border-bottom: 1px solid rgba(166, 197, 231, .10);
	background: transparent;
	color: #d7ecfb;
	font-size: 13px;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
}

.fct-location-results button:hover,
.fct-location-results button:focus,
.fct-location-results button.is-active {
	background: rgba(103, 232, 249, .12);
	color: #ffffff;
	outline: none;
}

.fct-location-empty {
	color: #b7c4d2;
	cursor: default;
}

/* Filmmaker directory announcements */
.fct-announcement-stack {
	display: grid;
	gap: 12px;
	margin: 0 0 20px;
}

.fct-directory-announcement {
	display: grid;
	gap: 6px;
	padding: 15px 16px;
	border: 1px solid rgba(166, 197, 231, .18);
	background:
		linear-gradient(180deg, rgba(166, 197, 231, .075), rgba(255,255,255,.025));
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.04),
		0 14px 30px rgba(0,0,0,.16);
	color: var(--nsff-text-soft);
}

.fct-directory-announcement strong {
	color: #ffffff;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-directory-announcement span {
	color: var(--nsff-text-soft);
	font-size: 13px;
	line-height: 1.6;
}

.fct-directory-announcement-warning {
	border-color: rgba(248, 181, 88, .32);
	background:
		linear-gradient(180deg, rgba(248, 181, 88, .10), rgba(166, 197, 231, .035));
}

.fct-directory-announcement-warning strong {
	color: #fff7ed;
}

.fct-directory-announcement-warning span {
	color: #d6c9b8;
}

.fct-directory-announcement-important {
	border-color: rgba(248, 113, 113, .36);
	background:
		linear-gradient(180deg, rgba(248, 113, 113, .10), rgba(166, 197, 231, .025));
}

.fct-directory-announcement-important strong {
	color: #fee2e2;
}

.fct-directory-announcement-important span {
	color: #f3c4c4;
}

.fct-announcement-admin-panel h3 {
	margin-top: 0;
}

.fct-announcement-editor-list {
	display: grid;
	gap: 18px;
	margin: 18px 0;
}

.fct-announcement-editor-card {
	padding: 16px;
	border: 1px solid rgba(166, 197, 231, .16);
	background: rgba(255,255,255,.035);
}

.fct-announcement-editor-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}

.fct-announcement-editor-head h4 {
	margin: 0;
	color: #ffffff;
	font-size: 15px;
	line-height: 1.3;
}

.fct-announcement-editor-head label {
	color: #d7ecfb;
	font-size: 13px;
	font-weight: 850;
}

.fct-announcement-preview {
	display: grid;
	gap: 8px;
	margin-top: 14px;
}

.fct-announcement-preview > span {
	color: var(--nsff-muted);
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

/* Shared floating action bar */
.fct-floating-action-bar {
	position: sticky;
	bottom: 18px;
	z-index: 40;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	padding: 12px;
	border: 1px solid rgba(166, 197, 231, .18);
	background:
		linear-gradient(180deg, rgba(15, 23, 42, .94), rgba(15, 23, 42, .88));
	box-shadow: 0 18px 42px rgba(0,0,0,.32);
	backdrop-filter: blur(12px);
}

.fct-announcement-editor-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.fct-mini-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 6px 10px;
	border: 1px solid rgba(248, 113, 113, .30);
	background: rgba(248, 113, 113, .08);
	color: #fecaca;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 850;
	cursor: pointer;
}

.fct-mini-button:hover,
.fct-mini-button:focus {
	border-color: rgba(248, 113, 113, .55);
	background: rgba(248, 113, 113, .14);
	color: #ffffff;
	outline: none;
}

@media (max-width: 700px) {
	.fct-floating-action-bar {
		justify-content: stretch;
	}

	.fct-floating-action-bar .fct-btn {
		width: 100%;
	}

	.fct-announcement-editor-head {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Readable form fields and frontend admin AJAX */
.fct-seamless-cinematic .fct-input,
.fct-seamless-cinematic input[type="text"],
.fct-seamless-cinematic input[type="email"],
.fct-seamless-cinematic input[type="url"],
.fct-seamless-cinematic input[type="tel"],
.fct-seamless-cinematic input[type="search"],
.fct-seamless-cinematic input[type="number"],
.fct-seamless-cinematic select,
.fct-seamless-cinematic textarea {
	background: rgba(15, 23, 42, .78) !important;
	color: var(--nsff-text) !important;
	border-color: rgba(166, 197, 231, .24);
	caret-color: #ffffff;
}

.fct-seamless-cinematic .fct-input:focus,
.fct-seamless-cinematic input[type="text"]:focus,
.fct-seamless-cinematic input[type="email"]:focus,
.fct-seamless-cinematic input[type="url"]:focus,
.fct-seamless-cinematic input[type="tel"]:focus,
.fct-seamless-cinematic input[type="search"]:focus,
.fct-seamless-cinematic input[type="number"]:focus,
.fct-seamless-cinematic select:focus,
.fct-seamless-cinematic textarea:focus {
	background: rgba(15, 23, 42, .96) !important;
	color: #ffffff !important;
	border-color: rgba(103, 232, 249, .56);
	box-shadow: 0 0 0 3px rgba(103, 232, 249, .14);
	outline: none;
}

.fct-seamless-cinematic .fct-input::placeholder,
.fct-seamless-cinematic input::placeholder,
.fct-seamless-cinematic textarea::placeholder {
	color: rgba(203, 213, 225, .70) !important;
}

.fct-seamless-cinematic select option {
	background: var(--nsff-bg-soft);
	color: var(--nsff-text);
}

.fct-frontend-directory-admin.is-ajax-loading {
	position: relative;
	cursor: wait;
}

.fct-frontend-directory-admin.is-ajax-loading [data-fct-frontend-admin-content] {
	opacity: .58;
	pointer-events: none;
	transition: opacity .18s ease;
}

.fct-frontend-directory-admin.is-ajax-loading [data-fct-frontend-admin-content]::before {
	content: "Updating...";
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 9999;
	padding: 10px 13px;
	border: 1px solid rgba(103, 232, 249, .34);
	background: rgba(15, 23, 42, .96);
	color: #e5f2ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 18px 42px rgba(0,0,0,.35);
}

/* Frontend admin AJAX tabs */
.fct-front-admin-tabs a {
	transition:
		background .18s ease,
		border-color .18s ease,
		color .18s ease,
		transform .18s ease;
}

.fct-front-admin-tabs a:hover,
.fct-front-admin-tabs a:focus {
	transform: translateY(-1px);
	outline: none;
}

.fct-front-admin-tabs a[aria-current="page"] {
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 28px rgba(0,0,0,.18);
}

.fct-frontend-directory-admin.is-ajax-loading .fct-front-admin-tabs a {
	pointer-events: none;
}

/* Shared visual/color system is now controlled by assets/css/fct-shared-ui.css. */

/* v42.13.75/76/77 - Compact playable age range min/max fields */
.fct-directory .fct-age-range-inputs,
.fct-directory-profile-form .fct-age-range-inputs {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	max-width: 220px;
}

.fct-directory .fct-age-range-inputs > div,
.fct-directory-profile-form .fct-age-range-inputs > div {
	flex: 0 0 auto;
}

.fct-directory .fct-age-range-inputs .fct-input,
.fct-directory-profile-form .fct-age-range-inputs .fct-input {
	width: 72px;
	min-width: 0;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}

.fct-directory .fct-age-range-separator,
.fct-directory-profile-form .fct-age-range-separator {
	flex: 0 0 auto;
	font-weight: 800;
	line-height: 1;
	opacity: .8;
}

@media (max-width: 560px) {
	.fct-directory .fct-age-range-inputs,
	.fct-directory-profile-form .fct-age-range-inputs {
		max-width: 100%;
	}
}


/* v42.13.76 - Force performer-only sections to stay hidden when no performer role is selected. */
.fct-directory-profile-form [data-fct-performer-details-panel][hidden],
.fct-directory-profile-form [data-fct-performer-details-panel].is-fct-hidden,
.fct-directory-profile-form [data-fct-performer-unlocked-notice][hidden],
.fct-directory-profile-form [data-fct-performer-unlocked-notice].is-fct-hidden,
.fct-directory-profile-form [data-fct-performer-role-notice][hidden],
.fct-directory-profile-form [data-fct-performer-role-notice].is-fct-hidden {
	display: none !important;
}


/* v42.13.77 - Primary role star selector in edit profile. */
.fct-primary-role-star-help {
	align-content: start;
}

.fct-primary-role-display {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	width: fit-content;
	max-width: 100%;
	margin: 4px 0 7px;
	padding: 8px 12px;
	border: 1px solid rgba(103, 232, 249, .28);
	border-radius: 999px;
	background: rgba(103, 232, 249, .08);
	color: #ffffff;
	font-size: 12px;
	font-weight: 900;
}

.fct-profile-role-chip.is-primary {
	border-color: rgba(251, 191, 36, .62);
	background: rgba(251, 191, 36, .13);
}

.fct-profile-role-primary,
.fct-profile-role-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	min-width: 22px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.07);
	color: var(--fct-ice, #d7ecfb);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
}

.fct-profile-role-primary[aria-pressed="true"] {
	background: rgba(251, 191, 36, .22);
	color: #fbbf24;
}

.fct-profile-role-primary:hover,
.fct-profile-role-primary:focus,
.fct-profile-role-remove:hover,
.fct-profile-role-remove:focus {
	background: rgba(103, 232, 249, .16);
	color: #ffffff;
	outline: none;
}

.fct-profile-role-chip-label {
	display: inline-flex;
	align-items: center;
}

/* v42.13.78 - Role-based actor and voice actor performer sections. */
.fct-performer-subsection {
	margin-top: 18px;
	padding: 16px;
	border: 1px solid rgba(148, 163, 184, .22);
	border-radius: 18px;
	background: rgba(15, 23, 42, .36);
}

.fct-performer-subsection h4 {
	margin: 0 0 6px;
	color: #ffffff;
	font-size: 16px;
	font-weight: 900;
}

.fct-directory-profile-form [data-fct-actor-details-section][hidden],
.fct-directory-profile-form [data-fct-actor-details-section].is-fct-hidden,
.fct-directory-profile-form [data-fct-voice-details-section][hidden],
.fct-directory-profile-form [data-fct-voice-details-section].is-fct-hidden,
.fct-directory [data-fct-actor-filter-fields][hidden],
.fct-directory [data-fct-voice-filter-fields][hidden] {
	display: none !important;
}

.fct-directory-performer-filter-section {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(148, 163, 184, .18);
}

.fct-directory-filter-subheading-small strong {
	font-size: 13px;
}

.fct-public-voice-actor-info .fct-voice-notes {
	margin-top: 14px;
}

/* v42.13.82 - Optional performer identity fields and tucked-away advanced performer search. */
.fct-performer-identity-note {
	margin: 0;
	border-color: rgba(248, 181, 88, .22);
	background: rgba(248, 181, 88, .06);
}

.fct-directory-performer-filter-details {
	margin-top: 14px;
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 18px;
	background: rgba(15, 23, 42, .34);
	overflow: hidden;
}

.fct-directory-performer-filter-details > summary {
	cursor: pointer;
	padding: 13px 15px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	list-style-position: inside;
}

.fct-directory-performer-filter-details > summary:hover,
.fct-directory-performer-filter-details > summary:focus {
	background: rgba(103, 232, 249, .08);
	outline: none;
}

.fct-directory-performer-filter-details-body {
	padding: 0 15px 15px;
}

.fct-directory-profile-form [data-fct-stunt-details-section][hidden],
.fct-directory-profile-form [data-fct-stunt-details-section].is-fct-hidden,
.fct-directory [data-fct-stunt-filter-fields][hidden] {
	display: none !important;
}

/* v42.13.86 - Checkbox performer stats instead of hard-to-use multi-select boxes. */
.fct-performer-choice-grid.fct-check-grid-compact,
.fct-directory-checkbox-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
	gap: 8px;
}

.fct-performer-choice-grid .fct-check-card,
.fct-directory-check-card {
	padding: 9px 10px;
	font-size: 12.5px;
	line-height: 1.35;
}

.fct-directory-checkbox-grid {
	max-height: 220px;
	overflow: auto;
	padding: 2px 2px 4px;
}

.fct-directory-checkbox-grid .fct-check-card {
	background: rgba(255,255,255,.045);
}

.fct-directory-checkbox-grid .fct-check-card input {
	margin-top: 1px;
}

/* v42.13.87 - Cleaner optional performer stats layout. */
.fct-performer-stats-shell {
	margin-top: 2px;
}

.fct-performer-stats-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	align-items: stretch;
}

.fct-performer-stat-card {
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(148, 163, 184, .28);
	border-radius: 18px;
	background: rgba(15, 23, 42, .26);
}

.fct-performer-stat-card > label {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: rgba(234, 242, 255, .92);
}

.fct-performer-stat-card .fct-field-help {
	display: block;
	margin-top: 8px;
}

.fct-performer-choice-grid.fct-check-grid-compact {
	grid-template-columns: 1fr;
	gap: 6px;
	max-height: 190px;
	overflow: auto;
	padding-right: 2px;
}

.fct-performer-stat-card .fct-check-card,
.fct-directory-checkbox-grid .fct-check-card {
	min-height: 0;
	align-items: flex-start;
}

.fct-directory-checkbox-grid {
	grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
	max-height: 185px;
	padding: 4px;
	border: 1px solid rgba(148, 163, 184, .2);
	border-radius: 14px;
	background: rgba(15, 23, 42, .18);
}

@media (max-width: 980px) {
	.fct-performer-stats-grid {
		grid-template-columns: 1fr;
	}
}


/* v42.13.88 - Move union status with appearance stats and remove legacy prefer-not options. */
.fct-directory-filter-field-union-status .fct-directory-checkbox-grid {
	max-height: 150px;
}

@media (min-width: 981px) {
	.fct-directory-filter-field-union-status .fct-directory-checkbox-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* v42.13.89 - Center checkbox and option text vertically in performer checkbox groups. */
.fct-performer-stat-card .fct-check-card,
.fct-directory-checkbox-grid .fct-check-card {
	display: flex;
	align-items: center;
}

.fct-performer-stat-card .fct-check-card input,
.fct-directory-checkbox-grid .fct-check-card input {
	flex: 0 0 auto;
	margin-top: 0;
	margin-bottom: 0;
}


/* v42.13.90 - Better mobile tap targets, compact mobile listings, and directory pagination. */
.fct-directory-card.is-page-hidden {
	display: none;
}

.fct-directory-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 24px;
	padding: 14px;
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 18px;
	background: rgba(10, 14, 18, .72);
	box-shadow: 0 18px 42px rgba(0,0,0,.24);
}

.fct-directory-pagination[hidden] {
	display: none !important;
}

.fct-directory-pagination-status {
	color: rgba(234, 242, 255, .78);
	font-size: 13px;
	font-weight: 750;
}

.fct-directory-pagination-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.fct-directory-pagination-button {
	min-height: 40px;
	padding: 9px 13px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(255,255,255,.055);
	color: #eaf2ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .05em;
	text-transform: uppercase;
	cursor: pointer;
}

.fct-directory-pagination-button:hover:not(:disabled) {
	border-color: rgba(103, 232, 249, .52);
	background: rgba(103, 232, 249, .10);
}

.fct-directory-pagination-button:disabled {
	cursor: not-allowed;
	opacity: .45;
}

@media (max-width: 700px) {
	.fct-performer-stat-card {
		padding: 14px;
	}

	.fct-performer-choice-grid.fct-check-grid-compact,
	.fct-directory-checkbox-grid {
		grid-template-columns: 1fr;
		gap: 9px;
		max-height: none;
		overflow: visible;
	}

	.fct-performer-stat-card .fct-check-card,
	.fct-directory-checkbox-grid .fct-check-card {
		min-height: 48px;
		padding: 12px 14px;
		font-size: 14px;
		line-height: 1.25;
		gap: 10px;
	}

	.fct-performer-stat-card .fct-check-card input,
	.fct-directory-checkbox-grid .fct-check-card input {
		width: 18px;
		height: 18px;
	}

	.fct-directory-grid {
		gap: 12px;
	}

	.fct-directory-card {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		min-height: 0;
		overflow: hidden;
		border-radius: 18px;
		box-shadow: 0 14px 34px rgba(0,0,0,.28);
	}

	.fct-directory-card:hover {
		transform: none;
	}

	.fct-directory-headshot {
		aspect-ratio: auto;
		height: 100%;
		min-height: 128px;
		border-bottom: 0;
		border-right: 1px solid rgba(255,255,255,.08);
	}

	.fct-directory-headshot:after {
		height: 36%;
	}

	.fct-directory-headshot-placeholder {
		font-size: 38px;
	}

	.fct-directory-card-body {
		padding: 13px 14px;
		gap: 6px;
	}

	.fct-directory-card-body h3 {
		font-size: 20px;
		line-height: 1.08;
	}

	.fct-directory-card-body .fct-muted {
		font-size: 10.5px;
		line-height: 1.25;
	}

	.fct-directory-primary-role {
		padding: 5px 7px;
		font-size: 9.5px;
		letter-spacing: .08em;
	}

	.fct-directory-roles {
		font-size: 12px;
		line-height: 1.35;
		-webkit-line-clamp: 1;
	}

	.fct-directory-card-body p {
		display: none;
	}

	.fct-directory-compensation-list {
		gap: 5px;
	}

	.fct-directory-compensation-list span {
		min-height: 22px;
		padding: 4px 7px;
		font-size: 9px;
	}

	.fct-directory-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		padding-top: 4px;
	}

	.fct-directory-actions .fct-btn {
		min-height: 36px;
		padding: 8px 9px;
		font-size: 10px;
	}

	.fct-directory-actions .fct-btn:first-child:last-child {
		grid-column: 1 / -1;
	}

	.fct-directory-pagination {
		align-items: stretch;
		flex-direction: column;
		margin-top: 18px;
		padding: 12px;
	}

	.fct-directory-pagination-status {
		text-align: center;
	}

	.fct-directory-pagination-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.fct-directory-pagination-button {
		min-height: 46px;
	}
}

@media (max-width: 430px) {
	.fct-directory-card {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	.fct-directory-headshot {
		min-height: 118px;
	}

	.fct-directory-card-body {
		padding: 12px;
	}

	.fct-directory-card-body h3 {
		font-size: 18px;
	}
}

/* v42-13-92: Mobile public profile headshot should show as a real headshot, not a cropped banner. */
@media (max-width: 700px) {
	.fct-public-profile .fct-public-profile-hero-inner {
		padding-top: 34px;
	}

	.fct-public-profile .fct-public-profile-photo {
		width: min(280px, 74vw) !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		margin: 0 auto 26px !important;
		overflow: visible !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger,
	.fct-public-profile .fct-public-profile-photo a {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		overflow: visible !important;
		background: transparent !important;
	}

	.fct-public-profile .fct-public-profile-photo img,
	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger img,
	.fct-public-profile .fct-public-profile-photo a > img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: 430px !important;
		aspect-ratio: auto !important;
		object-fit: contain !important;
		object-position: center center !important;
		border: 1px solid rgba(166, 197, 231, .22) !important;
		background: rgba(5, 6, 7, .76) !important;
		box-shadow: 0 20px 48px rgba(0,0,0,.36) !important;
	}

	.fct-public-profile .fct-public-profile-photo-placeholder {
		width: min(280px, 74vw) !important;
		aspect-ratio: 3 / 4 !important;
		margin: 0 auto !important;
	}
}


/* v42-13-93: Mobile public profile hero should lead with name/details, then show the headshot underneath. */
@media (max-width: 700px) {
	.fct-public-profile .fct-public-profile-hero {
		align-items: flex-start !important;
		min-height: auto !important;
		overflow: visible !important;
	}

	.fct-public-profile .fct-public-profile-hero-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 22px !important;
		padding: 42px 0 38px !important;
		text-align: center !important;
	}

	.fct-public-profile .fct-public-profile-intro {
		order: 1 !important;
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
	}

	.fct-public-profile .fct-public-profile-intro h1 {
		margin-bottom: 14px !important;
		font-size: clamp(38px, 12vw, 54px) !important;
		line-height: .98 !important;
		letter-spacing: -.045em !important;
	}

	.fct-public-profile .fct-public-profile-location {
		margin-top: 14px !important;
		font-size: 15px !important;
		line-height: 1.45 !important;
	}

	.fct-public-profile .fct-public-profile-actions {
		justify-content: center !important;
		margin-top: 20px !important;
	}

	.fct-public-profile .fct-public-profile-photo {
		order: 2 !important;
		width: min(320px, 84vw) !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		margin: 0 auto !important;
		overflow: visible !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger,
	.fct-public-profile .fct-public-profile-photo a {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		overflow: visible !important;
		background: transparent !important;
	}

	.fct-public-profile .fct-public-profile-photo img,
	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger img,
	.fct-public-profile .fct-public-profile-photo a > img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: 420px !important;
		aspect-ratio: auto !important;
		object-fit: contain !important;
		object-position: center top !important;
		border: 1px solid rgba(166, 197, 231, .22) !important;
		background: rgba(5, 6, 7, .76) !important;
		box-shadow: 0 20px 48px rgba(0,0,0,.36) !important;
	}

	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger > span,
	.fct-public-profile .fct-public-profile-photo a > span {
		bottom: 8px !important;
		font-size: 10px !important;
	}

	.fct-public-profile .fct-public-profile-photo-placeholder {
		order: 2 !important;
		width: min(320px, 84vw) !important;
		aspect-ratio: 3 / 4 !important;
		margin: 0 auto !important;
	}
}


/* v42-13-94: keep mobile public profiles clean by hiding the large hero photo, and move the back link into the content area. */
.fct-profile-back-row {
	display: flex;
	justify-content: flex-start;
	margin: 0 0 18px;
}

.fct-profile-back-row .fct-profile-back-link {
	margin-bottom: 0;
}

.fct-media-help-text a {
	color: #a6c5e7;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fct-media-help-text a:hover,
.fct-media-help-text a:focus {
	color: #ffffff;
}

@media (min-width: 701px) {
	.fct-public-profile-content {
		padding-top: 34px;
	}
}

@media (max-width: 700px) {
	.fct-public-profile .fct-profile-back-row {
		justify-content: center;
		margin-bottom: 16px;
	}

	.fct-public-profile .fct-profile-back-row .fct-profile-back-link {
		width: auto;
	}
}

/* v42-13-95: public profile YouTube/Vimeo performer reel embeds */
.fct-public-profile-reel-list {
	display: grid;
	gap: 18px;
}

.fct-public-profile-reel-card {
	display: grid;
	gap: 12px;
}

.fct-public-profile-reel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.fct-public-profile-reel-header strong {
	color: #ffffff;
	font-size: 15px;
	font-weight: 900;
}

.fct-public-profile-reel-header span {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 5px 9px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(166, 197, 231, .08);
	color: var(--fct-ice, #d7ecfb);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-public-profile-reel-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 16px;
	background: #000;
	box-shadow: 0 18px 44px rgba(0,0,0,.30);
}

.fct-public-profile-reel-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.fct-reel-open-link {
	justify-self: start;
	color: var(--fct-ice, #d7ecfb);
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fct-reel-open-link:hover,
.fct-reel-open-link:focus {
	color: #ffffff;
}

@media (max-width: 700px) {
	.fct-public-profile-reel-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.fct-public-profile-reel-embed {
		border-radius: 12px;
	}
}


/* Profile media staged upload/removal preview */
.fct-media-remove-button,
.fct-media-pending-remove {
	appearance: none;
	border: 1px solid rgba(248, 113, 113, .28);
	background: rgba(248, 113, 113, .10);
	color: #fecaca;
	min-height: 34px;
	padding: 8px 10px;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 850;
	text-align: center;
	cursor: pointer;
}

.fct-media-remove-button:hover,
.fct-media-remove-button:focus-visible,
.fct-media-pending-remove:hover,
.fct-media-pending-remove:focus-visible {
	background: rgba(248, 113, 113, .18);
	color: #ffffff;
}

.fct-media-library-card.is-pending-remove {
	opacity: .58;
	outline: 2px solid rgba(248, 113, 113, .55);
	outline-offset: -2px;
}

.fct-media-library-card.is-pending-remove::after {
	content: "Will be removed when you save";
	position: absolute;
	inset: auto 10px 10px 10px;
	z-index: 3;
	padding: 8px 10px;
	background: rgba(127, 29, 29, .92);
	color: #ffffff;
	font-size: 11px;
	line-height: 1.25;
	font-weight: 850;
	text-align: center;
}

.fct-media-library-card-doc.is-pending-remove::after {
	position: static;
	grid-column: 1 / -1;
	margin-top: 2px;
}

.fct-media-pending-list {
	display: grid;
	gap: 10px;
	margin-top: 8px;
}

.fct-media-pending-list[hidden] {
	display: none !important;
}

.fct-media-pending-heading {
	padding: 9px 11px;
	border: 1px solid rgba(103, 232, 249, .18);
	background: rgba(103, 232, 249, .08);
	color: #d7ecfb;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 850;
}

.fct-media-pending-card {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px;
	border: 1px solid rgba(166, 197, 231, .15);
	background: rgba(255,255,255,.035);
}

.fct-media-pending-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 62px;
	overflow: hidden;
	background: rgba(0,0,0,.24);
}

.fct-media-pending-preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fct-media-pending-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.fct-media-pending-copy strong {
	color: var(--nsff-text);
	font-size: 13px;
	line-height: 1.25;
	font-weight: 850;
	overflow-wrap: anywhere;
}

.fct-media-pending-copy span,
.fct-media-pending-copy em {
	color: var(--nsff-muted);
	font-size: 12px;
	line-height: 1.3;
	font-style: normal;
}

@media (max-width: 700px) {
	.fct-media-pending-card {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.fct-media-pending-remove {
		grid-column: 1 / -1;
		width: 100%;
		min-height: 42px;
	}
}

/* v42.13.98 - clearer save confirmation, larger resume previews, and media ordering controls */
.fct-profile-save-message {
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.fct-profile-save-message:not([hidden]) {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	padding: 12px 14px;
	border: 1px solid rgba(166, 197, 231, .16);
	background: rgba(255,255,255,.035);
	box-shadow: 0 12px 26px rgba(0,0,0,.16);
}

.fct-profile-save-message.is-success {
	border-color: rgba(34, 197, 94, .42);
	background: rgba(34, 197, 94, .12);
	color: #bbf7d0;
}

.fct-profile-save-message.is-success::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: rgba(34, 197, 94, .22);
	color: #dcfce7;
	font-weight: 950;
	flex: 0 0 auto;
}

.fct-profile-save-message.is-saving {
	border-color: rgba(103, 232, 249, .30);
	background: rgba(103, 232, 249, .08);
	color: #d7ecfb;
}

.fct-profile-save-message.is-error {
	border-color: rgba(248, 113, 113, .38);
	background: rgba(248, 113, 113, .10);
	color: #fecaca;
}

.fct-profile-save-message.is-recently-saved {
	animation: fctSavedPulse .9s ease-out 1;
}

@keyframes fctSavedPulse {
	0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .35); }
	100% { box-shadow: 0 0 0 12px rgba(34, 197, 94, 0); }
}

.fct-media-library-card-doc {
	grid-template-columns: 70px minmax(0, 1fr);
	min-height: 112px;
}

.fct-media-library-card-doc .fct-media-doc-icon {
	width: 70px;
	height: 86px;
	font-size: 13px;
}

.fct-media-pending-card-doc {
	grid-template-columns: 76px minmax(0, 1fr) auto;
	align-items: start;
}

.fct-media-pending-card-doc .fct-media-pending-preview {
	width: 76px;
	height: 94px;
}

.fct-media-pending-card-doc .fct-media-doc-icon {
	width: 76px;
	height: 94px;
	font-size: 13px;
}

.fct-media-pending-card-doc .fct-media-pending-copy {
	padding-top: 4px;
}

.fct-media-primary-badge {
	position: absolute;
	left: 8px;
	top: 8px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 5px 8px;
	border: 1px solid rgba(103, 232, 249, .28);
	background: rgba(2, 4, 7, .84);
	color: #d7ecfb;
	font-size: 10px;
	line-height: 1;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-media-library-name {
	top: 40px;
}

.fct-media-order-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
}

.fct-media-order-button {
	appearance: none;
	border: 1px solid rgba(103, 232, 249, .22);
	background: rgba(103, 232, 249, .08);
	color: #d7ecfb;
	min-height: 32px;
	padding: 7px 8px;
	font-size: 11px;
	line-height: 1.2;
	font-weight: 850;
	cursor: pointer;
}

.fct-media-order-button:hover,
.fct-media-order-button:focus-visible {
	background: rgba(103, 232, 249, .16);
	color: #ffffff;
}

.fct-media-order-button:disabled {
	opacity: .42;
	cursor: not-allowed;
}

.fct-media-library-card-doc .fct-media-order-actions {
	grid-column: 1 / -1;
}

@media (max-width: 700px) {
	.fct-media-library-card-doc,
	.fct-media-pending-card-doc {
		grid-template-columns: 70px minmax(0, 1fr);
	}

	.fct-media-library-card-doc .fct-media-doc-icon,
	.fct-media-pending-card-doc .fct-media-doc-icon,
	.fct-media-pending-card-doc .fct-media-pending-preview {
		width: 70px;
		height: 88px;
	}

	.fct-media-pending-card-doc .fct-media-pending-remove {
		grid-column: 1 / -1;
	}

	.fct-media-order-actions {
		grid-template-columns: 1fr;
	}

	.fct-media-order-button {
		min-height: 40px;
	}
}

/* v42.13.99 - persistent green saved status and media order refresh fix */
.fct-profile-form-footer {
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.fct-profile-footer-save-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: .01em;
	border: 1px solid rgba(166, 197, 231, .18);
	background: rgba(255,255,255,.04);
	color: #d7ecfb;
}

.fct-profile-footer-save-status[hidden] {
	display: none !important;
}

.fct-profile-footer-save-status.is-success {
	border-color: rgba(34, 197, 94, .48);
	background: rgba(34, 197, 94, .16);
	color: #bbf7d0;
}

.fct-profile-footer-save-status.is-success::before {
	content: "✓";
	margin-right: 7px;
	font-weight: 950;
}

.fct-profile-footer-save-status.is-saving {
	border-color: rgba(103, 232, 249, .34);
	background: rgba(103, 232, 249, .10);
	color: #d7ecfb;
}

.fct-profile-footer-save-status.is-error {
	border-color: rgba(248, 113, 113, .42);
	background: rgba(248, 113, 113, .12);
	color: #fecaca;
}

.fct-profile-footer-save-status.is-recently-saved {
	animation: fctSavedPulse .9s ease-out 1;
}

@media (max-width: 700px) {
	.fct-profile-footer-save-status {
		width: 100%;
	}
}


/* v42.13.100 - AJAX profile save guard */
.fct-profile-form[data-fct-profile-saving="1"] [data-fct-save-button] {
	pointer-events: none;
}

/* v42.13.101 - admin settings cleanup, history controls, and compact save status */
.fct-notification-admin-panel,
.fct-announcement-admin-panel {
	display: grid;
	gap: 18px;
}

.fct-settings-panel-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.fct-settings-panel-head h3,
.fct-notification-admin-panel h3,
.fct-announcement-admin-panel h3 {
	margin: 0 0 6px;
	color: #ffffff;
	font-size: 18px;
	line-height: 1.25;
}

.fct-notification-status-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.fct-notification-status-grid > div {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid rgba(166, 197, 231, .14);
	background: rgba(255,255,255,.03);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.fct-notification-status-grid strong {
	display: block;
	margin-bottom: 4px;
	color: var(--nsff-muted);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-notification-status-grid span {
	display: block;
	color: #eaf2ff;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 800;
	word-break: break-word;
}

.fct-settings-section-card,
.fct-manager-settings-card {
	padding: 16px;
	border: 1px solid rgba(166, 197, 231, .16);
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
	box-shadow: 0 16px 34px rgba(0,0,0,.18);
}

.fct-settings-section-copy {
	display: grid;
	gap: 5px;
	margin-bottom: 14px;
}

.fct-settings-section-copy strong {
	color: #ffffff;
	font-size: 13px;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-settings-section-copy span {
	color: var(--nsff-text-soft);
	font-size: 13px;
	line-height: 1.5;
}

.fct-settings-option-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}

.fct-settings-small-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 14px;
}

.fct-settings-toggle-card,
.fct-settings-trim-card,
.fct-notification-admin-panel .fct-checkbox-card {
	align-items: flex-start;
	min-height: 100%;
	padding: 13px;
	border: 1px solid rgba(166, 197, 231, .16);
	background: rgba(15, 23, 42, .42);
}

.fct-settings-toggle-card input,
.fct-settings-trim-card input,
.fct-notification-admin-panel .fct-checkbox-card input {
	margin-top: 3px;
	flex: 0 0 auto;
}

.fct-settings-toggle-card span,
.fct-settings-trim-card span,
.fct-notification-admin-panel .fct-checkbox-card span {
	display: grid;
	gap: 4px;
}

.fct-settings-toggle-card strong,
.fct-settings-trim-card strong,
.fct-notification-admin-panel .fct-checkbox-card strong {
	color: #ffffff;
	font-size: 13px;
	line-height: 1.35;
}

.fct-settings-toggle-card em,
.fct-settings-trim-card em,
.fct-notification-admin-panel .fct-checkbox-card em {
	color: var(--nsff-text-soft);
	font-size: 12px;
	font-style: normal;
	line-height: 1.45;
}

.fct-settings-trim-card {
	margin-top: 14px;
}

.fct-settings-actions,
.fct-manager-add-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 14px;
}

.fct-manager-add-card {
	display: grid;
	grid-template-columns: minmax(220px, .8fr) minmax(280px, 1.2fr) auto;
	align-items: end;
	gap: 14px;
}

.fct-manager-add-control {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.fct-manager-search {
	position: relative;
}

.fct-manager-selected-user {
	margin-top: 8px;
	padding: 9px 10px;
	border: 1px solid rgba(34, 197, 94, .28);
	background: rgba(34, 197, 94, .10);
	color: #bbf7d0;
	font-size: 12px;
	font-weight: 850;
}

.fct-manager-search-results {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	z-index: 20;
	max-height: 260px;
	overflow: auto;
	border: 1px solid rgba(166, 197, 231, .20);
	background: rgba(15, 23, 42, .98);
	box-shadow: 0 18px 40px rgba(0,0,0,.36);
}

.fct-manager-search-results button {
	display: grid;
	gap: 2px;
	width: 100%;
	padding: 10px 12px;
	border: 0;
	border-bottom: 1px solid rgba(166, 197, 231, .10);
	background: transparent;
	color: #eaf2ff;
	text-align: left;
	cursor: pointer;
}

.fct-manager-search-results button:hover,
.fct-manager-search-results button:focus {
	background: rgba(103, 232, 249, .10);
	outline: none;
}

.fct-manager-settings-list {
	display: grid;
	gap: 12px;
}

.fct-manager-settings-card {
	padding: 0;
	overflow: hidden;
}

.fct-manager-settings-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 15px 16px;
	cursor: pointer;
	list-style: none;
}

.fct-manager-settings-head::-webkit-details-marker {
	display: none;
}

.fct-manager-summary-title {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.fct-manager-summary-title strong {
	color: #ffffff;
	font-size: 14px;
	line-height: 1.25;
}

.fct-manager-summary-title span,
.fct-manager-summary-title em {
	color: var(--nsff-text-soft);
	font-size: 12px;
	font-style: normal;
	line-height: 1.35;
	word-break: break-word;
}

.fct-manager-summary-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 6px 10px;
	border: 1px solid rgba(103, 232, 249, .24);
	background: rgba(103, 232, 249, .08);
	color: #d7ecfb;
	font-size: 12px;
	font-weight: 850;
	white-space: nowrap;
}

.fct-manager-settings-form {
	padding: 0 16px 16px;
}

.fct-front-admin-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 18px;
	padding: 14px;
	border: 1px solid rgba(166, 197, 231, .12);
	background: rgba(255,255,255,.025);
}

.fct-front-admin-pagination-status {
	color: #eaf2ff;
	font-size: 13px;
	font-weight: 850;
}

@media (max-width: 980px) {
	.fct-notification-status-grid,
	.fct-settings-option-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fct-manager-add-card {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.fct-settings-actions,
	.fct-manager-add-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 700px) {
	.fct-notification-status-grid,
	.fct-settings-option-grid,
	.fct-settings-small-grid {
		grid-template-columns: 1fr;
	}

	.fct-manager-settings-head,
	.fct-front-admin-pagination {
		align-items: stretch;
		flex-direction: column;
	}

	.fct-manager-summary-status,
	.fct-front-admin-pagination .fct-btn {
		width: 100%;
	}
}

/* v42.13.102 - refined admin history cleanup, AJAX save status, and numbered pagination */
.fct-settings-cleanup-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
	padding: 13px 14px;
	border: 1px solid rgba(251, 191, 36, .20);
	background: rgba(251, 191, 36, .055);
}

.fct-settings-cleanup-copy {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.fct-settings-cleanup-copy strong {
	color: #ffffff;
	font-size: 13px;
	font-weight: 950;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.fct-settings-cleanup-copy span {
	color: var(--nsff-text-soft);
	font-size: 12px;
	line-height: 1.45;
}

.fct-settings-cleanup-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 8px 10px;
	border: 1px solid rgba(251, 191, 36, .22);
	background: rgba(15, 23, 42, .38);
	color: #fef3c7;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.25;
	cursor: pointer;
}

.fct-settings-cleanup-toggle input {
	margin: 0;
	flex: 0 0 auto;
}

.fct-admin-inline-save-status {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 6px 10px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.25;
	opacity: 0;
	transform: translateY(2px);
	transition: opacity .18s ease, transform .18s ease;
}

.fct-admin-inline-save-status.is-saving,
.fct-admin-inline-save-status.is-success,
.fct-admin-inline-save-status.is-error {
	opacity: 1;
	transform: translateY(0);
}

.fct-admin-inline-save-status.is-saving {
	border-color: rgba(103, 232, 249, .28);
	background: rgba(103, 232, 249, .09);
	color: #cffafe;
}

.fct-admin-inline-save-status.is-success {
	border-color: rgba(34, 197, 94, .30);
	background: rgba(34, 197, 94, .12);
	color: #bbf7d0;
}

.fct-admin-inline-save-status.is-error {
	border-color: rgba(248, 113, 113, .32);
	background: rgba(248, 113, 113, .12);
	color: #fecaca;
}

.fct-front-admin-page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
}

.fct-front-admin-page-number,
.fct-front-admin-page-gap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 34px;
	padding: 6px 9px;
	border: 1px solid rgba(166, 197, 231, .16);
	background: rgba(255,255,255,.035);
	color: #eaf2ff;
	font-size: 12px;
	font-weight: 900;
	text-decoration: none;
}

.fct-front-admin-page-number:hover,
.fct-front-admin-page-number:focus {
	border-color: rgba(103, 232, 249, .34);
	background: rgba(103, 232, 249, .11);
	color: #ffffff;
	outline: none;
}

.fct-front-admin-page-number.is-active {
	border-color: rgba(34, 197, 94, .36);
	background: rgba(34, 197, 94, .14);
	color: #bbf7d0;
}

.fct-front-admin-page-gap {
	border-color: transparent;
	background: transparent;
	color: var(--nsff-text-soft);
}

@media (max-width: 700px) {
	.fct-settings-cleanup-box {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.fct-settings-cleanup-toggle,
	.fct-admin-inline-save-status {
		width: 100%;
	}

	.fct-front-admin-page-numbers {
		width: 100%;
	}
}

/* v42-13-104 youth display name fix */
.fct-youth-profile-manager {
	display: grid;
	gap: 16px;
}

.fct-youth-manager-head h3 {
	margin: 0 0 6px;
}

.fct-youth-profile-switcher {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.fct-youth-profile-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid rgba(148, 163, 184, .35);
	border-radius: 999px;
	background: rgba(15, 23, 42, .36);
	color: inherit;
	text-decoration: none;
	font-weight: 700;
	font-size: .92rem;
}

.fct-youth-profile-pill.is-active {
	border-color: rgba(96, 165, 250, .8);
	background: rgba(37, 99, 235, .22);
}

.fct-youth-create-form {
	border-top: 1px solid rgba(148, 163, 184, .24);
	padding-top: 14px;
}

.fct-youth-create-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 12px;
	align-items: end;
}

.fct-youth-profile-notice,
.fct-youth-public-notice {
	display: grid;
	gap: 4px;
}

.fct-youth-public-badge,
.fct-youth-directory-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	border: 1px solid rgba(96, 165, 250, .45);
	border-radius: 999px;
	background: rgba(14, 165, 233, .14);
	padding: 5px 10px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .01em;
}

.fct-youth-public-badge {
	margin: 4px 0 2px;
}

.fct-youth-directory-badge {
	margin: 4px 0 6px;
}

@media (max-width: 700px) {
	.fct-youth-create-row {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.fct-youth-create-row .fct-btn {
		width: 100%;
	}
}

/* v42-13-111 directory networking agreement */
.fct-directory-agreement-panel {
	display: grid;
	gap: 16px;
	border-color: rgba(96, 165, 250, .28);
	background:
		linear-gradient(180deg, rgba(15, 23, 42, .94), rgba(2, 6, 23, .92));
}

.fct-directory-agreement-panel.is-required {
	border-color: rgba(250, 204, 21, .38);
	box-shadow: 0 22px 50px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255,255,255,.04);
}

.fct-directory-agreement-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.fct-directory-agreement-head h3 {
	margin: 4px 0 8px;
}

.fct-directory-agreement-list {
	margin: 0;
	padding-left: 22px;
	display: grid;
	gap: 8px;
	color: var(--nsff-text-soft);
	font-size: .94rem;
	line-height: 1.55;
}

.fct-agreement-accept-card,
.fct-agreement-inline-check {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	border: 1px solid rgba(250, 204, 21, .34);
	background: rgba(250, 204, 21, .08);
	padding: 13px 14px;
	color: #f8fafc;
}

.fct-agreement-accept-card input,
.fct-agreement-inline-check input {
	margin-top: 3px;
	accent-color: var(--fct-gold);
	flex: 0 0 auto;
}

.fct-agreement-accept-card span {
	display: grid;
	gap: 3px;
}

.fct-agreement-accept-card strong {
	font-size: .98rem;
}

.fct-agreement-accept-card em,
.fct-agreement-inline-check span {
	font-style: normal;
	color: #cbd5e1;
	font-size: .9rem;
	line-height: 1.45;
}

.fct-agreement-accepted-note {
	border: 1px solid rgba(34, 197, 94, .36);
	background: rgba(34, 197, 94, .10);
	color: #bbf7d0;
	padding: 11px 13px;
	font-weight: 800;
	font-size: .92rem;
}

.fct-youth-create-form .fct-agreement-inline-check {
	margin-top: 12px;
}

@media (max-width: 700px) {
	.fct-directory-agreement-head {
		display: grid;
	}

	.fct-directory-agreement-head .fct-btn {
		width: 100%;
	}
}

/* v42-13-108 youth profiles no fake email */
.fct-directory-agreement-gate {
	max-width: 980px;
	margin: 0 auto 28px auto;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid rgba(147, 197, 253, 0.26);
	background: linear-gradient(135deg, rgba(8, 15, 28, 0.96), rgba(19, 24, 42, 0.96));
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}

.fct-directory-agreement-gate-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 18px;
	border-radius: 18px;
	border: 1px solid rgba(147, 197, 253, 0.32);
	background: rgba(59, 130, 246, 0.14);
	color: #bfdbfe;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.fct-directory-agreement-gate h3 {
	margin: 6px 0 12px 0;
	font-size: clamp(26px, 4vw, 42px);
	line-height: 1.08;
}

.fct-directory-agreement-gate .fct-directory-agreement-list {
	margin-top: 22px;
	margin-bottom: 24px;
	padding: 18px 18px 18px 38px;
	border: 1px solid rgba(148, 163, 184, 0.2);
	border-radius: 18px;
	background: rgba(15, 23, 42, 0.72);
}

.fct-directory-agreement-gate .fct-directory-agreement-list li {
	margin-bottom: 10px;
	line-height: 1.55;
}

.fct-directory-agreement-gate-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.fct-directory-agreement-gate-actions .fct-admin-inline-save-status {
	min-height: 24px;
}

@media (max-width: 700px) {
	.fct-directory-agreement-gate {
		padding: 22px 18px;
	}

	.fct-directory-agreement-gate .fct-directory-agreement-list {
		padding: 16px 16px 16px 30px;
	}

	.fct-directory-agreement-gate-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.fct-directory-agreement-gate-actions .fct-btn {
		width: 100%;
		justify-content: center;
	}
}


/* v42-13-108 youth profiles no fake email */
.fct-directory-agreement-record-notice {
	display: grid;
	gap: 0.65rem;
	align-items: start;
}

.fct-directory-agreement-record-notice .fct-btn,
.fct-directory-agreement-admin-record .fct-btn {
	justify-self: start;
}

/* v42-13-111 typed directory agreement signature */
.fct-agreement-signature-fields {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(150px, 0.75fr);
	gap: 14px;
	margin: 18px 0 10px 0;
}

.fct-directory-agreement-gate .fct-agreement-signature-fields .fct-field {
	margin: 0;
}

.fct-directory-agreement-gate .fct-agreement-signature-fields input[type="text"],
.fct-directory-agreement-gate .fct-agreement-signature-fields input[type="date"] {
	width: 100%;
	min-height: 46px;
	border-radius: 12px;
	border: 1px solid rgba(147, 197, 253, 0.3);
	background: rgba(8, 16, 32, 0.84);
	color: #f8fbff;
	padding: 10px 12px;
}

.fct-agreement-signature-note {
	margin: 0 0 14px 0;
}

@media (max-width: 640px) {
	.fct-agreement-signature-fields {
		grid-template-columns: 1fr;
	}

	.fct-directory-agreement-gate .fct-agreement-signature-fields input[type="text"],
	.fct-directory-agreement-gate .fct-agreement-signature-fields input[type="date"] {
		min-height: 52px;
	}
}


/* v42-13-114 youth profile create row alignment */
.fct-youth-create-row {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
}

.fct-youth-create-row .fct-field {
	margin: 0;
}

.fct-youth-create-row .fct-input,
.fct-youth-create-row .fct-btn {
	min-height: 46px;
}

.fct-youth-create-row .fct-btn {
	align-self: end;
	white-space: nowrap;
}

.fct-youth-create-row [data-fct-youth-create-status] {
	grid-column: 1 / -1;
	justify-self: start;
	min-height: 20px;
}

@media (max-width: 700px) {
	.fct-youth-create-row {
		grid-template-columns: 1fr;
	}

	.fct-youth-create-row .fct-btn {
		width: 100%;
	}
}

.fct-front-admin-status-deactivated {
	background: rgba(239, 68, 68, .14);
	border: 1px solid rgba(239, 68, 68, .36);
	color: #fecaca;
}

/* v42-13-116 shared filmmaker directory status notices */
.fct-directory-status-card {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(16px, 3vw, 24px);
	align-items: start;
	max-width: 820px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 40px) !important;
	overflow: hidden;
	text-align: left !important;
}

.fct-directory-status-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: linear-gradient(180deg, rgba(147, 197, 253, .95), rgba(45, 212, 191, .62));
	pointer-events: none;
}

.fct-directory-status-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border: 1px solid rgba(147, 197, 253, .28);
	border-radius: 20px;
	background: rgba(59, 130, 246, .12);
	color: #bfdbfe;
	font-size: 13px;
	font-weight: 950;
	letter-spacing: .12em;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 36px rgba(0,0,0,.28);
}

.fct-directory-status-copy {
	display: grid;
	gap: 10px;
}

.fct-directory-status-card h3 {
	margin: 0 !important;
	color: #ffffff !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(28px, 4vw, 44px) !important;
	font-weight: 900 !important;
	line-height: 1.08 !important;
	letter-spacing: -.035em !important;
}

.fct-directory-status-card p {
	max-width: 680px;
	margin: 0 !important;
	color: var(--nsff-text-soft) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
}

.fct-directory-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 10px;
}

.fct-directory-status-card.is-warning::before {
	background: linear-gradient(180deg, rgba(251, 191, 36, .95), rgba(147, 197, 253, .5));
}

.fct-directory-status-card.is-warning .fct-directory-status-icon {
	border-color: rgba(251, 191, 36, .32);
	background: rgba(251, 191, 36, .12);
	color: #fde68a;
}

.fct-directory-status-card.is-danger::before {
	background: linear-gradient(180deg, rgba(248, 113, 113, .95), rgba(251, 191, 36, .48));
}

.fct-directory-status-card.is-danger .fct-directory-status-icon {
	border-color: rgba(248, 113, 113, .32);
	background: rgba(248, 113, 113, .12);
	color: #fecaca;
}

.fct-directory-status-card.is-success::before {
	background: linear-gradient(180deg, rgba(45, 212, 191, .95), rgba(147, 197, 253, .5));
}

.fct-directory-status-card.is-success .fct-directory-status-icon {
	border-color: rgba(45, 212, 191, .32);
	background: rgba(45, 212, 191, .12);
	color: #99f6e4;
}

@media (max-width: 640px) {
	.fct-directory-status-card {
		grid-template-columns: 1fr;
	}

	.fct-directory-status-icon {
		width: 54px;
		height: 54px;
	}

	.fct-directory-status-actions .fct-btn {
		width: 100%;
		justify-content: center;
	}
}


/* v42-13-118 prelaunch directory polish */
.fct-directory-empty-state {
	width: min(100%, 860px);
}

.fct-directory-empty-state .fct-directory-status-actions {
	margin-top: 14px;
}

.fct-directory-inline-empty {
	display: grid;
	gap: 6px;
	margin: 0 0 24px;
	padding: 20px 22px;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(10, 25, 48, .72), rgba(6, 10, 20, .88));
	box-shadow: 0 18px 46px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05);
	color: var(--nsff-text-soft);
	text-align: center;
}

.fct-directory-inline-empty[hidden] {
	display: none !important;
}

.fct-directory-inline-empty strong {
	color: #ffffff;
	font-size: 16px;
	font-weight: 950;
}

.fct-directory-inline-empty span {
	color: var(--nsff-text-soft);
	font-size: 14px;
	line-height: 1.55;
}

.fct-profile-save-message {
	display: grid;
	gap: 4px;
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 18px;
	background: rgba(255,255,255,.04);
	color: #d7ecfb;
	font-size: 14px;
	font-weight: 850;
	line-height: 1.5;
}

.fct-profile-save-message[hidden],
.fct-profile-save-message.is-empty {
	display: none !important;
}

.fct-profile-save-message.is-success,
.fct-profile-save-message.is-recently-saved {
	border-color: rgba(34, 197, 94, .42);
	background: rgba(34, 197, 94, .12);
	color: #bbf7d0;
}

.fct-profile-save-message.is-success::before,
.fct-profile-save-message.is-recently-saved::before {
	content: "✓ Saved";
	color: #ffffff;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-profile-save-message.is-error {
	border-color: rgba(248, 113, 113, .42);
	background: rgba(248, 113, 113, .12);
	color: #fecaca;
}

.fct-profile-save-message.is-error::before {
	content: "Needs attention";
	color: #ffffff;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

.fct-profile-save-message.is-saving {
	border-color: rgba(103, 232, 249, .34);
	background: rgba(103, 232, 249, .10);
	color: #d7ecfb;
}

.fct-profile-save-message.is-saving::before {
	content: "Saving";
	color: #ffffff;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .10em;
	text-transform: uppercase;
}

/* v42.13.120 - frontend admin approved search and pagination */
.fct-front-admin-search-panel {
	margin-bottom: 14px;
}

.fct-front-admin-search-form {
	display: grid;
	gap: 10px;
}

.fct-front-admin-search-form label {
	color: #ffffff;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-front-admin-search-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 10px;
	align-items: center;
}

.fct-front-admin-search-row input[type="search"] {
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	border: 1px solid rgba(166, 197, 231, .18);
	background: rgba(15, 23, 42, .42);
	color: #eaf2ff;
	font: inherit;
}

.fct-front-admin-search-row input[type="search"]::placeholder {
	color: rgba(234, 242, 255, .56);
}

.fct-front-admin-search-row input[type="search"]:focus {
	border-color: rgba(103, 232, 249, .42);
	outline: none;
	box-shadow: 0 0 0 3px rgba(103, 232, 249, .10);
}

.fct-front-admin-search-summary {
	color: var(--nsff-text-soft);
	font-size: 12px;
	line-height: 1.45;
}

@media (max-width: 700px) {
	.fct-front-admin-search-row {
		grid-template-columns: 1fr;
	}

	.fct-front-admin-search-row .fct-btn {
		width: 100%;
	}
}

/* v42.13.144 - Keep optional youth profile tools tucked away unless needed. */
.fct-youth-profile-manager {
	padding: 0;
	overflow: hidden;
}

.fct-youth-profile-manager > summary {
	list-style: none;
}

.fct-youth-profile-manager > summary::-webkit-details-marker {
	display: none;
}

.fct-youth-manager-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px;
	cursor: pointer;
	border-radius: inherit;
}

.fct-youth-manager-summary-main {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.fct-youth-manager-kicker {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 4px 9px;
	border: 1px solid rgba(96, 165, 250, .36);
	border-radius: 999px;
	background: rgba(14, 165, 233, .12);
	color: rgba(191, 219, 254, .96);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-youth-manager-title {
	color: rgba(234, 242, 255, .98);
	font-size: 1.05rem;
	font-weight: 900;
	letter-spacing: -.01em;
}

.fct-youth-manager-note {
	color: rgba(203, 213, 225, .88);
	font-size: .93rem;
	line-height: 1.45;
}

.fct-youth-manager-toggle {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 13px;
	border: 1px solid rgba(166, 197, 231, .28);
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	color: rgba(234, 242, 255, .96);
	font-size: .85rem;
	font-weight: 900;
}

.fct-youth-profile-manager[open] .fct-youth-manager-toggle {
	background: rgba(96, 165, 250, .18);
	border-color: rgba(96, 165, 250, .5);
}

.fct-youth-profile-manager[open] .fct-youth-manager-toggle::before {
	content: 'Close';
}

.fct-youth-profile-manager[open] .fct-youth-manager-toggle {
	font-size: 0;
}

.fct-youth-profile-manager[open] .fct-youth-manager-toggle::before {
	font-size: .85rem;
}

.fct-youth-manager-body {
	display: grid;
	gap: 16px;
	padding: 0 18px 18px;
}

@media (max-width: 700px) {
	.fct-youth-manager-summary {
		align-items: flex-start;
		flex-direction: column;
	}

	.fct-youth-manager-toggle {
		width: 100%;
	}

	.fct-youth-create-row {
		grid-template-columns: 1fr;
		align-items: stretch;
	}
}

/* v42.13.145 - Polished youth profile switcher for filmmaker edit profile. */
.fct-youth-profile-hub .fct-youth-manager-summary {
	background:
		linear-gradient(135deg, rgba(96, 165, 250, .12), rgba(168, 85, 247, .08)),
		rgba(15, 23, 42, .42);
}

.fct-youth-profile-hub .fct-youth-manager-body {
	padding-top: 2px;
}

.fct-youth-hub-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
	gap: 14px;
	align-items: stretch;
}

.fct-youth-active-card,
.fct-youth-switch-card,
.fct-youth-create-drawer {
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 18px;
	background: rgba(5, 15, 30, .44);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.fct-youth-active-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px;
}

.fct-youth-avatar {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border: 2px solid rgba(96, 165, 250, .46);
	border-radius: 999px;
	background:
		radial-gradient(circle at 30% 25%, rgba(96, 165, 250, .34), transparent 52%),
		rgba(15, 23, 42, .92);
	color: #eaf2ff;
	font-weight: 950;
	font-size: 1.35rem;
	overflow: hidden;
}

.fct-youth-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fct-youth-active-copy {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.fct-youth-active-label {
	display: inline-flex;
	width: fit-content;
	padding: 3px 9px;
	border: 1px solid rgba(125, 211, 252, .28);
	border-radius: 999px;
	background: rgba(14, 165, 233, .12);
	color: rgba(191, 219, 254, .98);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.fct-youth-active-copy strong {
	color: rgba(255, 255, 255, .98);
	font-size: 1.08rem;
	line-height: 1.2;
}

.fct-youth-active-copy em {
	color: rgba(203, 213, 225, .86);
	font-style: normal;
	font-size: .9rem;
	line-height: 1.35;
}

.fct-youth-switch-card {
	display: grid;
	gap: 8px;
	padding: 16px;
}

.fct-youth-switch-card label {
	color: rgba(234, 242, 255, .94);
	font-weight: 900;
}

.fct-youth-profile-select {
	min-height: 46px;
	border-color: rgba(166, 197, 231, .28) !important;
	background-color: rgba(15, 23, 42, .72) !important;
	color: #eaf2ff !important;
	font-weight: 800;
}

.fct-youth-profile-select option {
	background: #0f172a;
	color: #eaf2ff;
}

.fct-youth-create-drawer {
	overflow: hidden;
}

.fct-youth-create-drawer > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	cursor: pointer;
	list-style: none;
	background: rgba(255, 255, 255, .04);
}

.fct-youth-create-drawer > summary::-webkit-details-marker {
	display: none;
}

.fct-youth-create-drawer > summary span {
	color: rgba(234, 242, 255, .98);
	font-weight: 950;
}

.fct-youth-create-drawer > summary em {
	color: rgba(191, 219, 254, .82);
	font-style: normal;
	font-size: .88rem;
}

.fct-youth-create-drawer .fct-youth-create-form {
	border-top: 1px solid rgba(166, 197, 231, .14);
	padding: 16px;
}

.fct-youth-create-drawer .fct-youth-create-row {
	grid-template-columns: minmax(0, 1fr) auto;
}

.fct-youth-create-drawer .fct-admin-inline-save-status {
	grid-column: 1 / -1;
}

@media (max-width: 860px) {
	.fct-youth-hub-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.fct-youth-active-card {
		align-items: flex-start;
	}

	.fct-youth-create-drawer .fct-youth-create-row {
		grid-template-columns: 1fr;
	}

	.fct-youth-create-drawer .fct-youth-create-row .fct-btn {
		width: 100%;
	}

	.fct-youth-create-drawer > summary {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* v42.13.146 - Cleaner edit profile top area. */
.fct-profile-summary-card {
	display: grid;
	gap: 10px;
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 1px solid rgba(166, 197, 231, .16);
	background: rgba(9, 18, 32, .62);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.fct-profile-summary-status {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.fct-profile-summary-text {
	color: rgba(203, 213, 225, .92);
	font-size: .9rem;
	line-height: 1.45;
}

.fct-profile-summary-agreement {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-top: 10px;
	border-top: 1px solid rgba(166, 197, 231, .12);
}

.fct-profile-summary-agreement > div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.fct-profile-summary-agreement strong {
	color: rgba(234, 242, 255, .96);
	font-size: .9rem;
	line-height: 1.3;
}

.fct-profile-summary-agreement span {
	color: rgba(203, 213, 225, .82);
	font-size: .85rem;
	line-height: 1.4;
}

.fct-profile-summary-agreement .fct-btn {
	min-height: 34px;
	padding: 8px 11px;
	font-size: .72rem;
	white-space: nowrap;
}

.fct-youth-profile-manager.fct-youth-profile-hub {
	margin-bottom: 16px;
	border-color: rgba(166, 197, 231, .14);
	background: rgba(9, 18, 32, .52);
}

.fct-youth-profile-hub .fct-youth-manager-summary {
	padding: 14px 16px;
	background: rgba(15, 23, 42, .42);
}

.fct-youth-manager-summary-main {
	gap: 4px;
}

.fct-youth-manager-kicker {
	padding: 3px 8px;
	font-size: .67rem;
}

.fct-youth-manager-title {
	font-size: 1rem;
}

.fct-youth-manager-note {
	font-size: .86rem;
}

.fct-youth-manager-toggle {
	min-height: 34px;
	padding: 7px 12px;
	font-size: .8rem;
}

.fct-youth-profile-hub .fct-youth-manager-body {
	gap: 12px;
	padding: 0 16px 16px;
}

.fct-youth-hub-layout {
	gap: 12px;
}

.fct-youth-active-card,
.fct-youth-switch-card,
.fct-youth-create-drawer {
	border-radius: 14px;
}

.fct-youth-active-card,
.fct-youth-switch-card {
	padding: 13px;
}

.fct-youth-avatar {
	width: 48px;
	height: 48px;
	font-size: 1.05rem;
}

.fct-youth-active-label {
	padding: 2px 8px;
	font-size: .66rem;
}

.fct-youth-active-copy strong {
	font-size: .98rem;
}

.fct-youth-active-copy em,
.fct-youth-switch-card .fct-muted {
	font-size: .82rem;
}

.fct-youth-switch-card label {
	font-size: .92rem;
}

.fct-youth-profile-select {
	min-height: 40px;
}

.fct-youth-create-drawer > summary {
	padding: 12px 14px;
}

.fct-youth-create-drawer > summary span {
	font-size: .94rem;
}

.fct-youth-create-drawer > summary em {
	font-size: .82rem;
}

@media (max-width: 700px) {
	.fct-profile-summary-agreement {
		align-items: stretch;
		flex-direction: column;
	}

	.fct-profile-summary-agreement .fct-btn {
		width: 100%;
		justify-content: center;
	}
}

/* v42.13.147 - Refine the filmmaker edit youth profile manager so it feels lighter and less busy. */
.fct-panel.fct-youth-profile-manager.fct-youth-profile-hub {
	margin: 0 0 14px;
	padding: 0;
	border: 1px solid rgba(166, 197, 231, .14);
	border-radius: 18px;
	background: rgba(7, 15, 28, .46);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
	overflow: hidden;
}

.fct-panel.fct-youth-profile-manager.fct-youth-profile-hub:not([open]) {
	background: rgba(7, 15, 28, .34);
}

.fct-youth-profile-hub .fct-youth-manager-summary {
	min-height: 0;
	padding: 12px 14px;
	border: 0;
	background: transparent;
}

.fct-youth-profile-hub[open] .fct-youth-manager-summary {
	border-bottom: 1px solid rgba(166, 197, 231, .12);
	background:
		linear-gradient(135deg, rgba(96, 165, 250, .08), rgba(168, 85, 247, .045)),
		rgba(15, 23, 42, .22);
}

.fct-youth-profile-hub .fct-youth-manager-summary-main {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.fct-youth-profile-hub .fct-youth-manager-kicker {
	padding: 3px 8px;
	border-color: rgba(125, 211, 252, .24);
	background: rgba(14, 165, 233, .10);
	font-size: .64rem;
	letter-spacing: .07em;
	white-space: nowrap;
}

.fct-youth-profile-hub .fct-youth-manager-title {
	font-size: .97rem;
	line-height: 1.25;
	white-space: nowrap;
}

.fct-youth-profile-hub .fct-youth-manager-note {
	font-size: .82rem;
	line-height: 1.35;
	color: rgba(203, 213, 225, .78);
}

.fct-youth-profile-hub:not([open]) .fct-youth-manager-note {
	display: none;
}

.fct-youth-profile-hub .fct-youth-manager-toggle {
	min-height: 32px;
	padding: 6px 11px;
	border-color: rgba(166, 197, 231, .22);
	background: rgba(15, 23, 42, .50);
	font-size: .78rem;
}

.fct-youth-profile-hub .fct-youth-manager-body {
	gap: 10px;
	padding: 12px 14px 14px;
}

.fct-youth-profile-hub .fct-youth-hub-layout {
	grid-template-columns: minmax(260px, .95fr) minmax(280px, 1fr);
	gap: 10px;
}

.fct-youth-profile-hub .fct-youth-active-card,
.fct-youth-profile-hub .fct-youth-switch-card,
.fct-youth-profile-hub .fct-youth-create-drawer {
	border-color: rgba(166, 197, 231, .13);
	border-radius: 14px;
	background: rgba(5, 12, 24, .34);
	box-shadow: none;
}

.fct-youth-profile-hub .fct-youth-active-card,
.fct-youth-profile-hub .fct-youth-switch-card {
	min-height: 0;
	padding: 12px;
}

.fct-youth-profile-hub .fct-youth-active-card {
	gap: 12px;
}

.fct-youth-profile-hub .fct-youth-avatar {
	width: 44px;
	height: 44px;
	border-width: 1px;
	font-size: .95rem;
}

.fct-youth-profile-hub .fct-youth-active-label {
	padding: 2px 7px;
	font-size: .62rem;
	letter-spacing: .055em;
}

.fct-youth-profile-hub .fct-youth-active-copy strong {
	font-size: .94rem;
}

.fct-youth-profile-hub .fct-youth-active-copy em,
.fct-youth-profile-hub .fct-youth-switch-card .fct-muted {
	font-size: .78rem;
	line-height: 1.35;
}

.fct-youth-profile-hub .fct-youth-switch-card label {
	font-size: .86rem;
}

.fct-youth-profile-hub .fct-youth-profile-select {
	min-height: 38px;
	font-size: .92rem;
}

.fct-youth-profile-hub .fct-youth-create-drawer > summary {
	padding: 11px 12px;
	background: rgba(255, 255, 255, .025);
}

.fct-youth-profile-hub .fct-youth-create-drawer > summary span {
	font-size: .9rem;
}

.fct-youth-profile-hub .fct-youth-create-drawer > summary em {
	font-size: .78rem;
	color: rgba(191, 219, 254, .72);
}

.fct-youth-profile-hub .fct-youth-create-drawer .fct-youth-create-form {
	padding: 12px;
}

@media (max-width: 860px) {
	.fct-youth-profile-hub .fct-youth-hub-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.fct-youth-profile-hub .fct-youth-manager-summary,
	.fct-youth-profile-hub .fct-youth-manager-summary-main {
		align-items: stretch;
		flex-direction: column;
	}

	.fct-youth-profile-hub .fct-youth-manager-title {
		white-space: normal;
	}

	.fct-youth-profile-hub:not([open]) .fct-youth-manager-note {
		display: block;
	}

	.fct-youth-profile-hub .fct-youth-manager-toggle {
		width: 100%;
	}
}

/* v42-13-148: Public profile reel tabs for multiple videos */
.fct-public-profile-reel-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.fct-public-profile-reel-title-row h3 {
	margin: 0;
}

.fct-public-profile-reel-title-row > span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 6px 10px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(166, 197, 231, .08);
	color: var(--fct-ice, #d7ecfb);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.fct-public-profile-reel-tabs-wrap {
	gap: 14px;
}

.fct-public-profile-reel-tabs {
	display: flex;
	align-items: stretch;
	gap: 10px;
	max-width: 100%;
	overflow-x: auto;
	padding: 2px 2px 8px;
	scrollbar-width: thin;
}

.fct-public-profile-reel-tab {
	appearance: none;
	border: 1px solid rgba(166, 197, 231, .20);
	border-radius: 14px;
	background: rgba(255, 255, 255, .045);
	color: var(--fct-ice, #d7ecfb);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 3px;
	justify-content: center;
	min-height: 58px;
	min-width: 150px;
	max-width: 230px;
	padding: 11px 14px;
	text-align: left;
	transition: border-color .18s ease, background .18s ease, transform .18s ease, color .18s ease;
}

.fct-public-profile-reel-tab:hover,
.fct-public-profile-reel-tab:focus {
	border-color: rgba(104, 220, 255, .55);
	background: rgba(104, 220, 255, .10);
	color: #ffffff;
	outline: none;
	transform: translateY(-1px);
}

.fct-public-profile-reel-tab.is-active {
	border-color: rgba(104, 220, 255, .78);
	background: linear-gradient(135deg, rgba(104, 220, 255, .18), rgba(166, 197, 231, .10));
	box-shadow: 0 0 0 1px rgba(104, 220, 255, .12), 0 12px 28px rgba(0, 0, 0, .20);
	color: #ffffff;
}

.fct-public-profile-reel-tab span {
	display: block;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.fct-public-profile-reel-tab small {
	color: rgba(215, 236, 251, .74);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fct-public-profile-reel-panels {
	display: grid;
	gap: 12px;
}

.fct-public-profile-reel-card[hidden] {
	display: none !important;
}

@media (max-width: 700px) {
	.fct-public-profile-reel-title-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.fct-public-profile-reel-tabs {
		gap: 8px;
		margin-left: -2px;
		margin-right: -2px;
	}

	.fct-public-profile-reel-tab {
		min-width: 132px;
		max-width: 190px;
		padding: 10px 12px;
	}
}

/* v42.13.151 - compact approved profile admin cards and cleaner save message. */
.fct-front-admin-approved-card {
	padding: 0;
	overflow: hidden;
}

.fct-front-admin-approved-card > summary {
	list-style: none;
}

.fct-front-admin-approved-card > summary::-webkit-details-marker {
	display: none;
}

.fct-front-admin-approved-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px 12px;
	cursor: pointer;
	transition: border-color .16s ease, box-shadow .16s ease;
}

.fct-front-admin-approved-summary:hover {
	background: transparent;
}

.fct-front-admin-approved-summary:focus {
	background: transparent;
	outline: none;
	box-shadow: inset 0 0 0 1px rgba(166, 197, 231, .18);
}

.fct-front-admin-approved-person {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.fct-front-admin-approved-person h3 {
	margin: 0;
	color: #ffffff;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: -.01em;
}

.fct-front-admin-approved-status-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
	text-align: right;
}

.fct-front-admin-approved-date {
	color: rgba(215, 236, 251, .68);
	font-size: 11px;
	font-weight: 750;
	white-space: nowrap;
}

.fct-front-admin-expand-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 4px 8px;
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .035);
	color: #d7ecfb;
	font-size: 11px;
	font-weight: 850;
}

.fct-front-admin-expand-pill::after {
	content: "+";
	margin-left: 6px;
	font-weight: 950;
}

.fct-front-admin-approved-card[open] .fct-front-admin-expand-pill::after {
	content: "−";
}

.fct-front-admin-approved-details {
	display: grid;
	gap: 12px;
	padding: 0 12px 12px;
	border-top: 1px solid rgba(166, 197, 231, .10);
}

.fct-front-admin-approved-details .fct-front-admin-meta-grid {
	margin-top: 12px;
}

.fct-directory-profile-form .fct-profile-save-message[hidden],
.fct-directory-profile-form .fct-profile-save-message.is-empty {
	display: none !important;
}

.fct-directory-profile-form .fct-profile-save-message:not([hidden]):not(.is-empty) {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	padding: 10px 13px;
	border-radius: 12px;
	border: 1px solid rgba(166, 197, 231, .18);
	background: rgba(8, 18, 35, .72);
	box-shadow: 0 12px 26px rgba(0, 0, 0, .20);
	color: #d7ecfb;
	font-size: 13px;
	font-weight: 850;
	line-height: 1.4;
}

.fct-directory-profile-form .fct-profile-save-message::before {
	content: none !important;
	display: none !important;
}

.fct-directory-profile-form .fct-profile-save-message.is-success:not([hidden]):not(.is-empty),
.fct-directory-profile-form .fct-profile-save-message.is-recently-saved:not([hidden]):not(.is-empty) {
	border-color: rgba(34, 197, 94, .44);
	background: rgba(34, 197, 94, .12);
	color: #bbf7d0;
}

.fct-directory-profile-form .fct-profile-save-message.is-success:not([hidden]):not(.is-empty)::before,
.fct-directory-profile-form .fct-profile-save-message.is-recently-saved:not([hidden]):not(.is-empty)::before {
	content: "✓" !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: rgba(34, 197, 94, .22);
	color: #dcfce7;
	font-weight: 950;
	flex: 0 0 auto;
}

.fct-directory-profile-form .fct-profile-save-message.is-error:not([hidden]):not(.is-empty) {
	border-color: rgba(248, 113, 113, .44);
	background: rgba(248, 113, 113, .12);
	color: #fecaca;
}

.fct-directory-profile-form .fct-profile-save-message.is-error:not([hidden]):not(.is-empty)::before {
	content: "!" !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: rgba(248, 113, 113, .20);
	color: #fee2e2;
	font-weight: 950;
	flex: 0 0 auto;
}

.fct-directory-profile-form .fct-profile-save-message.is-saving:not([hidden]):not(.is-empty) {
	border-color: rgba(103, 232, 249, .34);
	background: rgba(103, 232, 249, .10);
	color: #d7ecfb;
}

@media (max-width: 800px) {
	.fct-front-admin-approved-summary {
		grid-template-columns: 1fr;
	}

	.fct-front-admin-approved-status-wrap {
		align-items: flex-start;
		justify-content: flex-start;
		text-align: left;
	}

	.fct-front-admin-approved-date {
		white-space: normal;
	}
}


/* v42.13.152 - tightened approved admin rows and removed distracting row hover wash. */
.fct-front-admin-approved-card.fct-panel {
	margin-bottom: 8px;
}

.fct-front-admin-approved-card:hover {
	border-color: rgba(166, 197, 231, .16);
}

/* v42.13.153 - tighter approved admin rows and remove persistent click/focus border. */
.fct-front-admin-profile-card-compact.fct-front-admin-approved-card.fct-panel,
.fct-front-admin-approved-card.fct-panel {
	padding: 0 !important;
	margin-bottom: 6px;
}

.fct-front-admin-profile-card-compact.fct-front-admin-approved-card,
.fct-front-admin-approved-card {
	gap: 0 !important;
}

.fct-front-admin-approved-card > summary,
.fct-front-admin-approved-card > summary:focus,
.fct-front-admin-approved-card > summary:active,
.fct-front-admin-approved-card > summary:focus-visible,
.fct-front-admin-approved-summary,
.fct-front-admin-approved-summary:focus,
.fct-front-admin-approved-summary:active,
.fct-front-admin-approved-summary:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
}

.fct-front-admin-approved-summary {
	padding: 7px 9px !important;
	gap: 8px;
	background: transparent !important;
}

.fct-front-admin-approved-summary:hover,
.fct-front-admin-approved-summary:focus,
.fct-front-admin-approved-summary:active {
	background: transparent !important;
	border-color: transparent !important;
}

.fct-front-admin-approved-person {
	gap: 1px;
}

.fct-front-admin-approved-person h3 {
	font-size: 15px;
	line-height: 1.2;
}

.fct-front-admin-approved-card .fct-front-admin-card-subtitle,
.fct-front-admin-approved-card .fct-front-admin-approved-date {
	font-size: 10.5px;
	line-height: 1.25;
}

.fct-front-admin-approved-status-wrap {
	gap: 5px;
}

.fct-front-admin-approved-card .fct-front-admin-status,
.fct-front-admin-approved-card .fct-front-admin-expand-pill {
	min-height: 22px;
	padding: 3px 7px;
	font-size: 10px;
	line-height: 1.1;
}

.fct-front-admin-approved-details {
	padding: 0 9px 9px !important;
	gap: 9px;
}

.fct-front-admin-approved-details .fct-front-admin-meta-grid {
	margin-top: 9px;
}

@media (max-width: 800px) {
	.fct-front-admin-approved-summary {
		padding: 8px 9px !important;
	}
}

/* v42.13.154 - rebalance approved admin row spacing after compact pass. */
.fct-front-admin-profile-card-compact.fct-front-admin-approved-card.fct-panel,
.fct-front-admin-approved-card.fct-panel {
	padding: 0 !important;
	margin-bottom: 8px;
}

.fct-front-admin-approved-summary {
	padding: 10px 12px !important;
	gap: 10px;
	background: transparent !important;
}

.fct-front-admin-approved-summary:hover,
.fct-front-admin-approved-summary:focus,
.fct-front-admin-approved-summary:active {
	background: transparent !important;
	border-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
}

.fct-front-admin-approved-person {
	gap: 3px;
}

.fct-front-admin-approved-person h3 {
	font-size: 15.75px;
	line-height: 1.25;
}

.fct-front-admin-approved-card .fct-front-admin-card-subtitle,
.fct-front-admin-approved-card .fct-front-admin-approved-date {
	font-size: 11px;
	line-height: 1.35;
}

.fct-front-admin-approved-status-wrap {
	gap: 7px;
}

.fct-front-admin-approved-card .fct-front-admin-status,
.fct-front-admin-approved-card .fct-front-admin-expand-pill {
	min-height: 24px;
	padding: 4px 8px;
	font-size: 10.75px;
	line-height: 1.15;
}

.fct-front-admin-approved-details {
	padding: 0 12px 12px !important;
	gap: 10px;
}

.fct-front-admin-approved-details .fct-front-admin-meta-grid {
	margin-top: 11px;
}

@media (max-width: 800px) {
	.fct-front-admin-approved-summary {
		padding: 10px 11px !important;
	}
}

/* v42-13-156: Public directory image performance refinements. */
.fct-directory-card {
	contain: layout paint;
}

.fct-directory-headshot {
	background:
		linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
		#111827;
}

.fct-directory-headshot img {
	aspect-ratio: 3 / 4;
	background: #111827;
}

@media (max-width: 700px) {
	.fct-directory-headshot img {
		aspect-ratio: auto;
	}
}


/* v42-13-158: Prevent saved page/filter state from flashing the wrong cards during refresh. */
.fct-directory.is-directory-initializing .fct-directory-grid,
.fct-directory.is-directory-initializing .fct-directory-pagination,
.fct-directory.is-directory-initializing .fct-directory-empty-filter {
	opacity: 0;
	visibility: hidden;
}

.fct-directory.is-directory-ready .fct-directory-grid,
.fct-directory.is-directory-ready .fct-directory-pagination,
.fct-directory.is-directory-ready .fct-directory-empty-filter {
	transition: opacity .16s ease;
}

@media (prefers-reduced-motion: reduce) {
	.fct-directory.is-directory-ready .fct-directory-grid,
	.fct-directory.is-directory-ready .fct-directory-pagination,
	.fct-directory.is-directory-ready .fct-directory-empty-filter {
		transition: none;
	}
}

/* v42-13-157: Reduce refresh/layout jump on the public directory. */
.fct-directory-grid {
	align-items: stretch;
}

.fct-directory-headshot,
.fct-directory-headshot-placeholder {
	min-height: 0;
}

@media (max-width: 700px) {
	.fct-directory-headshot {
		align-self: stretch;
	}
}

/* v42-13-159: Mobile directory polish. Keep public cards readable and prevent cramped horizontal mobile cards. */
@media (max-width: 700px) {
	.fct-directory {
		overflow-x: hidden;
	}

	.fct-directory .fct-cinema-hero {
		min-height: auto;
	}

	.fct-directory .fct-cinema-hero-inner,
	.fct-directory .fct-cinema-content {
		width: min(100vw - 24px, 1180px);
	}

	.fct-directory .fct-cinema-hero-inner {
		padding: 42px 0 34px;
	}

	.fct-directory .fct-cinema-copy h2 {
		font-size: clamp(32px, 10vw, 44px);
		line-height: .98;
	}

	.fct-directory .fct-cinema-copy p {
		font-size: 14px;
		line-height: 1.55;
	}

	.fct-directory-toolbar {
		position: relative;
		top: auto;
		z-index: 1;
		margin-bottom: 16px;
		padding: 10px;
		border-radius: 18px;
	}

	.fct-directory-toolbar:before {
		left: 22px;
		top: 17px;
	}

	.fct-directory-search {
		min-height: 66px;
		padding: 31px 14px 12px;
		font-size: 14px;
		line-height: 1.25;
	}

	.fct-directory-filter-toggle-row {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		align-items: stretch;
	}

	.fct-directory-filter-toggle,
	.fct-directory-filter-clear,
	.fct-directory-view-all-roles {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.fct-directory-filter-panel {
		max-width: 100%;
		overflow: hidden;
		padding: 14px;
		border-radius: 20px;
	}

	.fct-directory-filter-header {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.fct-directory-filter-header span,
	.fct-directory-filter-subheading span,
	.fct-directory-filter-notice span,
	.fct-directory-performer-filter-note {
		font-size: 12px;
		line-height: 1.45;
	}

	.fct-directory-role-search-wrap,
	.fct-directory-role-results,
	.fct-directory-all-roles,
	.fct-directory-selected-roles,
	.fct-directory-advanced-filters,
	.fct-directory-performer-filter-details-body {
		max-width: 100%;
	}

	.fct-directory-all-roles {
		grid-template-columns: 1fr;
		max-height: 270px;
		overflow-y: auto;
		padding-right: 2px;
	}

	.fct-directory-selected-roles {
		gap: 7px;
	}

	.fct-directory-advanced-grid,
	.fct-directory-performer-filter-section .fct-directory-advanced-grid {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	.fct-age-range-inputs {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}

	.fct-directory-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.fct-directory-card {
		display: flex;
		flex-direction: column;
		width: 100%;
		min-width: 0;
		min-height: 0;
		overflow: hidden;
		border-radius: 20px;
		box-shadow: 0 16px 36px rgba(0,0,0,.30);
	}

	.fct-directory-card:hover {
		transform: none;
	}

	.fct-directory-headshot {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 5;
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.08);
	}

	.fct-directory-headshot img {
		width: 100%;
		height: 100%;
		aspect-ratio: 4 / 5;
		object-fit: cover;
	}

	.fct-directory-headshot-placeholder {
		min-height: 0;
		font-size: 54px;
	}

	.fct-directory-card-body {
		padding: 16px;
		gap: 8px;
	}

	.fct-directory-card-body h3 {
		font-size: 22px;
		line-height: 1.08;
	}

	.fct-directory-card-body .fct-muted {
		font-size: 11px;
		line-height: 1.3;
	}

	.fct-directory-primary-role {
		font-size: 10px;
		letter-spacing: .09em;
	}

	.fct-directory-roles {
		font-size: 12.5px;
		line-height: 1.42;
		-webkit-line-clamp: 2;
	}

	.fct-directory-card-body p {
		display: none;
	}

	.fct-directory-compensation-list {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
	}

	.fct-directory-compensation-list span {
		min-height: 24px;
		padding: 5px 8px;
		font-size: 9.5px;
	}

	.fct-directory-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		padding-top: 6px;
	}

	.fct-directory-actions .fct-btn,
	.fct-directory-actions .fct-btn:first-child:last-child {
		grid-column: auto;
		width: 100%;
		min-height: 42px;
		padding: 10px 12px;
		font-size: 11px;
	}

	.fct-directory-pagination {
		align-items: stretch;
		flex-direction: column;
		margin-top: 18px;
		padding: 12px;
		border-radius: 18px;
	}

	.fct-directory-pagination-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.fct-directory-pagination-button {
		min-height: 46px;
	}
}

@media (max-width: 430px) {
	.fct-directory .fct-cinema-hero-inner,
	.fct-directory .fct-cinema-content {
		width: min(100vw - 20px, 1180px);
	}

	.fct-directory-headshot,
	.fct-directory-headshot img {
		aspect-ratio: 1 / 1.12;
	}

	.fct-directory-card-body {
		padding: 14px;
	}
}

/* v42-13-160: compact roster-style mobile directory cards */
@media (max-width: 700px) {
	.fct-directory-grid {
		gap: 10px;
	}

	.fct-directory-card {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
		align-items: center;
		gap: 12px;
		width: 100%;
		min-height: 0;
		padding: 10px;
		border-radius: 18px;
		overflow: hidden;
		box-shadow: 0 10px 24px rgba(0,0,0,.24);
	}

	.fct-directory-card:hover {
		transform: none;
	}

	.fct-directory-headshot {
		width: 64px;
		height: 64px;
		min-height: 0;
		aspect-ratio: 1 / 1;
		align-self: center;
		border-right: 0;
		border-bottom: 0;
		border-radius: 16px;
		overflow: hidden;
		background: rgba(255,255,255,.08);
	}

	.fct-directory-headshot img,
	.fct-directory-headshot-placeholder {
		width: 64px;
		height: 64px;
		min-height: 0;
		aspect-ratio: 1 / 1;
		border-radius: 16px;
		object-fit: cover;
	}

	.fct-directory-headshot-placeholder {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 26px;
	}

	.fct-directory-card-body {
		min-width: 0;
		padding: 0;
		gap: 4px;
	}

	.fct-directory-card-body h3 {
		font-size: 16px;
		line-height: 1.15;
		margin: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.fct-directory-card-body .fct-muted {
		font-size: 11px;
		line-height: 1.25;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.fct-directory-primary-role {
		display: none;
	}

	.fct-directory-roles {
		font-size: 12px;
		line-height: 1.25;
		-webkit-line-clamp: 1;
		line-clamp: 1;
	}

	.fct-directory-compensation-list,
	.fct-directory-card-body p {
		display: none;
	}

	.fct-youth-directory-badge {
		width: fit-content;
		max-width: 100%;
		padding: 3px 7px;
		font-size: 9px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.fct-directory-actions {
		display: flex;
		align-items: center;
		gap: 6px;
		padding-top: 4px;
		margin: 0;
	}

	.fct-directory-actions .fct-btn:not([data-fct-profile-link]) {
		display: none;
	}

	.fct-directory-actions .fct-btn,
	.fct-directory-actions .fct-btn:first-child:last-child {
		width: auto;
		min-height: 30px;
		padding: 7px 10px;
		font-size: 10px;
		line-height: 1;
		border-radius: 999px;
		letter-spacing: .08em;
	}
}

@media (max-width: 430px) {
	.fct-directory-card {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 10px;
		padding: 9px;
		border-radius: 16px;
	}

	.fct-directory-headshot,
	.fct-directory-headshot img,
	.fct-directory-headshot-placeholder {
		width: 58px;
		height: 58px;
		aspect-ratio: 1 / 1;
		border-radius: 14px;
	}

	.fct-directory-card-body h3 {
		font-size: 15px;
	}

	.fct-directory-actions .fct-btn,
	.fct-directory-actions .fct-btn:first-child:last-child {
		min-height: 28px;
		padding: 6px 9px;
		font-size: 9.5px;
	}
}

/* v42-13-161: public directory mobile roster cleanup and desktop reel popup */
.fct-directory-card {
	position: relative;
}

.fct-directory-card-mobile-link {
	display: none;
}

.fct-directory-actions button.fct-btn {
	appearance: none;
	border: 0;
	cursor: pointer;
	font: inherit;
}

.fct-directory-reel-modal[hidden] {
	display: none !important;
}

.fct-directory-reel-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.fct-directory-reel-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(2, 8, 23, .78);
	backdrop-filter: blur(10px);
}

.fct-directory-reel-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(960px, 100%);
	max-height: calc(100vh - 40px);
	overflow: hidden;
	border: 1px solid rgba(166, 197, 231, .28);
	border-radius: 24px;
	background: linear-gradient(145deg, rgba(7, 24, 44, .98), rgba(2, 8, 23, .98));
	box-shadow: 0 30px 90px rgba(0, 0, 0, .55);
}

.fct-directory-reel-modal-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border-bottom: 1px solid rgba(166, 197, 231, .16);
}

.fct-directory-reel-modal-head span {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 6px;
	padding: 4px 9px;
	border: 1px solid rgba(103, 232, 249, .22);
	border-radius: 999px;
	background: rgba(103, 232, 249, .1);
	color: #bff7ff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.fct-directory-reel-modal-head h3 {
	margin: 0;
	color: #f8fbff;
	font-size: clamp(20px, 3vw, 30px);
	line-height: 1.1;
}

.fct-directory-reel-modal-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: #f8fbff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.fct-directory-reel-modal-close:hover,
.fct-directory-reel-modal-close:focus {
	background: rgba(255, 255, 255, .15);
	outline: none;
}

.fct-directory-reel-modal-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.fct-directory-reel-modal-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.fct-directory-reel-modal-foot {
	display: flex;
	justify-content: flex-end;
	padding: 14px 20px 18px;
	border-top: 1px solid rgba(166, 197, 231, .14);
}

.fct-directory-reel-modal-foot a {
	color: #bff7ff;
	font-weight: 800;
	text-decoration: none;
}

.fct-directory-reel-modal-open,
.fct-directory-reel-modal-open body {
	overflow: hidden;
}

@media (max-width: 700px) {
	.fct-directory-card-mobile-link {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 5;
		border-radius: inherit;
	}

	.fct-directory-card-mobile-link:focus {
		outline: 2px solid rgba(103, 232, 249, .7);
		outline-offset: 3px;
	}

	.fct-directory-actions {
		display: none !important;
	}

	.fct-directory-card-body {
		padding-right: 18px;
	}

	.fct-directory-card:after {
		content: "›";
		position: absolute;
		top: 50%;
		right: 13px;
		transform: translateY(-50%);
		z-index: 3;
		color: rgba(191, 247, 255, .85);
		font-size: 24px;
		line-height: 1;
		pointer-events: none;
	}

	.fct-directory-reel-modal {
		display: none !important;
	}
}


/* v42-13-162: mobile roster breathing room and public profile headshot placement */
.fct-public-profile-hero.fct-public-profile-hero-text-only {
	min-height: 380px;
}

.fct-public-profile-hero-inner.fct-public-profile-hero-inner-text-only {
	grid-template-columns: minmax(0, 820px);
	justify-content: start;
}

.fct-public-profile-headshot-feature {
	display: flex;
	justify-content: flex-start;
	padding: clamp(16px, 3vw, 24px);
}

.fct-public-profile-headshot-feature .fct-public-profile-photo {
	width: min(340px, 100%);
	max-width: 100%;
	margin: 0;
	border-radius: 24px;
}

.fct-public-profile-headshot-feature .fct-public-profile-photo .fct-lightbox-trigger,
.fct-public-profile-headshot-feature .fct-public-profile-photo-placeholder {
	border-radius: 24px;
}

@media (max-width: 900px) {
	.fct-public-profile-hero-inner.fct-public-profile-hero-inner-text-only {
		grid-template-columns: 1fr;
		justify-content: center;
		text-align: center;
	}

	.fct-public-profile-headshot-feature {
		justify-content: center;
	}
}

@media (max-width: 700px) {
	.fct-public-profile-hero.fct-public-profile-hero-text-only {
		min-height: auto;
	}

	.fct-directory-card {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 14px;
		padding: 14px;
	}

	.fct-directory-card-body {
		padding-right: 22px;
	}

	.fct-public-profile-headshot-feature {
		padding: 14px;
	}

	.fct-public-profile-headshot-feature .fct-public-profile-photo {
		width: min(320px, 100%);
		border-radius: 20px;
	}

	.fct-public-profile-headshot-feature .fct-public-profile-photo .fct-lightbox-trigger,
	.fct-public-profile-headshot-feature .fct-public-profile-photo-placeholder {
		border-radius: 20px;
	}
}

@media (max-width: 430px) {
	.fct-directory-card {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 12px;
		padding: 13px;
	}

	.fct-directory-card:after {
		right: 12px;
	}
}


/* v42-13-165: Mobile should still show the main hero headshot now that More Headshots only shows extra photos. */
@media (max-width: 700px) {
	.fct-public-profile .fct-public-profile-hero {
		overflow: visible !important;
	}

	.fct-public-profile .fct-public-profile-hero-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 18px !important;
		padding: 42px 0 34px !important;
		text-align: center !important;
	}

	.fct-public-profile .fct-public-profile-intro {
		order: 1 !important;
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
	}

	.fct-public-profile .fct-public-profile-photo {
		display: block !important;
		order: 2 !important;
		width: min(240px, 68vw) !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		margin: 2px auto 0 !important;
		overflow: visible !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger,
	.fct-public-profile .fct-public-profile-photo a {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		overflow: visible !important;
		background: transparent !important;
	}

	.fct-public-profile .fct-public-profile-photo img,
	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger img,
	.fct-public-profile .fct-public-profile-photo a > img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: 340px !important;
		aspect-ratio: auto !important;
		object-fit: contain !important;
		object-position: center center !important;
		border: 1px solid rgba(166, 197, 231, .22) !important;
		border-radius: 18px !important;
		background: rgba(5, 6, 7, .76) !important;
		box-shadow: 0 18px 42px rgba(0,0,0,.34) !important;
	}

	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger > span,
	.fct-public-profile .fct-public-profile-photo a > span {
		display: none !important;
	}

	.fct-public-profile .fct-public-profile-photo-placeholder {
		display: flex !important;
		order: 2 !important;
		width: min(240px, 68vw) !important;
		aspect-ratio: 3 / 4 !important;
		margin: 2px auto 0 !important;
		border-radius: 18px !important;
	}
}


/* v42-13-167: Keep the main headshot inside the mobile hero instead of using a separate panel. */
@media (max-width: 700px) {
	.fct-public-profile .fct-public-profile-hero {
		align-items: center !important;
		min-height: auto !important;
		overflow: hidden !important;
	}

	.fct-public-profile .fct-public-profile-hero-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 18px !important;
		width: min(100vw - 28px, 1180px) !important;
		padding: 38px 0 34px !important;
		text-align: center !important;
	}

	.fct-public-profile .fct-public-profile-photo {
		display: block !important;
		order: 1 !important;
		width: min(230px, 64vw) !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: 3 / 4 !important;
		margin: 0 auto !important;
		overflow: hidden !important;
		border: 1px solid rgba(166, 197, 231, .24) !important;
		border-radius: 22px !important;
		background: rgba(5, 6, 7, .76) !important;
		box-shadow: 0 18px 44px rgba(0,0,0,.38) !important;
	}

	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger,
	.fct-public-profile .fct-public-profile-photo a {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: 3 / 4 !important;
		overflow: hidden !important;
		border: 0 !important;
		border-radius: inherit !important;
		background: transparent !important;
	}

	.fct-public-profile .fct-public-profile-photo img,
	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger img,
	.fct-public-profile .fct-public-profile-photo a > img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: 3 / 4 !important;
		object-fit: cover !important;
		object-position: center center !important;
		border: 0 !important;
		border-radius: inherit !important;
		background: rgba(5, 6, 7, .76) !important;
		box-shadow: none !important;
	}

	.fct-public-profile .fct-public-profile-photo .fct-lightbox-trigger > span,
	.fct-public-profile .fct-public-profile-photo a > span {
		display: none !important;
	}

	.fct-public-profile .fct-public-profile-photo-placeholder {
		display: flex !important;
		order: 1 !important;
		width: min(230px, 64vw) !important;
		aspect-ratio: 3 / 4 !important;
		margin: 0 auto !important;
		border-radius: 22px !important;
	}

	.fct-public-profile .fct-public-profile-intro {
		order: 2 !important;
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
	}

	.fct-public-profile .fct-public-profile-intro h1 {
		font-size: clamp(34px, 10vw, 48px) !important;
		line-height: 1 !important;
		margin-bottom: 12px !important;
	}

	.fct-public-profile-mobile-headshot-panel {
		display: none !important;
	}
}



/* v42-13-168: Keep the main profile headshot visible inside the mobile hero. */
@media (max-width: 700px) {
	.fct-public-profile .fct-public-profile-hero .fct-public-profile-hero-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 18px !important;
		padding: 38px 0 34px !important;
		text-align: center !important;
	}

	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		order: 1 !important;
		width: min(230px, 64vw) !important;
		height: auto !important;
		aspect-ratio: 3 / 4 !important;
		margin: 0 auto !important;
		overflow: hidden !important;
		border: 1px solid rgba(166, 197, 231, .24) !important;
		border-radius: 22px !important;
		background: rgba(5, 6, 7, .76) !important;
		box-shadow: 0 18px 44px rgba(0,0,0,.38) !important;
	}

	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo .fct-lightbox-trigger,
	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo a,
	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo img {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo .fct-lightbox-trigger,
	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo a {
		width: 100% !important;
		height: 100% !important;
		aspect-ratio: 3 / 4 !important;
		overflow: hidden !important;
		border-radius: inherit !important;
	}

	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo img {
		width: 100% !important;
		height: 100% !important;
		aspect-ratio: 3 / 4 !important;
		object-fit: cover !important;
		object-position: center center !important;
		border-radius: inherit !important;
	}

	.fct-public-profile .fct-public-profile-hero .fct-public-profile-photo-placeholder {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		order: 1 !important;
		width: min(230px, 64vw) !important;
		aspect-ratio: 3 / 4 !important;
		margin: 0 auto !important;
		border-radius: 22px !important;
	}

	.fct-public-profile .fct-public-profile-hero .fct-public-profile-intro {
		order: 2 !important;
	}
}

/* v42.13.170 - Performer stat cards and primary role star polish. */
@media (min-width: 981px) {
	.fct-performer-stats-shell .fct-performer-stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.fct-performer-stats-shell .fct-performer-stats-grid {
		grid-template-columns: 1fr;
	}
}

.fct-profile-role-chip.is-primary .fct-profile-role-primary,
.fct-profile-role-primary[aria-pressed="true"],
.fct-profile-role-primary[aria-pressed="true"]:hover,
.fct-profile-role-primary[aria-pressed="true"]:focus,
.fct-profile-role-primary[aria-pressed="true"]:active {
	background: rgba(251, 191, 36, .24);
	color: #fbbf24;
	box-shadow: inset 0 0 0 1px rgba(251, 191, 36, .38), 0 0 0 3px rgba(251, 191, 36, .08);
}

.fct-profile-role-chip.is-primary .fct-profile-role-primary:hover,
.fct-profile-role-chip.is-primary .fct-profile-role-primary:focus {
	background: rgba(251, 191, 36, .30);
	color: #ffd166;
}

/* v42.13.171 - Keep the full selected primary role chip highlighted while focused. */
.fct-profile-selected-roles .fct-profile-role-chip.is-primary,
.fct-profile-selected-roles .fct-profile-role-chip:has(.fct-profile-role-primary[aria-pressed="true"]) {
	border-color: rgba(251, 191, 36, .66);
	background: linear-gradient(135deg, rgba(251, 191, 36, .20), rgba(251, 191, 36, .10));
	color: #fff7dc;
	box-shadow: inset 0 0 0 1px rgba(251, 191, 36, .18), 0 0 0 3px rgba(251, 191, 36, .06);
}

.fct-profile-selected-roles .fct-profile-role-chip.is-primary:hover,
.fct-profile-selected-roles .fct-profile-role-chip.is-primary:focus-within,
.fct-profile-selected-roles .fct-profile-role-chip:has(.fct-profile-role-primary[aria-pressed="true"]):hover,
.fct-profile-selected-roles .fct-profile-role-chip:has(.fct-profile-role-primary[aria-pressed="true"]):focus-within {
	border-color: rgba(251, 191, 36, .78);
	background: linear-gradient(135deg, rgba(251, 191, 36, .26), rgba(251, 191, 36, .14));
	color: #ffffff;
	box-shadow: inset 0 0 0 1px rgba(251, 191, 36, .22), 0 0 0 3px rgba(251, 191, 36, .09);
}

.fct-profile-selected-roles .fct-profile-role-chip.is-primary .fct-profile-role-chip-label,
.fct-profile-selected-roles .fct-profile-role-chip:has(.fct-profile-role-primary[aria-pressed="true"]) .fct-profile-role-chip-label {
	color: #fff7dc;
}
