/* ==========================================================================
   ФАЙЛ 4: sportoteka-roster.css
   Стили для таблицы состава команды (ростер).
   ========================================================================== */

.sporto-roster-wrapper {
	position: relative;
	overflow-x: auto;
	margin-bottom: 30px;
	-webkit-overflow-scrolling: touch;
}

/* Липкий заголовок команды над ростером */
/* ПЕРЕСЕЧЕНИЕ: Похоже на заголовок в Протоколе, но другие классы */
.sporto-roster-wrapper h3.roster-team-name {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 30;
	font-family: 'Oswald', sans-serif;
	padding: 16px;
	color: #fff;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 1px;
	background-color: #34495e !important;
	border-radius: 8px 8px 0 0 !important;
}

.sporto-roster-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin: 1px 0;
	text-transform: uppercase;
	min-width: 800px;
}

/* КОНФЛИКТ ШАПКИ: Глобально задан цвет #2c3e50 и паддинги 12px 6px. 
   Здесь #34495e и 16px 8px */
.sporto-roster-table th {
	font-size: 13px !important;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	letter-spacing: 0.5px;
	padding: 16px 8px;
	border: 1px solid #e0e0e0;
	white-space: nowrap;
	text-align: center;
	vertical-align: middle;
	background-color: #34495e !important;
	color: #ffffff;
}

.sporto-roster-table td {
	font-size: 16px !important;
	padding: 2px 6px;
	border: 1px solid #e0e0e0;
	color: #2c3e50;
	white-space: nowrap;
	text-align: center;
	background: #fff;
	vertical-align: middle;
}

.sporto-roster-table tbody tr:nth-child(even) td {
	background-color: #f8f9fa;
}

.sporto-roster-table tbody tr:hover td {
	background-color: #e8f4f8 !important;
}

.roster-coach-row td {
	background-color: #e8f4f8 !important;
}

/* Ширина колонок (нефиксированных) */
.sporto-roster-table th:nth-child(4),
.sporto-roster-table td:nth-child(4) {
	width: 100px;
	min-width: 100px;
	max-width: 100px;
}

.sporto-roster-table th:nth-child(5),
.sporto-roster-table td:nth-child(5) {
	width: 70px;
	min-width: 70px;
	max-width: 70px;
}

.sporto-roster-table th:nth-child(6),
.sporto-roster-table td:nth-child(6) {
	width: 70px;
	min-width: 70px;
	max-width: 70px;
}

.sporto-roster-table th:nth-child(7),
.sporto-roster-table td:nth-child(7) {
	width: 100px;
	min-width: 100px;
	max-width: 100px;
	text-align: center !important;
}

.sporto-roster-table th:nth-child(8),
.sporto-roster-table td:nth-child(8) {
	width: 120px;
	min-width: 120px;
	max-width: 120px;
}

/* --- ФИКСАЦИЯ ГЕОМЕТРИИ (STRICT MATCH TO PROTOCOL) --- */
.sporto-roster-table th:nth-child(1),
.sporto-roster-table td:nth-child(1) {
	position: -webkit-sticky;
	position: sticky !important;
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	left: 0 !important;
	z-index: 50 !important;
	background-color: #fff;
}

.sporto-roster-table th:nth-child(1) {
	background-color: #34495e !important;
	color: #fff;
}

.sporto-roster-table tbody td:nth-child(1) {
	z-index: 20 !important;
}

.sporto-roster-table th:nth-child(2),
.sporto-roster-table td:nth-child(2) {
	position: -webkit-sticky;
	position: sticky !important;
	width: 60px !important;
	min-width: 60px !important;
	max-width: 60px !important;
	left: 44px !important;
	z-index: 50 !important;
	box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
}

.sporto-roster-table th:nth-child(2) {
	background-color: #34495e !important;
	color: #fff;
}

.sporto-roster-table td:nth-child(2) {
	padding: 2px !important;
	background-color: #fff;
}

.sporto-roster-table tbody td:nth-child(2) {
	z-index: 20 !important;
}

.sporto-roster-table th:nth-child(3),
.sporto-roster-table td:nth-child(3) {
	position: -webkit-sticky;
	position: sticky !important;
	width: 220px !important;
	min-width: 220px !important;
	max-width: 220px !important;
	left: 104px !important;
	z-index: 50 !important;
	box-shadow: 4px 0 6px -2px rgba(0, 0, 0, 0.2);
	background-color: #fff;
	text-align: left;
	padding-left: 8px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sporto-roster-table th:nth-child(3) {
	background-color: #34495e !important;
	color: #fff;
}

.sporto-roster-table tbody td:nth-child(3) {
	z-index: 20 !important;
}

.sporto-roster-table .roster-coach-row td:nth-child(1) {
	position: sticky !important;
	left: 0 !important;
	z-index: 20 !important;
	box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
	background-color: #e8f4f8 !important;
}

.sporto-roster-table .roster-coach-row td:nth-child(2) {
	position: sticky !important;
	left: 44px !important;
	z-index: 20 !important;
	box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
	background-color: #e8f4f8 !important;
}

.sporto-roster-table .roster-coach-row td:nth-child(3) {
	position: sticky !important;
	left: 104px !important;
	z-index: 20 !important;
	box-shadow: 4px 0 6px -2px rgba(0, 0, 0, 0.2);
	background-color: #e8f4f8 !important;
}

/* Адаптивность Ростера */
@media (max-width: 767px) {

	.sporto-roster-table th:nth-child(3),
	.sporto-roster-table td:nth-child(3) {
		width: 110px !important;
		min-width: 110px !important;
		max-width: 110px !important;
	}
}

@media (max-width: 478px) {
	.sporto-roster-table .player-name-wrapper {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
		line-height: 1.2;
	}

	.sporto-roster-table .player-lastname {
		font-weight: 700;
		font-size: 14px;
		display: block;
	}

	.sporto-roster-table .player-firstname {
		font-size: 12px;
		display: block;
	}

	.sporto-roster-table .player-link {
		display: flex;
		flex-direction: column;
		text-decoration: none;
		color: inherit;
	}

	.sporto-roster-table td:nth-child(3) {
		font-size: 13px !important;
	}
}