/**
 * Ligue Football - Styles EXACTEMENT copiés de GestFootball (FRMF Theme)
 * Version: 2.0.0
 * Police Cairo pour l'arabe
 */

/* Import de la police Cairo pour l'arabe */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600&display=swap');

/* Variables CSS pour personnalisation des couleurs */
:root {
	--table-header-bg: #081224;
	--table-header-color: #fff;
	--score-bg: #ff0000;
	--score-color: #fff;
	--points-color: #cc0a16;
}

table>tbody>tr:nth-child(2n)>td {
    background-color: #fafafa !important;
}

table>tbody>tr:nth-child(2n+1)>td {
    background-color: #ffffff  !important;
}

table th {
	color: var(--table-header-color, #fff) !important;
}

/* ==================== TABLES DE MATCHS (Programme/Résultats) ==================== */

/* Container avec scroll horizontal */
.style-table-7-container {
	overflow-x: auto;
	width: 100%;
}

.style-table-7-container table {
	width: 100%;
	min-width: 700px;
}

/* Styles généraux du tableau */
.style-table-7 th, .style-table-7 td {
	vertical-align: middle;
}

.style-table-7:not(.cs7-1) th, .style-table-7:not(.cs7-1) td {
	text-align: center;
	border: 1px solid #fff;
}

.style-table-7 th {
	background: var(--table-header-bg, #000);
	color: var(--table-header-color, #fff);
	font-family: 'Montserrat';
	padding: 3px;
}

.style-table-7 td {
	font-family: 'Rubik';
	font-weight: 500;
	line-height: 22px;
	padding: 5px 0px;
	background: #f7f7f7;
}

/* Style spécial pour calendrier/résultats (cs7-1) */
.style-table-7.cs7-1 th, .style-table-7.cs7-1 td {
	text-align: left;
	border-width: 0px;
	padding: 5px 20px;
}

.style-table-7.cs7-1 th:last-child, .style-table-7.cs7-1 td:last-child {
	text-align: right;
}

/* Scores */
.style-table-7 td.scr {
	text-align: center;
	color: var(--score-color, #fff);
	background: var(--score-bg, #ff0000);
	width: 32px;
	font-size: 14px;
	padding: 0px;
}

/* Logos d'équipe */
.style-table-7 td.teamlogo {
    width: 40px;
    text-align: center;
    padding: 5px 0px;
}

/* Équipe à domicile */
.style-table-7.cs7-1 td.first-team {
	text-align: right;
	padding: 5px 10px;
	max-width: 135px;
}

/* Équipe visiteuse */
.style-table-7.cs7-1 td.sec-team {
	text-align: left;
	padding: 5px 10px;
	max-width: 135px;
}

/* En-têtes */
.style-table-7.cs7-1 th.first-team {
	text-align: right;
	padding-right: 25px;
}

.style-table-7.cs7-1 th.sec-team {
	text-align: left;
	padding-left: 25px;
}

.style-table-7 td.td-logo {
	width: 50px;
}

/* ==================== DROPDOWN JOURNÉES ==================== */

#tabs-w-combo .vc_tta-panel-body {
	padding: 0px;
	background: transparent;
}

#tabs-w-combo .vc_tta-panel-heading, #tabs-w-combo .vc_tta-panels-heading {
	display: none;
}

#tabs-w-combo .vc_tta-tabs-container {
	text-align: center;
    display: block;
	margin-bottom: 20px;
}

#tabs-w-combo .vc_tta-panels {
	background: transparent;
	border-width: 0px;
}

.style-combo-tabs {
	width: auto;
	max-width: 250px;
	color: #fff;
	background: #929292;
	text-transform: uppercase;
	min-width: 200px;
	padding: 8px 7px;
	margin: 0 auto 0px auto !important;
	font-family: 'Montserrat';
	font-weight: 600;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	display: block;
}

.style-combo-tabs:hover {
	background: #7a7a7a;
}

/* ==================== SUPPORT RTL (ARABE) ==================== */

/* Appliquer Cairo globalement en RTL */
[dir="rtl"] * {
    font-family: 'Cairo' !important;
}

[dir="rtl"] .style-table-7.cs7-1 th,
[dir="rtl"] .style-table-7.cs7-1 td {
    text-align: right;
}

[dir="rtl"] .style-table-7.cs7-1 th:first-child,
[dir="rtl"] .style-table-7.cs7-1 td:first-child {
    text-align: left;
}

[dir="rtl"] .style-table-7 th {
    font-family: 'Cairo';
}

[dir="rtl"] .style-table-7 td {
    font-family: 'Cairo';
	font-weight: 600;
}

[dir="rtl"] .style-table-7 td.scr {
    text-align: center;
	width: 62px;
}

[dir="rtl"] .style-table-7 td.teamlogo {
    text-align: center;
	width: 70px;
}

[dir="rtl"] .style-table-7.cs7-1 td.first-team {
	text-align: left;
}

[dir="rtl"] .style-table-7.cs7-1 td.sec-team {
	text-align: right;
}

[dir="rtl"] .style-table-7.cs7-1 th.first-team {
	text-align: left;
	padding-left: 25px;
	padding-right: 5px;
}

[dir="rtl"] .style-table-7.cs7-1 th.sec-team {
	text-align: right;
	padding-right: 25px;
	padding-left: 5px;
}

[dir="rtl"] .style-combo-tabs {
	font-family: 'Cairo';
}

/* ==================== CLASSEMENT ==================== */

.ligue-standings {
	border-radius: 8px;
}

.standings-table-wrapper {
	overflow-x: auto;
	padding: 0;
}

.standings-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	font-family: 'Rubik';
}

