/**
 * Frontend styles.
 *
 * Version: 1.1.0
 *
 * Changelog:
 * 1.1.0
 * - Added exercises overview grid.
 * - Added exercise cards.
 * - Added overview chart container styling.
 * - Added responsive layout handling.
 *
 * 1.0.0
 * - Added frontend layout styles.
 * - Added fixed Chart.js container height.
 *
 * @package BilliardTrainingManager
 */


/*
 * Training page
 */
.bt-training-page {
	width: 100%;
}


.bt-training-plan-layout {
	display:flex;
	gap:30px;
}


.bt-training-plan-sidebar {
	width:30%;
	border-right:1px solid #ddd;
	padding-right:20px;
}


.bt-training-plan-content {
	width:70%;
	padding:20px;
	background:#f8f8f8;
	border-radius:8px;
}


.bt-training-plan-item {
	display:block;
	padding:12px;
	margin-bottom:8px;
	border-radius:6px;
	text-decoration:none;
	cursor:pointer;

}

.bt-training-plan-item.active {
	background:#ddd;
}


.bt-training-plan-exercise-list {

	list-style:none;
	padding:0;
	margin:20px 0;

}


.bt-training-plan-exercise {

	padding:8px 12px;
	border-bottom:1px solid #ddd;

}


.bt-training-plan-difficulty {

	float:right;
	letter-spacing:2px;

}


.bt-training-plan-actions {

	margin-top:30px;
	display:flex;
	gap:15px;

}

/*
 * Exercise selector
 */
.bt-exercise-selector {
	margin-bottom: 20px;
}



/*
 * Exercise images
 */
.bt-exercise-images {

	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 15px;

}


.bt-exercise-images img {

	max-width: 100%;
	height: auto;
	display: block;

}



/*
 * Result form
 */
.bt-result-form {

	margin-top: 25px;

}


.bt-form-field {

	margin-bottom: 15px;

}


.bt-form-field label {

	display: block;
	margin-bottom: 5px;
	font-weight: 600;

}


.bt-form-field input,
.bt-form-field select {

	max-width: 300px;
	width: 100%;

}



/*
 * Single training chart
 *
 * Important:
 * Chart.js needs a fixed parent height.
 */
.bt-chart-container {

	margin-top: 30px;

}


.bt-chart-wrapper {

	position: relative;
	width: 100%;
	height: 350px;

}


.bt-chart-wrapper canvas {

	width: 100% !important;
	height: 100% !important;

}





/*
 * Exercises overview
 */
.bt-exercises-overview {

	margin-top: 30px;

}



.bt-overview-header {

	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	flex-wrap: wrap;
	gap: 15px;

}



.bt-overview-filter {

	display: flex;
	align-items: center;
	gap: 10px;

}





/*
 * Exercise cards grid
 *
 * Three exercises per row.
 */
.bt-exercises-grid {

	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;

}





/*
 * Exercise card
 */
.bt-exercise-card {

	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 20px;
	background: #fff;

}





.bt-exercise-card-header {

	margin-bottom: 15px;

}



.bt-exercise-card h3 {

	margin-top: 0;

}





/*
 * Exercise metadata
 */
.bt-exercise-meta {

	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 14px;

}



.bt-exercise-difficulty {

	font-weight: 600;

}



.bt-exercise-pat {

	display: inline-block;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;

}



/*
 * Gruppenverwaltung
 */

.bt-groups-introduction,
.bt-groups-overview,
.bt-groups-create,
.bt-groups-detail {
    margin-bottom: 30px;
    padding: 20px;
    border: 1px solid #dcdcdc;
    border-radius: 8px;
}



/*
 * Overview charts
 */
.bt-exercise-chart {

	position: relative;
	height: 250px;
	width: 100%;

}



.bt-exercise-chart canvas {

	width: 100% !important;
	height: 100% !important;

}




/*
 * Responsive layout
 */
@media (max-width: 1100px) {


	.bt-exercises-grid {

		grid-template-columns: repeat(2, 1fr);

	}


}



@media (max-width: 700px) {


	.bt-exercises-grid {

		grid-template-columns: 1fr;

	}


	.bt-overview-header {

		flex-direction: column;
		align-items: flex-start;

	}


}