/* Global Styles */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
	padding-bottom:74px;
    background-color: #2C3E50;
    color: #ECF0F1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
@media screen and (max-width: 1200px) {
	body {
		padding-bottom:74px;
	}
}
h1, h2, h3, p {
    margin: 0;
    padding: 0;
    color: #ECF0F1;
}
.center {
	text-align:center;
}
.underline {
	text-decoration:underline;
}
.color-red {
	color:#E74C3C;
}
.align-right {
	text-align:right;
}
.padding-20px {
	padding-right:20px;
}
/* Navbar */
.navbar {
    background-color: #1A252F;
    padding: 15px;
    display: flex;
    justify-content: space-around;
    box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.1);
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000; /* Pour que la barre reste au-dessus du reste du contenu */
}
.nav-item {
    text-align: center;
    padding: 10px;
    transition: background-color 0.3s ease;
}
.nav-item a {
    color: #ECF0F1;
    text-decoration: none;
    font-size: 18px;
}
.nav-item:hover {
    background-color: #34495E;
}
@media screen and (max-width: 450px) {
	.navbar {
		padding: 5px;
	}
}
@media screen and (max-width: 320px) {
	.nav-item a {
		font-size: 16px;
	}
}

/* Index */
.index-mainpage {
    background-color: #34495E;
    border-radius: 10px;
    padding: 30px;
    margin: 50px auto;
    width: 80%;
    max-width: 900px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.index-mainpage h1 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 36px;
    color: #E74C3C;
}
.index-mainpage h2 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 24px;
    color: #ECF0F1;
}
.index-conn-div {
    background-color: #2C3E50;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}
.index-conn-input {
    width: calc(100% - 60px);
    padding: 10px;
    margin: 10px 0 10px 20px;
    border-radius: 5px;
    border: none;
    font-size: 18px;
}
.index-conn-title {
    font-size: 20px;
    margin-bottom: 20px;
    color: #ECF0F1;
}
.index-conn-submit, .index-deconn {
    width: 60%;
    padding: 10px;
	margin-top:10px;
	margin-left:20%;
    border: none;
    border-radius: 5px;
    font-size: 18px;
    color: #ECF0F1;
    background-color: #E74C3C;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.index-conn-submit:hover, .index-deconn:hover {
    background-color: #C0392B;
}
.index-new-account {
    text-align: center;
    font-size: 16px;
    color: #ECF0F1;
    margin-top: 10px;
}
.index-new-account a {
    color: #E74C3C;
    text-decoration: none;
    transition: color 0.3s ease;
}
.index-new-account a:hover {
    color: #C0392B;
}
.index-forgotten-password {
	text-align: left;
    font-size: 16px;
    color: #ECF0F1;
    margin-top: 0px;
	padding: 10px;
}
.index-forgotten-password a{
	text-align: left;
    font-size: 16px;
    color: #ECF0F1;
    margin-top: 0px;
	padding: 10px;
}
.index-group-button {
    padding: 10px;
	margin-left:20px;
	margin-right:20px;
	margin-top:30px;
    border: none;
    border-radius: 5px;
    font-size: 18px;
    color: #ECF0F1;
    background-color: #E74C3C;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.error-div {
    background-color: #f8d7da;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
}
.error-div p {
    font-size: 15px;
    text-align: center;
    color: #721c24;
    margin: 0;
}
.success-div {
    background-color: #D4EDDA;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px solid #C3E6CB;
    border-radius: 5px;
}
.success-div p {
    font-size: 15px;
    text-align: center;
    color: #155724;
    margin: 0;
}

@media screen and (max-width: 500px) {
	.index-conn-div {
		padding: 20px 0px;
		margin-bottom: 20px;
	}
}
/* Matchday */
#bet-list {
    width: 90%;
    max-width: 1400px; /* Largeur maximale pour correspondre au tableau existant #3B4F61 */
    margin: 20px auto;
    background-color: #34495E; 
    border-radius: 10px;
    padding: 20px; /* Ajouter un padding interne */
}
.matchday-subtitle {
    text-align: center;
    font-size: 24px;
    color: #ECF0F1;
    margin-bottom: 20px;
}
.matchday-text{
	font-size: 22px;
	text-align:center;
}
.matchday-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #2C3E50;
    border-radius: 10px;
    overflow: hidden; /* Pour gérer les bordures arrondies */
    border: 2px solid #E74C3C; /* Bordure extérieure */
}
.matchday-tr {
    background-color: #3B4F61;
    color: #ECF0F1;
}
.matchday-td {
    padding: 12px;
    text-align: center;
    font-size: 18px;
    border-top: 1px solid #BDC3C7; /* Bordure entre les lignes */
    border-right: 1px solid #BDC3C7; /* Séparation des colonnes */
}
.matchday-td:last-child {
    border-right: none; /* Supprime la bordure sur la dernière colonne */
}

