/**
 * [ctlive_finish_video] — Find Your Finish.
 * Sibling of the results board: same --ltf-ct-* theme vars, navy header row,
 * squared corners, em sizing off a 16px base (site root is 10px, never rem).
 * Responsive by container query: full table wide, Place / Name / Watch narrow.
 */

.ltf-ct-fyf {
	font-family: var(--ltf-ct-font, inherit);
	color: var(--ltf-ct-text, #1d2433);
	font-size: 16px;
	line-height: 1.35;
	container-type: inline-size;
}
.ltf-ct-fyf *,
.ltf-ct-fyf *::before,
.ltf-ct-fyf *::after { box-sizing: border-box; }
/* own copy of the a11y helper: not every theme ships .screen-reader-text */
.ltf-ct-fyf .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ltf-ct-fyf__title {
	font-size: 1.6em;
	font-weight: 800;
	margin: 0 0 .5em;
}
.ltf-ct-fyf__intro {
	margin: 0 0 1em;
	color: var(--ltf-ct-text, #1d2433);
}

/* ---- inline player ---- */
.ltf-ct-fyf__player {
	position: relative;
	padding-top: 56.25%;
	background: #000;
	margin: 0 0 .5em;
}
.ltf-ct-fyf__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.ltf-ct-fyf__now {
	font-size: .875em;
	color: var(--ltf-ct-text-light, #6f6f6f);
	margin: 0 0 1em;
	min-height: 1.4em;
}
.ltf-ct-fyf__now strong { color: var(--ltf-ct-text, #1d2433); }

/* ---- search ---- */
.ltf-ct-fyf__search {
	display: flex;
	align-items: center;
	gap: .75em;
	margin: 0 0 .75em;
}
.ltf-ct-fyf__q {
	flex: 1 1 auto;
	min-width: 0;
	font: inherit;
	font-size: 1em;
	padding: .55em .75em;
	border: 1px solid var(--ltf-ct-border, #d3d8e0);
	border-radius: 0;
	background: #fff;
	color: inherit;
}
.ltf-ct-fyf__q:focus {
	outline: 2px solid var(--ltf-ct-primary, #c2a14d);
	outline-offset: 0;
}
.ltf-ct-fyf__count {
	font-size: .8em;
	color: var(--ltf-ct-text-light, #6f6f6f);
	white-space: nowrap;
}

/* ---- table ---- */
.ltf-ct-fyf__tablewrap { overflow-x: auto; }
.ltf-ct-fyf__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}
.ltf-ct-fyf .ltf-ct-fyf__table th {
	background: var(--ltf-ct-header-bg, #1c2541);
	color: var(--ltf-ct-header-text, #fff);
	text-align: left;
	font-size: .7em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: .8em .7em;
	white-space: nowrap;
	border: 0;
}
.ltf-ct-fyf .ltf-ct-fyf__table td {
	padding: .65em .7em;
	border: 0; /* the theme draws full cell borders on every td; we want hairlines only */
	border-bottom: 1px solid var(--ltf-ct-border, #e3e3e3);
	vertical-align: middle;
	background: var(--ltf-ct-row-bg, transparent);
}
.ltf-ct-fyf__table tbody tr:nth-child(even) td { background: var(--ltf-ct-row-bg-alt, transparent); }
.ltf-ct-fyf__table tbody tr:hover td { background: var(--ltf-ct-hover-bg, #f6f6f6); }
.ltf-ct-fyf__num {
	text-align: right;
	font-variant-numeric: tabular-nums;
	width: 1%;
	white-space: nowrap;
}
.ltf-ct-fyf__name { font-weight: 700; }
.ltf-ct-fyf__meta {
	display: block;
	font-weight: 400;
	font-size: .8em;
	color: var(--ltf-ct-text-light, #6f6f6f);
}
.ltf-ct-fyf__mtime { display: none; }
.ltf-ct-fyf__clock {
	white-space: nowrap;
	color: var(--ltf-ct-text-light, #6f6f6f);
}
.ltf-ct-fyf__act {
	text-align: right;
	white-space: nowrap;
	width: 1%;
}
.ltf-ct-fyf__watch {
	display: inline-block;
	font: inherit;
	font-size: .78em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	line-height: 1.2;
	background: var(--ltf-ct-text, #1a1a1a);
	color: #fff;
	border: 0;
	border-radius: 0;
	padding: .6em .9em;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}
.ltf-ct-fyf__watch:hover,
.ltf-ct-fyf__watch:focus-visible {
	background: var(--ltf-ct-primary, #c2a14d);
	color: #fff;
	text-decoration: none;
}
.ltf-ct-fyf__yt {
	display: block;
	font-size: .7em;
	color: var(--ltf-ct-text-light, #6f6f6f);
	text-decoration: none;
	margin-top: .35em;
}
.ltf-ct-fyf__yt:hover { text-decoration: underline; color: var(--ltf-ct-text, #1d2433); }
.ltf-ct-fyf__nocam {
	font-size: .75em;
	color: var(--ltf-ct-text-light, #6f6f6f);
}
.ltf-ct-fyf tr.is-hidden { display: none; }
.ltf-ct-fyf tr.is-current td { box-shadow: inset 3px 0 0 var(--ltf-ct-primary, #c2a14d); }
.ltf-ct-fyf__empty {
	padding: 1em 0;
	color: var(--ltf-ct-text-light, #6f6f6f);
}

/* ---- compact (search-first) mode: under-video / sidebar slot ---- */
.ltf-ct-fyf--compact .ltf-ct-fyf__search { margin-bottom: .5em; }
.ltf-ct-fyf--compact .ltf-ct-fyf__hint {
	font-size: .85em;
	color: var(--ltf-ct-text-light, #6f6f6f);
	margin: 0 0 .25em;
}
.ltf-ct-fyf--compact .ltf-ct-fyf__tablewrap { margin-top: .4em; }
.ltf-ct-fyf--compact .ltf-ct-fyf__bib { display: none; }
.ltf-ct-fyf--compact .ltf-ct-fyf__time { display: none; }
.ltf-ct-fyf--compact .ltf-ct-fyf__mtime { display: inline; }
.ltf-ct-fyf--compact .ltf-ct-fyf__yt { display: none; }
/* no zebra in compact: hidden rows still count for nth-child, so stripes would look random */
.ltf-ct-fyf--compact .ltf-ct-fyf__table tbody tr:nth-child(even) td { background: var(--ltf-ct-row-bg, transparent); }
.ltf-ct-fyf--compact .ltf-ct-fyf__more {
	font-size: .8em;
	color: var(--ltf-ct-text-light, #6f6f6f);
	margin: .5em 0 0;
}
.ltf-ct-fyf--compact .ltf-ct-fyf__all {
	display: inline-block;
	margin-top: .8em;
	font-size: .78em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--ltf-ct-text, #1a1a1a);
	text-decoration: none;
	border-bottom: 2px solid var(--ltf-ct-primary, #c2a14d);
	padding-bottom: 2px;
}
.ltf-ct-fyf--compact .ltf-ct-fyf__all:hover { color: var(--ltf-ct-primary, #c2a14d); text-decoration: none; }
.ltf-ct-fyf [hidden] { display: none !important; }

/* ---- narrow column: Place / Name (time + hometown under it) / Watch ---- */
@container (max-width: 640px) {
	.ltf-ct-fyf__bib,
	.ltf-ct-fyf__time,
	.ltf-ct-fyf__clock { display: none; }
	.ltf-ct-fyf__mtime { display: inline; }
	.ltf-ct-fyf__table td { padding: .6em .45em; }
	.ltf-ct-fyf__watch { font-size: .7em; padding: .55em .7em; white-space: nowrap; }
	.ltf-ct-fyf__yt { font-size: .65em; }
}
