/* Colosseum-only UX layer. The original plugins and fighter data remain untouched. */
body.fcf-colosseum-ux {
	overflow-x: hidden;
}

.fcf-colosseum-ux .fcf-guide-rail,
.fcf-colosseum-ux .fcf-safety-rail,
.fcf-colosseum-ux #fighter-board,
.fcf-colosseum-ux .fcf-why-enter,
.fcf-colosseum-ux .fcf-spar-workflow,
.fcf-colosseum-ux .fcf-profile-update-cta {
	display: none !important;
}

.fcf-colosseum-ux .fcf-arena-hero {
	min-height: min(680px, 78vh);
	display: flex;
	align-items: center;
	background-position: center 32%;
}

.fcf-colosseum-ux .fcf-hero-copy {
	padding-top: clamp(88px, 11vw, 150px);
	padding-bottom: clamp(64px, 9vw, 112px);
}

.fcf-colosseum-ux .fcf-arena-hero h1 {
	max-width: 1080px;
	margin: 12px 0 18px;
	font-size: clamp(3rem, 6.4vw, 5.6rem);
	line-height: .92;
	letter-spacing: -.055em;
	text-wrap: balance;
}

.fcf-colosseum-ux .fcf-arena-hero h1 span {
	color: #efc75e;
}

.fcf-colosseum-ux .fcf-hero-line {
	max-width: 760px;
	font-family: inherit;
	font-size: clamp(1.25rem, 2.1vw, 1.85rem);
	line-height: 1.26;
	text-wrap: balance;
}

.fcf-colosseum-ux .fcf-hero-support {
	max-width: 660px;
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.55;
}

.fcf-colosseum-ux .fcf-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.fcf-colosseum-ux .fcf-actions .fcf-button,
.fcf-colosseum-ux .fcf-finder-actions button,
.fcf-colosseum-ux .fcf-mobile-sticky a,
.fcf-colosseum-ux .fcf-mobile-sticky button {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 20px;
	border-radius: 10px;
	font-size: .84rem;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: .035em;
	text-align: center;
	text-transform: uppercase;
}

.fcf-colosseum-ux .fcf-actions .fcf-button-primary,
.fcf-colosseum-ux .fcf-finder-actions button:first-child,
.fcf-colosseum-ux .fcf-mobile-sticky button {
	border: 1px solid #e02f51;
	background: linear-gradient(135deg, #c8173f, #97122f);
	color: #fff;
	box-shadow: 0 12px 32px rgba(196, 22, 61, .25);
}

.fcf-colosseum-ux .fcf-actions .fcf-button:not(.fcf-button-primary) {
	border-color: rgba(239, 199, 94, .58);
	background: rgba(8, 8, 10, .74);
}

.fcf-colosseum-ux .fcf-bangkok-cta {
	margin: 17px 0 0;
}

.fcf-colosseum-ux .fcf-bangkok-cta a {
	color: #f2d482;
	font-size: .95rem;
	font-weight: 800;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.fcf-colosseum-ux .fcf-hero-signals {
	gap: 20px;
	margin-top: 26px;
}

.fcf-colosseum-ux .fcf-safety-rail {
	margin-top: 22px;
	margin-bottom: 22px;
	padding-top: 22px;
	padding-bottom: 22px;
}

/* The canonical discovery experience. */
.fcf-colosseum-ux #sparring-partner-finder {
	width: min(1180px, calc(100% - 32px));
	margin: clamp(24px, 4vw, 54px) auto clamp(54px, 7vw, 90px);
	padding: 0;
	background: transparent;
}

.fcf-colosseum-ux .fcf-sparring__hero {
	gap: 26px;
	margin: 0 0 16px;
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid rgba(239, 199, 94, .25);
	border-radius: 22px;
	background:
		radial-gradient(circle at 100% 0, rgba(223, 46, 80, .24), transparent 42%),
		linear-gradient(100deg, rgba(37, 9, 15, .98) 0%, rgba(73, 17, 29, .93) 58%, rgba(20, 8, 10, .86) 100%),
		url("../../fightcampfinder-colosseum-flagship2/assets/images/colosseum-arena.webp") center 58% / cover no-repeat;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .28);
}

.fcf-colosseum-ux .fcf-sparring__hero h2 {
	max-width: 760px;
	margin: 7px 0 12px;
	font-size: clamp(2rem, 4.6vw, 4rem);
	line-height: .98;
	letter-spacing: -.035em;
	text-wrap: balance;
}

.fcf-colosseum-ux .fcf-sparring__hero p {
	max-width: 720px;
	margin-bottom: 0;
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	line-height: 1.55;
}

.fcf-colosseum-ux .fcf-finder-actions {
	min-width: min(300px, 100%);
	display: grid;
	gap: 9px;
}

.fcf-colosseum-ux .fcf-finder-actions button {
	width: 100%;
	margin: 0;
}