/* Reglement */
.reglement-titre {
	font-size:26px;
	text-align:center;
}
.reglement-section {
	font-size:22px;
	margin-top:23px;
}
.reglement-li {
	line-height:28px;
	font-size:20px;
	text-align: justify;
}
@media screen and (max-width: 500px) {
	.reglement-li {
		font-size:19px;
	}
}

/* Next page */
.next-title {
    text-align: center;
    margin-top: 20px;
    font-size: 36px;
    color: #E74C3C;
}
.full-body {
    margin: 20px auto;
    padding: 20px;
    background-color: #34495E;
    border-radius: 10px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    width: 90%;
    max-width: 900px;
}
.sub_title {
    margin: 20px 0;
    font-size: 24px;
    text-align: center;
}
#main-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #2C3E50;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.side-divs {
    flex: 1;
    text-align: center;
}
.next-club-img {
    width: 100px;
    height: 100px;
    object-fit: contain;
}
#middle-div {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 2;
    text-align: center;
	margin-top:30px;
	margin-bottom:10px;
}
.score-section {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}
.next-input {
    width: 60px;
    padding: 10px;
    margin: 0 10px;
    border-radius: 5px;
    border: none;
    font-size: 25px;
    text-align: center;
}
.dash {
    font-size: 36px;
    margin: 0 10px;
    color: #ECF0F1;
}
.info-section {
    font-size: 25px;
    color: #ECF0F1;
    text-align: center;
}
.next-submit {
    display: block;
    width: 100%;
    padding: 10px;
    margin-top: 20px;
    border: none;
    border-radius: 5px;
    font-size: 18px;
    color: #ECF0F1;
    background-color: #E74C3C;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.next-submit:hover {
    background-color: #C0392B;
}
@media screen and (max-width: 520px) {
	.next-club-img {
		width: 80px;
		height: 80px;
	}
	.next-input {
		width: 30px;
		padding: 5px;
		margin: 0 5px;
		font-size: 22px;
	}
	.info-section {
		font-size: 18px;
	}
	.dash {
		font-size: 24px;
		margin: 0 4px;
	}
	.full-body {
		margin: 15px auto;
	}
}
@media screen and (max-width: 340px) {
	.next-club-img {
		width: 60px;
		height: 60px;
	}
}
#middle-div-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 2;
    text-align: center;
	margin-top:0px;
	margin-bottom:0px;
}
.final-score {
    font-size: 38px;
    font-weight: bold;
    color: #ECF0F1;
}
.user-bet {
    font-size: 20px;
    color: #ECF0F1;
}
.points {
    font-size: 23px;
}
.green {
    color: #2ECC71;
}
.yellow{
	color:yellow;
}
.red{
	color:red;
}
/* Classement */
.class-table {
    width: 95%;
    max-width: 1400px; /* Largeur maximale augmentée */
    margin: 20px auto;
    border-collapse: collapse;
    background-color: #34495E;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 3px solid #E74C3C; /* Bordure autour du tableau */
}
.class-thead {
    background-color: #1A252F;
    color: #ECF0F1;
    text-align: left;
}
.class-thead th {
    padding: 15px;
	text-align: center;
}
.class-thead th:last-child {
    border-right: 3px solid #E74C3C;
}
.class-thead th[colspan="4"] {
    text-align: center;
    font-size: 28px;
    background-color: #1A252F;
    border-bottom: none;
}
.table-tr {
    background-color: #2C3E50;
    color: #ECF0F1;
}
.table-tr:nth-child(even) {
    background-color: #34495E;
}
.table-tr td {
    padding: 12px; /* Padding ajusté pour plus d'espace */
    text-align: center;
	font-size:20px;
    border-top: 1px solid #BDC3C7; /* Bordure entre les lignes */
    border-right: 1px solid #FFFFFF; /* Séparation des colonnes en blanc */
}
.table-tr td:last-child {
    border-right: 3px solid #E74C3C;
}
.change {
    display: flex;
    align-items: center;
    justify-content: center;
	font-size:16px;
}
.change.up {
    color: #2ECC71; /* Vert pour les gains */
	font-size: 16px;
}
.change.down {
    color: #E74C3C; /* Rouge pour les pertes */
	font-size: 16px;
}
.change.right {
    color: white; /* Blanc pour les non-changements */
	font-size: 16px;
}
.rank-size {
	font-size:25px;
	color:white;
	padding-right:10px;
}
.match-results {
    display: flex;
    justify-content: center;
    gap: 10px;
}
.circle {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    display: inline-block;
}
.bg-green {
    background-color: green;
}
.bg-yellow {
    background-color: yellow;
}
.bg-red {
    background-color: red;
}

