fieldset {
    border: 1px solid #ccc;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 5px;
}

fieldset.tcc-schedules {
	box-shadow: inset 0 -25px 50px -35px rgba(0,0,0,1);
}

legend {
    font-weight: bold;
    font-size: 1.1em;
    padding: 0 10px;
}

.tcc-option-cell {
	text-align:center;
}

.tcc-option-schedule-name {
    font-size: 1.1em;
    color: #333;
}


/******************************************************************************
 * Radio Button Grid
 *****************************************************************************/
.tcc-table-container {
	display: grid;
	grid-template-rows: auto 1fr;
	grid-template-columns: 5% 40% 20% 20% 9% 6%;
	border: 1px solid #ccc;
	max-height: 19em;
	overflow-y:auto;
}

.tcc-table-header {
	grid-row: 1;
	grid-area: header;
	position: sticky;
	top: 0;
	z-index:10;
	
}

.tcc-table-header,.tcc-table-row {
	display: contents; /* Promotes children to participate in the parent grid */
}

.tcc-header-cell,.tcc-table-cell {
	padding: 10px;
	border: 1px solid #eee;
}

.tcc-table-header .tcc-header-cell {
	background-color: #f0f0f0;
	font-weight: bold;
}

.tcc-option-schedule-cost, .tcc-option-schedule-seats {
	text-align: right;
}

.tcc-month-cell {
	grid-column: 1 / 7;
	text-align:center;
	font-weight:bold;
}

.tcc-data-cell, .tcc-data-cell > label {
	cursor:pointer;
}


@media (max-width: 768px) {
	.tcc-table-container {
		grid-template-columns: 1fr; /* Single column on small screens */
	}

	.tcc-table-header {
		display: none; /* Hide header row on small screens if desired */
	}

	.tcc-table-row {
		display: grid; /* Make each row a sub-grid */
		grid-template-columns: auto 1fr; /* Label and value for each cell */
		margin-bottom: 10px;
		border: 1px solid #ccc;
	}

	.tcc-table-cell {
		border: none; /* Remove individual cell borders */
		text-align: left;
		padding: 5px;
	}

	.tcc-table-cell::before {
		content: attr(data-label) " "; /* Use data-label for a visible label */
		font-weight: bold;
		display: block; /* Make the label display on its own line */
	}
	
	.tcc-option-cell {
		text-align:center;
		padding-top:2rem;
	}
}