.fcf-colosseum-ux .fcf-finder-actions .fcf-update-profile {
	min-height: 42px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #f2d482;
	font-size: .72rem;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.fcf-colosseum-ux .fcf-sparring__safety {
	margin-bottom: 14px;
	padding: 16px 20px;
	border: 1px solid rgba(239, 199, 94, .38);
	border-left: 5px solid #efc75e;
	border-radius: 14px;
	background: #fff9eb;
	color: #3e302c;
	font-size: .94rem;
	line-height: 1.5;
}

.fcf-colosseum-ux .fcf-filter-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 14px 0;
}

.fcf-colosseum-ux .fcf-filter-toggle {
	display: none;
	min-height: 46px;
	padding: 11px 16px;
	border: 1px solid rgba(239, 199, 94, .5);
	border-radius: 10px;
	background: #181114;
	color: #fff;
	font-weight: 900;
	letter-spacing: .03em;
}

.fcf-colosseum-ux .fcf-quick-filters {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	padding: 2px 1px 5px;
	scrollbar-width: thin;
}

.fcf-colosseum-ux .fcf-quick-filter {
	min-height: 40px;
	flex: 0 0 auto;
	padding: 9px 14px;
	border: 1px solid rgba(239, 199, 94, .36);
	border-radius: 999px;
	background: #161113;
	color: #f6e7bd;
	font-size: .78rem;
	font-weight: 850;
}

.fcf-colosseum-ux .fcf-quick-filter.is-active {
	border-color: #efc75e;
	background: #efc75e;
	color: #321116;
}

.fcf-colosseum-ux #fcfSparFilters {
	margin: 0 0 16px;
	padding: 18px;
	border: 1px solid #eadfdc;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(24, 7, 12, .08);
}

.fcf-colosseum-ux #fcfSparFilters label {
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .035em;
}

.fcf-colosseum-ux #fcfSparFilters select,
.fcf-colosseum-ux #fcfSparFilters input {
	min-height: 45px;
	font-size: 16px;
}

.fcf-colosseum-ux #fcfSparFilters .fcf-filter-advanced {
	display: none;
}

.fcf-colosseum-ux #fcfSparFilters[data-show-advanced="true"] .fcf-filter-advanced {
	display: block;
}

.fcf-colosseum-ux .fcf-advanced-toggle {
	min-height: 45px;
	border: 1px solid #ccbdb9;
	border-radius: 8px;
	background: #fff;
	color: #562431;
	font-size: .72rem;
	font-weight: 900;
}

.fcf-colosseum-ux .fcf-spar-results {
	margin: 16px 0 13px;
	color: #f4dfab;
	font-size: .95rem;
	font-weight: 800;
}

.fcf-colosseum-ux #fcfSparResultCount {
	display: inline-flex;
	min-width: 27px;
	height: 27px;
	align-items: center;
	justify-content: center;
	margin-right: 3px;
	border-radius: 999px;
	background: #efc75e;
	color: #36101a;
}

.fcf-colosseum-ux .fcf-spar-board {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.fcf-colosseum-ux .fcf-spar-card {
	min-width: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(109, 45, 58, .2);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(0, 0, 0, .22);
}

.fcf-colosseum-ux .fcf-spar-card[hidden] {
	display: none !important;
}

.fcf-colosseum-ux .fcf-spar-card__photo {
	position: relative;
	height: clamp(220px, 22vw, 300px);
	overflow: hidden;
	background: #211417;
}

.fcf-colosseum-ux .fcf-spar-card__photo img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center 24%;
}

.fcf-colosseum-ux .fcf-spar-status.is-open {
	left: 14px;
	bottom: 14px;
	top: auto;
	padding: 8px 11px;
	border-radius: 999px;
	background: #e5f7e8;
	color: #15582d;
	font-size: .68rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .18);
}

.fcf-colosseum-ux .fcf-spar-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 18px;
	color: #29171b;
}