/* Style du select */
.class-select {
    width:90%;
	max-width:300px;
    padding: 10px;
    margin: 20px 0px;
    background-color: #34495E;
    color: #ECF0F1;
    border: none;
    border-radius: 5px;
    font-size: 18px;
	text-align:center;
    cursor: pointer;
    appearance: none; /* Enlève le style par défaut */
    -webkit-appearance: none; /* Support pour Safari */
    -moz-appearance: none; /* Support pour Firefox */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.class-select:hover {
    background-color: #2C3E50;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.class-select:focus {
    outline: none; /* Enlève le contour par défaut quand le select est activé */
    box-shadow: 0 0 8px rgba(231, 76, 60, 0.8); /* Ajoute un contour rouge */
}

/* Style pour la flèche du select */
.class-select::after {
    content: '▼';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    pointer-events: none; /* Empêche l'interaction avec la flèche */
    color: #ECF0F1;
}

/* Option dans le select */
.class-select option {
    background-color: #2C3E50;
    color: #ECF0F1;
}


@media screen and (max-width: 800px) {
	.class-table {
		width: 100%;
	}
	.table-tr td {
		padding: 4px 2px;
		text-align: center;
		font-size: 17px;
		border-top: 1px solid #BDC3C7; /* Bordure entre les lignes */
		border-right: 1px solid #FFFFFF; /* Séparation des colonnes en blanc */
	}
	.class-thead th {
		padding: 4px 2px;
		text-align: center;
	}
	.rank-size {
		font-size:20px;
		padding-right:0px;
	}
	.change {
		font-size:11px;
	}
	.change.up {
		color: #2ECC71; /* Vert pour les gains */
		font-size: 11px;
	}
	.change.down {
		color: #E74C3C; /* Rouge pour les pertes */
		font-size: 11px;
	}
	.change.right {
		color: white; /* Blanc pour les non-changements */
		font-size: 11px;
	}
}
/* Users page */
#users-bet-list {
    width: 100%;
    max-width: 1200px; /* Largeur maximale pour correspondre au tableau existant #3B4F61 */
    margin: 20px auto;
    background-color: #34495E; 
    border-radius: 10px;
}
.users-club-img{
	width:40px;
	height:40px;
    vertical-align: middle;
}
.users-td {
    padding: 12px;
    text-align: center;
    font-size: 20px;
    border-top: 1px solid #BDC3C7; /* Bordure entre les lignes */
    border-right: 1px solid #BDC3C7; /* Séparation des colonnes */
	padding:5px;
}
.users-td:last-child {
    border-right: none; /* Supprime la bordure sur la dernière colonne */
}
.users-td span {
    vertical-align: middle;
}
@media screen and (max-width: 400px) {
	.users-club-img{
		width:25px;
		height:25px;
	}
	.users-td {
		padding:0px;
		font-size: 17px;
	}
}

/* Footer Styles */
footer {
    text-align: center;
    padding: 20px 0;
    background-color: #1A252F;
    color: #ECF0F1;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.1);
    margin-top: 20px;
}
