/* UNIVERSAL 
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
*/
.sor_calendar_wrapper {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
	-webkit-font-smoothing: antialiased;
	text-decoration: none;
}
.sor_link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.sor_workshop_row {
    display: grid;
    grid-template-columns: 175px 1fr auto 40px;
    grid-template-rows: auto auto;
    gap: 0px 20px; /* row-gap column-gap */
    padding: 15px;
    border-bottom: 1px solid #999;
    align-items: center;
		background-color: #fff;
    transition: background-color 0.2s;
}

.sor_link:nth-child(odd) .sor_workshop_row {
    background-color: #f9f9f9;
}

.sor_workshop_row:hover {
    background-color: rgba(232, 238, 252, 0.5) !important;
}
.sor_workshop_row:hover .sor_chevron {
	color: #36c;
	transform: translateX(5px);
	font-weight: 400;
}

/* Grid positioning */
.sor_workshop_date {
    grid-column: 1;
    grid-row: 1;
    font-weight: 500;
    color: #666;
}

.sor_workshop_time {
    grid-column: 2 / 4;
    grid-row: 1;
		font-weight: 500;
    color: #666;
}

.sor_workshop_name {
    grid-column: 1 / 3;
    grid-row: 2;
    font-size: 1.1em;
    font-weight: 500;
		color: #2e4aac;
}

.sor_workshop_togo {
    grid-column: 3;
    grid-row: 1 / 3;
    color: #666;
    font-size: 0.9em;
		font-weight: 500;
    text-align: right;
}

.sor_chevron {
    grid-column: 4;
    grid-row: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    color: #707070;
		transition: transform 0.3s ease-out;
}

/* Pagination controls styles */
.sor_calendar_wrapper {
    margin: 20px 0;
}

.sor_pagination_controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding: 10px 15px;
    background: #fff;
    border-radius: 5px;
}

.sor_prev_btn,
.sor_next_btn {
    padding: 2px 15px 1px;
    background: #2d4aad;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background 0.3s;
}

.sor_prev_btn:hover:not(:disabled),
.sor_next_btn:hover:not(:disabled) {
    background: #3d60dc;
}

.sor_prev_btn:disabled,
.sor_next_btn:disabled {
    background: #ccc;
    cursor: not-allowed;
    opacity: 0.6;
}

.sor_page_info {
    font-size: 16px;
    color: #555;
}

/* Responsive: Stack on mobile */
@media (max-width: 936px) {
    .sor_workshop_row {
        grid-template-columns: 1fr 40px; /* Content column and chevron */
        grid-template-rows: auto auto auto auto; /* 4 rows */
        gap: 0px 10px;
        padding: 12px;
    }
    
    .sor_workshop_date {
        grid-column: 1;
        grid-row: 1;
        font-size: 0.95em;
    }
    
    .sor_workshop_time {
        grid-column: 1;
        grid-row: 2;
        font-size: 0.9em;
    }
    
    .sor_workshop_name {
        grid-column: 1;
        grid-row: 3;
        font-size: 1em;
    }
    
    .sor_workshop_togo {
        grid-column: 1;
        grid-row: 4;
        text-align: left;
        padding-left: 0;
        font-size: 0.85em;
    }
    
    .sor_chevron {
        grid-column: 2;
        grid-row: 1 / 5; /* Spans all 4 rows */
        font-size: 1.2em;
    }
}