.fcf-colosseum-ux .fcf-spar-card__body h3 {
	margin: 0 0 5px;
	font-size: clamp(1.35rem, 2.3vw, 1.8rem);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.fcf-colosseum-ux .fcf-spar-card__body > p {
	margin: 0 0 13px;
	color: #725f64;
	font-size: .92rem;
}

.fcf-colosseum-ux .fcf-potential {
	display: none !important;
}

.fcf-colosseum-ux .fcf-spar-card dl {
	margin: 0 0 16px;
}

.fcf-colosseum-ux .fcf-spar-card dl > div {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #eee6e4;
}

.fcf-colosseum-ux .fcf-spar-card dt {
	color: #927f84;
	font-size: .75rem;
	font-weight: 750;
}

.fcf-colosseum-ux .fcf-spar-card dd {
	margin: 0;
	color: #342126;
	font-size: .82rem;
	font-weight: 800;
	overflow-wrap: anywhere;
}

.fcf-colosseum-ux .fcf-spar-request {
	order: 4;
	margin-top: auto;
	border: 0;
}

.fcf-colosseum-ux .fcf-spar-request > summary {
	min-height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	border: 1px solid #bd163b;
	border-radius: 10px;
	background: linear-gradient(135deg, #cf1e46, #9e1232);
	color: #fff;
	font-size: .82rem;
	font-weight: 950;
	letter-spacing: .035em;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
	box-shadow: 0 10px 24px rgba(190, 22, 58, .2);
}

.fcf-colosseum-ux .fcf-spar-request > summary::-webkit-details-marker {
	display: none;
}

.fcf-colosseum-ux .fcf-spar-request[open] > summary {
	margin-bottom: 15px;
	background: #321019;
}

.fcf-colosseum-ux .fcf-spar-card__actions {
	order: 5;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 9px;
}

.fcf-colosseum-ux .fcf-spar-card__actions a,
.fcf-colosseum-ux .fcf-spar-card__actions button {
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 9px 10px;
	border: 1px solid #d6c8c5;
	border-radius: 9px;
	background: #fff;
	color: #4c242e;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .025em;
	text-align: center;
	text-transform: uppercase;
}

.fcf-colosseum-ux .fcf-spar-card__actions a {
	border-color: #e6c45e;
	background: #f4d779;
	color: #3b171f;
}

.fcf-colosseum-ux .fcf-spar-card__actions [data-fcf-block-id] {
	grid-column: 1 / -1;
	min-height: 30px;
	justify-content: flex-end;
	padding: 4px 0;
	border: 0;
	background: transparent;
	color: #8d7f82;
	font-size: .64rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fcf-colosseum-ux .fcf-spar-report {
	order: 6;
	margin-top: 2px;
	border: 0;
}

.fcf-colosseum-ux .fcf-spar-report > summary {
	padding: 8px 0 0;
	color: #8d7f82;
	font-size: .65rem;
	font-weight: 750;
	text-align: right;
	cursor: pointer;
}

.fcf-colosseum-ux .fcf-spar-request form,
.fcf-colosseum-ux .fcf-spar-report form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 11px;
	padding: 15px;
	border: 1px solid #e7dad7;
	border-radius: 12px;
	background: #fffaf5;
}

.fcf-colosseum-ux .fcf-spar-request input,
.fcf-colosseum-ux .fcf-spar-request select,
.fcf-colosseum-ux .fcf-spar-request textarea,
.fcf-colosseum-ux .fcf-spar-report input,
.fcf-colosseum-ux .fcf-spar-report textarea {
	min-height: 44px;
	font-size: 16px;
}

.fcf-colosseum-ux .fcf-pre-spar-reminder {
	padding: 12px;
	border-radius: 9px;
	background: #fff2c9;
	font-size: .8rem;
}

.fcf-colosseum-ux .fcf-pre-spar-reminder ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 18px;
	margin: 8px 0 0;
	padding-left: 18px;
	color: #3d2b30;
	font-size: .8rem;
	font-weight: 700;
	line-height: 1.5;
}

.fcf-colosseum-ux .fcf-spar-request button[type="submit"],
.fcf-colosseum-ux .fcf-spar-report button[type="submit"] {
	min-height: 48px;
	border-radius: 9px;
	background: #a91235;
	color: #fff;
	font-weight: 900;
}

.fcf-colosseum-ux .fcf-share-feedback {
	grid-column: 1 / -1;
	min-height: 18px;
	margin: 0;
	color: #26713c;
	font-size: .72rem;
	font-weight: 750;
	text-align: center;
}

/* Faster, clearer profile creation. */
.fcf-colosseum-ux .fcf-modal {
	width: min(920px, calc(100% - 24px));
	max-height: min(900px, calc(100vh - 24px));
	border-radius: 18px;
}

.fcf-colosseum-ux .fcf-modal-head {
	padding: 22px clamp(18px, 4vw, 34px);
}

.fcf-colosseum-ux .fcf-modal-head h2 {
	font-size: clamp(1.65rem, 4vw, 2.5rem);
	line-height: 1.05;
}

.fcf-colosseum-ux .fcf-modal-body {
	padding: clamp(16px, 3vw, 28px);
}

.fcf-colosseum-ux .fcf-step-track {
	margin-bottom: 20px;
}

.fcf-colosseum-ux .fcf-form-step > p {
	margin-bottom: 18px;
}

.fcf-colosseum-ux .fcf-step-fields input,
.fcf-colosseum-ux .fcf-step-fields select,
.fcf-colosseum-ux .fcf-step-fields textarea,
.fcf-colosseum-ux .fcf-existing-profile select {
	min-height: 48px;
	font-size: 16px;
}

.fcf-colosseum-ux .fcf-step-fields textarea {
	min-height: 105px;
}

/* Native form controls stay reliable in iOS Safari, Android Chrome and desktop browsers. */
.fcf-colosseum-ux .fcf-native-select,
.fcf-colosseum-ux .fcf-native-date,
.fcf-colosseum-ux .fcf-city-custom {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	min-height: 50px !important;
	border-radius: 9px;
	background-color: #fff !important;
	color: #21191b !important;
	font-size: 16px !important;
	line-height: 1.25;
	-webkit-text-fill-color: #21191b;
	opacity: 1;
	touch-action: manipulation;
}

.fcf-colosseum-ux select.fcf-native-select {
	-webkit-appearance: menulist !important;
	appearance: auto !important;
	background-image: none !important;
	padding-right: 12px;
}

.fcf-colosseum-ux .fcf-native-select option,
.fcf-colosseum-ux .fcf-native-select optgroup {
	background: #fff;
	color: #21191b;
}

.fcf-colosseum-ux .fcf-native-select:disabled,
.fcf-colosseum-ux .fcf-native-date:disabled {
	background-color: #f2eeee !important;
	color: #71676a !important;
	-webkit-text-fill-color: #71676a;
	opacity: 1;
}

.fcf-colosseum-ux .fcf-city-custom:not([hidden]) {
	display: block;
	margin-top: 8px;
}

.fcf-colosseum-ux .fcf-picker-help {
	display: block;
	margin-top: 6px;
	color: #71676a;
	font-size: .76rem;
	font-weight: 650;
	line-height: 1.4;
}

.fcf-colosseum-ux .fcf-record-fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	grid-column: 1 / -1;
}

