/* Base container styling */
#training-schedule {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.25em; 
    align-items: center!important;
    justify-content: center!important;
    min-height: 100vh;
    height: auto;
    box-sizing: border-box;
    padding: 0.25em; /* Adjusted from 1.25em */
    background-color: #f9f9f9; /* Light gray from --e-global-color-accent: #DEE3E2 */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    font-family: "Verdana", sans-serif; /* Text font from kit */
}

/* Desktop: Set width to 70% */
@media (min-width: 1025px) {
    #training-schedule {
        max-width: 70%;
    }
}

/* Tablet and Mobile: Keep 100% */
@media (max-width: 1024px) {
    #training-schedule {
        max-width: 100%;
    }
}

/* Month group styling - Unique colors for each program */
.month-group-container {
    text-align: center !important;
    border: 2px solid #446344; /* Dark green border, 1px wide */
    width: 100%;
    background-color: #FFFFFF !important;
    display: flex; /* Added to support gap between courses */
    flex-direction: column; /* Stack courses vertically */
    padding:0.25em;
    margin-bottom: 2em; /* Added 1em gap between courses */
}

.month-group-container:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

.month-group-container#month-group-container-december .month-header {
    color: #0275BD; /* Blue text */
}

/* Month header container styling */
.month-header-container {
    background-color: #446344 !important; /* Match group background */
    padding: 1em;
    display: flex; /* Ensure flex context */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
}

.month-header {
    font-family: "Averia Serif Libre", serif; /* Primary font from kit */
    font-size: 1.5em !important;
    font-weight: 600; /* Bold from --e-global-typography-primary-font-weight */
    color: #FFFFFF !important; /* Force white text */
    margin: 0!important; /* Remove default margin */
    text-transform: uppercase; /* For emphasis, matching home page headers */
    width: 100%; /* Allow it to take full width for centering */
    text-align: center; /* Ensure text is centered within its space */
    background-color:#446344;
}

/* Training session group styling */
.training-session-group-container {
    display: flex !important;
    flex-direction: column; /* Stack rows vertically */
    width: 100%;
    background-color: #FFFFFF; /* Default background */
    transition: background-color 0.3s ease;
    margin-bottom: 2em; /* Add margin to create white gap between courses */
}

.training-session-group-container.last-course-in-month {
    margin-bottom: 0; /* Remove margin for the last course in a month */
}

/* Row 1: Training Dates */
.training-session-group-row1-container {
    display: flex;
    justify-content: center;
    align-items:center;
    width: 100%;
    font-family: "Averia Serif Libre", serif;
    font-size: 1.1em;
    margin-top:0.5em;
    margin-bottom:0.5em;
    font-weight: 600;
    color:#446344;
    text-transform: uppercase; /* Make text all caps */
}

.course-dates-container {
}

.course-date {
    
}

/* Row 2: Coach Avatar */
.training-session-group-row2-container {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
    padding: 0.25em;
    margin-bottom: 1em; /* Add space below avatar */
}

.coach-avatar {
    width:93%;
    border:1px;
    border-color:#446344;
    border-radius:0.5em;
}

/* Row 3: Schedule Details Table */
.training-session-group-row3-container {
    display: flex;
    justify-content: center;
    width: 100%;
    background-color: #FFFFFF;
    padding: 0.25em;
    margin-bottom: 1em; /* Add space below table */
}

.schedule-details-table {
    width: 100%;
    border-collapse: collapse; /* Remove spacing between cells */
    background-color: #FFFFFF !important; /* Match container background */
    color: #446344; /* Ensure text is visible */
}

.schedule-details-table td {
    padding: 0.5em; /* Space inside cells */
    text-align: center;
    border: 1px solid #DEE3E2; /* Adjusted border color */
}

.schedule-details-table td.table-heading {
    font-weight: 600;
    background-color: #DEE3E2 !important; /* Dark background for headers */
    color: #446344 !important; /* White text for contrast */
    font-size: 1em;
    font-family: "Verdana", sans-serif;
}

.schedule-details-table td.table-value .coach-name a {
    color: #0275BD !important; /* Match location link color */
    font-family: "Averia Serif Libre", sans-serif;
    font-size: 1em !important;
    text-decoration: underline !important;
}

.schedule-details-table td.table-value .coach-name a:hover {
    color: #FFCC33 !important; /* Orange-yellow on hover, match location */
}

.schedule-details-table td.table-value .coach-domain {
    font-family: "Averia Serif Libre", sans-serif;
    font-size: 1em;
    color: #446344; /* Match table text color */
}

.schedule-details-table td.table-value .course-location a {
    color: #0275BD !important; /* Override white with intended blue */
    font-family: "Averia Serif Libre", sans-serif;
    font-size: 1em !important;
    text-decoration: underline !important;
}

.schedule-details-table td.table-value .course-location a:hover {
    color: #FFCC33 !important; /* Orange-yellow on hover */
}

.schedule-details-table td.table-value .course-languages {
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    width: 100%; /* Ensure full cell width */
}

.schedule-details-table td.table-value .course-languages img {
    display: inline-block; /* Ensure images are displayed */
    vertical-align: middle;
    margin-right: 1em; /* Set 1em gap between flags */
}

.schedule-details-table td.table-value .course-languages img:last-child {
    margin-right: 0; /* Remove gap after the last flag */
}

.schedule-details-table td.table-value .course-languages img:hover {
    opacity: 0.8; /* Visual feedback on hover */
    cursor: pointer; /* Indicate clickable flags */
}

.schedule-details-table td.table-value .crucible-link a {
    color: #0275BD !important;
    text-decoration: underline !important;
}

.schedule-details-table td.table-value .crucible-link a:hover {
    color: #FFCC33 !important;
}

/* Row 4: Course Registration Status */
.training-session-group-row4-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0.25em;
}

.course-registration-status-container {
    font-family: "Karma", serif; /* Accent font */
    font-weight: 500;
    font-style: italic;
    color: #446344;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-radius: 0; /* Removed rounded borders */
    width: 100%; /* Ensure full width */
    text-align: center;
    background-color: #FFFFFF !important; /* Add white background */
}

.course-registration-status {
    font-family: "Karma", serif; /* Accent font */
    font-weight: 500;
    font-style: italic;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
}

/* Row 5: */
.training-session-group-row5-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: none; /* Remove border below Row 5 */
}

.training-program-info2 {
    font-family: "Verdana", sans-serif;
    font-size: 1em;
    font-weight: 600;
    color: #446344;
    padding: 1em;
    border-radius: 0; /* Removed rounded borders */
    width: 100%; /* Ensure full width */
    text-align: center; /* Center text */
}