.standings-table thead {
	background: var(--table-header-bg, #000);
	color: var(--table-header-color, white);
}

.standings-table thead tr {
	border-bottom: 3px solid #cc0a16;
}

.standings-table th {
	padding: 8px 8px;
	text-align: center;
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-family: 'Montserrat';
}

.standings-table th.team {
	text-align: left;
}

[dir="rtl"] .standings-table th.team {
	text-align: right !important;
	font-family: 'Cairo';
}

[dir="rtl"] .standings-table th {
	font-family: 'Cairo';
}

.standings-table tbody tr {
	border-bottom: 1px solid #e0e0e0;
	transition: all 0.2s ease;
}

.standings-table tbody tr:nth-child(2n) td {
	background-color: #f4f4f4;
}

.standings-table tbody tr:nth-child(2n+1) td {
	background-color: #f5f5f5;
}

.standings-table tbody tr:hover {
	background-color: #e8e8e8;
}

.standings-table td {
	padding: 8px 8px;
	text-align: center;
	vertical-align: middle;
	font-weight: 500;
}

.standings-table td.team {
	text-align: left;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px;
}

[dir="rtl"] .standings-table td.team {
	text-align: right;
	font-family: 'Cairo';
	font-weight: 600;
}

[dir="rtl"] .standings-table td.team .team-name {
	text-align: right;
}

[dir="rtl"] .standings-table td {
	font-family: 'Cairo';
	font-weight: 600;
}

.team-logo-small {
	width: 30px;
	height: 30px;
	object-fit: contain;
}

.standings-table .team-name {
	font-weight: 600;
	font-size: 14px;
	color: #000;
}

.standings-table .points {
	font-weight: 700;
	font-size: 18px;
	color: var(--points-color, #cc0a16);
}

.goal-diff.positive {
	color: #28a745;
}

.goal-diff.negative {
	color: #dc3545;
}

.goal-diff.zero {
	color: #666;
}

/* ==================== WIDGET COMPACT ==================== */

.ligue-standings.widget-compact {
	/* No padding */
}

.ligue-standings.widget-compact .standings-table {
	font-size: 12px;
}

.ligue-standings.widget-compact .standings-table th {
	padding: 4px 4px;
	color: var(--table-header-color, #fff)
}

.ligue-standings.widget-compact .standings-table td {
	padding: 1px;
}

.ligue-standings.widget-compact .team-logo-small {
	width: 25px;
	height: 25px;
}

.ligue-standings.widget-compact .team-name {
	font-size: 12px !important;
}

[dir="rtl"] .ligue-standings.widget-compact .team-name {
	font-size: 11px !important;
}

.ligue-standings.widget-compact .pos {
	font-size: 14px;
	min-width: 30px;
}

.ligue-standings.widget-compact .points {
	font-size: 13px;
}

/* Masquer colonnes non essentielles dans le widget */
.ligue-standings.widget-compact .wins,
.ligue-standings.widget-compact .draws,
.ligue-standings.widget-compact .losses,
.ligue-standings.widget-compact .goals-for,
.ligue-standings.widget-compact .goals-against {
	display: none;
}

/* ==================== RESPONSIVE ==================== */

@media (max-width: 768px) {
	.style-table-7.cs7-1 th, .style-table-7.cs7-1 td {
		padding: 5px 10px;
		font-size: 13px;
	}

	.style-table-7 td.scr {
		width: 28px;
		font-size: 12px;
	}

	.standings-table .team-logo-small {
		width: 32px;
		height: 32px;
	}

	.standings-table .team-name {
		font-size: 12px !important;
	}

	.standings-table .goals-for,
	.standings-table .goals-against {
		display: none;
	}
}

@media (max-width: 480px) {
	.standings-table .wins,
	.standings-table .draws,
	.standings-table .losses {
		display: none;
	}

	.style-table-7.cs7-1 td.first-team,
	.style-table-7.cs7-1 td.sec-team {
		max-width: 100px;
		font-size: 12px;
	}
}

@media (max-width: 350px) {
	.style-table-7 td.scr {
    	width: 31px !important;
		font-size: 24px !important;
	}
}

/* ==================== MESSAGES D'ERREUR ==================== */

.ligue-error {
    background-color: #f8d7da;
    color: #721c24;
    padding: 15px 20px;
    border: 1px solid #f5c6cb;
    border-radius: 6px;
    margin: 20px 0;
    font-size: 14px;
	font-family: 'Rubik';
}

[dir="rtl"] .ligue-error {
	font-family: 'Cairo';
}

/* ==================== LOGOS ==================== */

.team-logo {
	max-width: 35px;
	max-height: 35px;
	object-fit: contain;
}

.sp-logo {
	max-width: 100%;
	height: auto;
}

#tabs-w-combo {
	max-width: 250px;
	margin-left: auto;
	margin-right: auto;
}

table.style-table-7 tr td.scr {
	background-color: var(--score-bg, #ff0000) !important;	
}

table.style-table-7 tr td.hb.td-logo {
	text-align: center;
}