.fcf-colosseum-ux .fcf-record-fieldset legend {
	display: block;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	font-size: .78rem;
	font-weight: 850;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.fcf-colosseum-ux .fcf-record-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.fcf-colosseum-ux .fcf-record-grid label {
	min-width: 0;
	margin: 0;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.fcf-colosseum-ux .fcf-record-grid select {
	margin-top: 6px;
}

.fcf-colosseum-ux .fcf-field-badge {
	display: inline-flex;
	align-items: center;
	margin-left: 6px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #efe9e7;
	color: #77676b;
	font-size: .58rem;
	font-weight: 850;
	letter-spacing: .03em;
	text-transform: uppercase;
	vertical-align: middle;
}

.fcf-colosseum-ux .fcf-field-badge.is-required {
	background: #fff0c2;
	color: #6c5010;
}

.fcf-colosseum-ux .fcf-form-nav button {
	min-height: 48px;
	border-radius: 9px;
}

.fcf-colosseum-ux .fcf-submission-form[aria-busy="true"] [type="submit"] {
	position: relative;
	padding-left: 42px;
}

.fcf-colosseum-ux .fcf-submission-form[aria-busy="true"] [type="submit"]::before {
	content: "";
	position: absolute;
	left: 16px;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255,255,255,.45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: fcf-ux-spin .7s linear infinite;
}

@keyframes fcf-ux-spin {
	to { transform: rotate(360deg); }
}

.fcf-colosseum-ux .fcf-form-status:not(:empty) {
	margin: 14px 0 0;
	padding: 12px 14px;
	border-radius: 9px;
	background: #fff3cf;
	color: #4c3510;
	font-weight: 800;
}

.fcf-colosseum-ux .fcf-submission-success {
	padding: clamp(22px, 5vw, 48px);
	text-align: left;
}

.fcf-colosseum-ux .fcf-submission-success h3 {
	font-size: clamp(1.7rem, 4vw, 2.7rem);
	line-height: 1.05;
}

.fcf-colosseum-ux .fcf-success-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

/* Individual profile: bring matching and sharing together. */
.fcf-colosseum-ux .fcf-profile-request-button {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 20px;
	border-radius: 9px;
	background: linear-gradient(135deg, #cf1e46, #9e1232);
	color: #fff !important;
	font-weight: 950;
	letter-spacing: .03em;
	text-transform: uppercase;
	text-decoration: none !important;
}

.fcf-colosseum-ux .fcf-mobile-sticky {
	display: none;
}

.fcf-colosseum-ux :focus-visible {
	outline: 3px solid #fff !important;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px #7d102b !important;
}

@media (max-width: 1020px) {
	.fcf-colosseum-ux .fcf-spar-board {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	body.fcf-colosseum-ux {
		padding-bottom: 68px;
	}

	.fcf-colosseum-ux .fcf-arena-nav-inner {
		min-height: 58px;
		padding-left: 12px;
		padding-right: 12px;
	}

	.fcf-colosseum-ux .fcf-colosseum-brand small,
	.fcf-colosseum-ux .fcf-back-brand,
	.fcf-colosseum-ux .fcf-arena-links a:first-child {
		display: none;
	}

	.fcf-colosseum-ux .fcf-colosseum-brand {
		font-size: .88rem;
	}

	.fcf-colosseum-ux .fcf-nav-enter {
		padding: 8px 10px;
		font-size: .75rem;
	}

	.fcf-colosseum-ux .fcf-arena-hero {
		min-height: 590px;
		align-items: flex-end;
		background-position: 64% center;
	}

	.fcf-colosseum-ux .fcf-hero-copy {
		padding: 118px 14px 44px;
	}

	.fcf-colosseum-ux .fcf-arena-hero h1 {
		max-width: 360px;
		margin-top: 8px;
		font-size: clamp(2.65rem, 12.5vw, 3.45rem);
		line-height: .94;
		letter-spacing: -.05em;
	}

	.fcf-colosseum-ux .fcf-hero-line {
		font-size: 1.12rem;
	}

	.fcf-colosseum-ux .fcf-hero-support {
		font-size: .93rem;
		line-height: 1.45;
	}

	.fcf-colosseum-ux .fcf-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.fcf-colosseum-ux .fcf-actions .fcf-button {
		width: 100%;
		min-height: 50px;
	}

	.fcf-colosseum-ux .fcf-hero-signals {
		display: flex;
		gap: 8px 13px;
		margin-top: 20px;
		font-size: .75rem;
	}

	.fcf-colosseum-ux .fcf-safety-rail {
		width: calc(100% - 24px);
		margin-top: 14px;
		margin-bottom: 14px;
		padding: 16px;
	}

	.fcf-colosseum-ux .fcf-safety-rail h2 {
		font-size: 1.35rem;
	}

	.fcf-colosseum-ux .fcf-safety-rail p {
		font-size: .84rem;
	}

	.fcf-colosseum-ux #sparring-partner-finder {
		width: calc(100% - 20px);
		margin-top: 20px;
	}

	.fcf-colosseum-ux .fcf-sparring__hero {
		display: block;
		padding: 24px 18px;
		border-radius: 18px;
	}

	.fcf-colosseum-ux .fcf-sparring__hero h2 {
		font-size: clamp(2rem, 9.3vw, 2.75rem);
	}

	.fcf-colosseum-ux .fcf-sparring__hero p {
		font-size: .93rem;
	}

	.fcf-colosseum-ux .fcf-finder-actions {
		margin-top: 20px;
	}

	.fcf-colosseum-ux .fcf-sparring__safety {
		padding: 14px;
		font-size: .82rem;
	}

	.fcf-colosseum-ux .fcf-filter-toolbar {
		align-items: stretch;
		flex-direction: column;
		margin-top: 12px;
	}

	.fcf-colosseum-ux .fcf-filter-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}

	.fcf-colosseum-ux .fcf-ux-ready #fcfSparFilters[data-mobile-open="false"] {
		display: none !important;
	}

	.fcf-colosseum-ux #fcfSparFilters {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		padding: 14px;
	}

	.fcf-colosseum-ux .fcf-advanced-toggle,
	.fcf-colosseum-ux #fcfSparFilters button[type="reset"] {
		min-height: 44px;
		border-radius: 8px;
	}

	.fcf-colosseum-ux .fcf-spar-board {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.fcf-colosseum-ux .fcf-spar-card__photo {
		height: min(76vw, 290px);
	}

	.fcf-colosseum-ux .fcf-spar-card__body {
		padding: 17px;
	}

	.fcf-colosseum-ux .fcf-spar-request form,
	.fcf-colosseum-ux .fcf-spar-report form {
		grid-template-columns: 1fr;
	}

	.fcf-colosseum-ux .fcf-modal {
		width: 100%;
		max-width: none;
		max-height: 100dvh;
		height: 100dvh;
		margin: 0;
		border: 0;
		border-radius: 0;
	}

	.fcf-colosseum-ux .fcf-modal-head {
		position: sticky;
		top: 0;
		z-index: 4;
		padding: 15px 16px;
	}

	.fcf-colosseum-ux .fcf-modal-head p {
		display: none;
	}

	.fcf-colosseum-ux .fcf-modal-body {
		padding: 14px;
	}

	.fcf-colosseum-ux .fcf-step-track li span {
		display: none;
	}

	.fcf-colosseum-ux .fcf-step-fields {
		grid-template-columns: 1fr;
	}

	.fcf-colosseum-ux .fcf-record-grid {
		gap: 7px;
	}

	.fcf-colosseum-ux .fcf-record-grid select {
		padding-left: 8px;
		padding-right: 8px;
	}

	.fcf-colosseum-ux .fcf-mode-choice,
	.fcf-colosseum-ux .fcf-sparring-choice {
		grid-template-columns: 1fr;
	}

	.fcf-colosseum-ux .fcf-form-nav {
		position: sticky;
		bottom: 0;
		z-index: 3;
		margin: 18px -14px -14px;
		padding: 12px 14px;
		background: rgba(255, 255, 255, .96);
		box-shadow: 0 -8px 24px rgba(29, 8, 14, .1);
	}

}

@media (prefers-reduced-motion: reduce) {
	.fcf-colosseum-ux *,
	.fcf-colosseum-ux *::before,
	.fcf-colosseum-ux *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* Restore the original, first-visit Brasswick welcome without reviving the old duplicate boards. */
.fcf-colosseum-ux .fcf-intro:not([hidden]) {
	display: grid !important;
}

.fcf-colosseum-ux:has(.fcf-intro:not([hidden])) .fcf-mobile-sticky {
	display: none !important;
}

.fcf-colosseum-ux .fcf-intro-stage {
	width: min(940px, calc(100% - 28px));
	max-height: calc(100dvh - 28px);
	border: 1px solid rgba(239, 199, 94, .38);
	border-radius: 22px;
	box-shadow: 0 32px 90px rgba(0, 0, 0, .58);
}

.fcf-colosseum-ux .fcf-dialogue {
	border: 1px solid rgba(239, 199, 94, .28);
	box-shadow: 0 18px 48px rgba(0, 0, 0, .34);
}

.fcf-colosseum-ux .fcf-dialogue [data-intro-copy] {
	font-size: clamp(1.55rem, 4vw, 3rem);
	line-height: 1.06;
	text-wrap: balance;
}

.fcf-colosseum-ux .fcf-intro img {
	filter: saturate(.84) contrast(1.08) drop-shadow(0 24px 34px rgba(0, 0, 0, .45));
}

@media (max-width: 760px) {
	.fcf-colosseum-ux .fcf-intro-stage {
		width: calc(100% - 18px);
		max-height: calc(100dvh - 18px);
		border-radius: 17px;
	}

	.fcf-colosseum-ux .fcf-dialogue [data-intro-copy] {
		font-size: clamp(1.45rem, 8vw, 2.15rem);
	}
}

/* Arena matchmaking — a reversible presentation layer over the existing roster. */
.fcf-colosseum-ux .fcf-spar-status,
.fcf-colosseum-ux .fcf-sparring-choice {
	display: none !important;
}

.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__hero {
	min-height: 0;
	align-items: center;
	margin-bottom: 12px;
	padding: clamp(22px, 3.2vw, 34px);
	background-position: center 56%;
}

.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__hero h2 {
	max-width: 690px;
	font-size: clamp(2rem, 3.9vw, 3.35rem);
}

.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__hero p {
	max-width: 650px;
}

.fcf-colosseum-ux .fcf-arena-discovery .fcf-filter-toolbar {
	align-items: flex-end;
	margin: 14px 0 8px;
	color: #f7ebca;
}

.fcf-colosseum-ux .fcf-filter-toolbar > div {
	display: grid;
	gap: 3px;
}

.fcf-colosseum-ux .fcf-arena-kicker {
	color: #efc75e;
	font-size: .66rem;
	font-weight: 950;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.fcf-colosseum-ux .fcf-filter-toolbar strong {
	font-size: .83rem;
	letter-spacing: .02em;
}

.fcf-colosseum-ux .fcf-arena-discovery #fcfSparFilters {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
	align-items: end;
	gap: 10px;
	margin-bottom: 12px;
	padding: 14px;
	border-color: rgba(239, 199, 94, .34);
	background: rgba(255, 255, 255, .98);
}

.fcf-colosseum-ux .fcf-arena-discovery #fcfSparFilters label {
	min-width: 0;
	color: #5b333c;
}

.fcf-colosseum-ux .fcf-arena-discovery #fcfSparFilters select {
	width: 100%;
	margin-top: 6px;
	border-color: #d8c9c5;
	border-radius: 9px;
	background-color: #fff;
	color: #2e1a1f;
}

.fcf-colosseum-ux .fcf-arena-discovery #fcfSparFilters button[type="reset"] {
	min-height: 45px;
	padding: 10px 15px;
	border: 1px solid #cfbfc0;
	border-radius: 9px;
	background: #fff;
	color: #642638;
	font-size: .72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.fcf-colosseum-ux .fcf-arena-workflow {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 14px 0 8px;
	padding: 0;
	list-style: none;
	counter-reset: arena-step;
}

.fcf-colosseum-ux .fcf-arena-workflow li {
	position: relative;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 8px 5px;
	border-top: 1px solid rgba(239, 199, 94, .32);
	border-bottom: 1px solid rgba(239, 199, 94, .32);
	background: rgba(15, 10, 12, .72);
	color: #f4dfaa;
	font-size: .69rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fcf-colosseum-ux .fcf-arena-workflow li::before {
	counter-increment: arena-step;
	content: counter(arena-step);
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(239, 199, 94, .55);
	border-radius: 50%;
	font-size: .6rem;
}

.fcf-colosseum-ux .fcf-arena-workflow li + li::after {
	content: "";
	position: absolute;
	left: -5px;
	width: 9px;
	height: 9px;
	border-top: 1px solid #efc75e;
	border-right: 1px solid #efc75e;
	transform: rotate(45deg);
}

.fcf-colosseum-ux .fcf-arena-discovery .fcf-spar-results {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 8px 0 14px;
}

.fcf-colosseum-ux .fcf-arena-discovery #fcfSparResultCount {
	min-width: 0;
	height: auto;
	display: inline;
	margin: 0;
	border-radius: 0;
	background: transparent;
	color: #f4dfab;
	font-size: .9rem;
}

.fcf-colosseum-ux .fcf-browse-toggle {
	min-height: 44px;
	padding: 9px 14px;
	border: 1px solid rgba(239, 199, 94, .58);
	border-radius: 9px;
	background: rgba(14, 10, 11, .74);
	color: #f5dfaa;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] {
	max-width: 820px;
	display: block;
	margin: 0 auto;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card.is-arena-current {
	display: grid !important;
	grid-template-columns: minmax(270px, .92fr) minmax(0, 1.08fr);
	overflow: hidden;
	border-color: rgba(239, 199, 94, .56);
	border-radius: 22px;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .4), 0 0 0 1px rgba(239, 199, 94, .1) inset;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card:not(.is-arena-current) {
	display: none !important;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__photo {
	height: 100%;
	min-height: 510px;
}

.fcf-colosseum-ux .fcf-arena-card .fcf-spar-card__photo::after {
	content: "COLOSSEUM · FIGHTER";
	position: absolute;
	left: 14px;
	bottom: 14px;
	padding: 7px 10px;
	border: 1px solid rgba(239, 199, 94, .72);
	border-radius: 999px;
	background: rgba(20, 8, 11, .84);
	color: #f4d878;
	font-size: .6rem;
	font-weight: 950;
	letter-spacing: .12em;
	box-shadow: 0 5px 18px rgba(0, 0, 0, .35);
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__body {
	padding: clamp(20px, 3vw, 30px);
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__body h3 {
	font-size: clamp(1.8rem, 3vw, 2.55rem);
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__body > p {
	color: #7d6269;
	font-size: .88rem;
	font-weight: 750;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 18px;
	margin-bottom: 20px;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dl > div:first-child,
.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dl > div:last-child {
	grid-column: 1 / -1;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dl > div {
	grid-template-columns: 78px minmax(0, 1fr);
	padding: 9px 0;
}

.fcf-colosseum-ux .fcf-arena-actions {
	display: grid;
	grid-template-columns: .82fr 1.25fr 1fr;
	gap: 8px;
	margin-top: auto;
}

.fcf-colosseum-ux .fcf-arena-actions > * {
	min-width: 0;
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 10px 8px;
	border-radius: 10px;
	font-size: .72rem;
	font-weight: 950;
	letter-spacing: .035em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
}

.fcf-colosseum-ux .fcf-arena-pass {
	border: 1px solid #c9bab7;
	background: #fff;
	color: #6d555a;
}

.fcf-colosseum-ux .fcf-arena-pass span {
	font-size: 1.15rem;
	line-height: 0;
}

.fcf-colosseum-ux .fcf-arena-view-profile {
	border: 1px solid #bd9837;
	background: #fff9e9;
	color: #5a4010;
}

.fcf-colosseum-ux .fcf-arena-spar {
	border: 1px solid #a60f30;
	background: linear-gradient(135deg, #d3214b, #98112f);
	color: #fff;
	box-shadow: 0 10px 24px rgba(173, 18, 52, .22);
}

.fcf-colosseum-ux #fcfSparBoard[data-view="browse"] .fcf-arena-actions {
	display: none;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-request:not([open]) {
	display: none;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-request[open] > summary {
	display: flex;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-request[open] {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #eadfdb;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__actions > a {
	display: none;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__actions button {
	min-height: 34px;
	padding: 5px 2px;
	border: 0;
	background: transparent;
	color: #7f6e72;
	font-size: .63rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fcf-colosseum-ux .fcf-profile-gate {
	margin-top: 12px;
	padding: 14px;
	border: 1px solid #e2cc88;
	border-radius: 12px;
	background: #fff7db;
	color: #3e2a1d;
}

.fcf-colosseum-ux .fcf-profile-gate > strong {
	display: block;
	font-size: .88rem;
}

.fcf-colosseum-ux .fcf-profile-gate p {
	margin: 5px 0 11px;
	font-size: .76rem;
	line-height: 1.4;
}

.fcf-colosseum-ux .fcf-profile-gate > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.fcf-colosseum-ux .fcf-profile-gate button {
	min-height: 44px;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid #b9912c;
	border-radius: 8px;
	background: #fff;
	color: #4c3215;
	font-size: .69rem;
	font-weight: 900;
}

.fcf-colosseum-ux .fcf-profile-gate [data-create-before-spar] {
	border-color: #a81234;
	background: #a81234;
	color: #fff;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="browse"] {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.fcf-colosseum-ux #fcfSparBoard[data-view="browse"] .fcf-spar-card__photo {
	height: clamp(220px, 22vw, 300px);
}

.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__safety {
	max-width: 820px;
	margin: 16px auto 0;
	padding: 13px 16px;
	font-size: .78rem;
}

.fcf-colosseum-ux .fcf-spar-empty [data-clear-arena-filters] {
	min-height: 44px;
	margin-top: 10px;
	padding: 9px 14px;
	border: 1px solid #efc75e;
	border-radius: 9px;
	background: #efc75e;
	color: #3c171f;
	font-weight: 900;
}

@media (max-width: 1020px) {
	.fcf-colosseum-ux .fcf-arena-discovery #fcfSparFilters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="browse"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	body.fcf-colosseum-ux {
		padding-bottom: 0;
	}

	.fcf-colosseum-ux .fcf-mobile-sticky {
		/* The legacy node may still be injected, but Arena actions are the only mobile action surface. */
		display: none !important;
	}

	.fcf-colosseum-ux .fcf-arena-hero {
		min-height: clamp(430px, 66svh, 560px);
		background-position: 62% center;
	}

	.fcf-colosseum-ux .fcf-hero-copy {
		padding-top: 98px;
		padding-bottom: 34px;
	}

	.fcf-colosseum-ux .fcf-arena-hero h1 {
		font-size: clamp(2.45rem, 11.8vw, 3.25rem);
	}

	.fcf-colosseum-ux .fcf-hero-support {
		font-size: .88rem;
	}

	.fcf-colosseum-ux #sparring-partner-finder {
		width: calc(100% - 16px);
		margin-top: 12px;
	}

	.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__hero {
		padding: 20px 16px;
		border-radius: 16px;
	}

	.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__hero h2 {
		margin-bottom: 8px;
		font-size: clamp(1.9rem, 8.8vw, 2.55rem);
	}

	.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__hero p {
		font-size: .86rem;
	}

	.fcf-colosseum-ux .fcf-arena-discovery .fcf-filter-toolbar {
		align-items: stretch;
		margin-top: 10px;
	}

	.fcf-colosseum-ux .fcf-filter-toolbar > div {
		display: none;
	}

	.fcf-colosseum-ux .fcf-filter-toggle {
		display: flex;
	}

	.fcf-colosseum-ux .fcf-arena-discovery #fcfSparFilters {
		grid-template-columns: 1fr 1fr;
		gap: 9px;
		padding: 12px;
	}

	.fcf-colosseum-ux .fcf-arena-discovery #fcfSparFilters button[type="reset"] {
		grid-column: 1 / -1;
	}

	.fcf-colosseum-ux .fcf-arena-workflow {
		margin-top: 10px;
	}

	.fcf-colosseum-ux .fcf-arena-workflow li {
		gap: 4px;
		padding: 7px 2px;
		font-size: .72rem;
		line-height: 1.25;
		letter-spacing: .035em;
	}

	.fcf-colosseum-ux .fcf-arena-workflow li::before {
		width: 20px;
		height: 20px;
		font-size: .65rem;
	}

	.fcf-colosseum-ux .fcf-arena-discovery .fcf-spar-results {
		align-items: stretch;
		margin: 8px 0 10px;
	}

	.fcf-colosseum-ux .fcf-arena-discovery #fcfSparResultCount {
		display: flex;
		align-items: center;
		font-size: .82rem;
	}

	.fcf-colosseum-ux .fcf-browse-toggle {
		max-width: 57%;
		padding: 8px 10px;
		font-size: .72rem;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card.is-arena-current {
		display: flex !important;
		border-radius: 18px;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__photo {
		height: min(66vw, 265px);
		min-height: 0;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__body {
		padding: 16px;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__body h3 {
		font-size: clamp(1.55rem, 7vw, 2rem);
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dl {
		gap: 0 10px;
		margin-bottom: 14px;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dl > div {
		grid-template-columns: 68px minmax(0, 1fr);
		gap: 6px;
		padding: 7px 0;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dt {
		font-size: .76rem;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card dd {
		font-size: .8rem;
	}

	.fcf-colosseum-ux .fcf-arena-actions > * {
		min-height: 48px;
		padding: 8px 4px;
		font-size: .75rem;
		letter-spacing: .015em;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="arena"] .fcf-spar-card__actions button,
	.fcf-colosseum-ux .fcf-spar-report > summary {
		min-height: 44px;
		color: #5a4047;
		font-size: .75rem;
	}

	.fcf-colosseum-ux .fcf-profile-gate p {
		font-size: .82rem;
	}

	.fcf-colosseum-ux .fcf-profile-gate button {
		font-size: .75rem;
	}

	.fcf-colosseum-ux .fcf-profile-gate > div {
		grid-template-columns: 1fr;
	}

	.fcf-colosseum-ux #fcfSparBoard[data-view="browse"] {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.fcf-colosseum-ux .fcf-arena-discovery .fcf-sparring__safety {
		font-size: .82rem;
		line-height: 1.45;
	}

	.fcf-colosseum-ux .fcf-pre-spar-reminder ul {
		grid-template-columns: minmax(0, 1fr);
		font-size: .82rem;
	}
}
