/* Base Variables */
.academic-calendar-wrapper {
	--ac-border-color: #e2e8f0;
	--ac-bg-color: #f8fafc;
	--ac-text-color: #334155;
	--ac-active-color: #2563eb;
	--ac-active-bg: #ffffff;
	--ac-radius: 4px;
	--ac-spacing: 1rem;
	font-family: inherit;
}

.academic-calendar-year-section {
	margin-bottom: calc(var(--ac-spacing) * 2);
}

.academic-calendar-year {
	margin-bottom: var(--ac-spacing);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--ac-text-color);
}

/* Common Table Styles */
.academic-calendar-table-responsive {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
}

.academic-calendar-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	border: 1px solid var(--ac-border-color);
}

.academic-calendar-table th,
.academic-calendar-table td {
	padding: 0.75rem 1rem;
	border: 1px solid var(--ac-border-color);
}

.academic-calendar-table th {
	background-color: var(--ac-bg-color);
	font-weight: 600;
	color: var(--ac-text-color);
}

.academic-calendar-no-table-data,
.academic-calendar-no-semesters {
	padding: var(--ac-spacing);
	background-color: var(--ac-bg-color);
	border: 1px solid var(--ac-border-color);
	border-radius: var(--ac-radius);
	color: var(--ac-text-color);
}

/* Desktop View (Tabs) */

.academic-calendar-tabs {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--ac-spacing) 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
    width: 100%;
}

.academic-calendar-tab {
	margin: 0;
    flex: 1 1 0;
    text-align: center;
}

.academic-calendar-tab a {
	display: block;
	padding: 1rem 1.25rem;
	text-decoration: none;
	color: var(--ac-text-color);
	background-color: var(--ac-bg-color);
	border: 1px solid var(--ac-border-color);
	font-weight: 500;
	transition: all 0.2s ease;
}

.academic-calendar-tab.active a {
	background-color: var(--ac-active-bg);
	border-color: var(--ac-active-color);
	color: var(--ac-active-color);
}

.academic-calendar-tab-icon > :first-child {
    display: inline-flex;
}

.academic-calendar-tab-icon > :last-child {
    display: none;
}

.academic-calendar-tab.active .academic-calendar-tab-icon > :first-child,
.academic-calendar-tab-title.active .academic-calendar-tab-icon > :first-child {
    display: none;
}

.academic-calendar-tab.active .academic-calendar-tab-icon > :last-child,
.academic-calendar-tab-title.active .academic-calendar-tab-icon > :last-child {
    display: inline-flex;
}

.academic-calendar-tab:not(.active):hover .academic-calendar-tab-icon > :first-child,
.academic-calendar-tab-title:not(.active):hover .academic-calendar-tab-icon > :first-child {
    display: none;
}

.academic-calendar-tab:not(.active):hover .academic-calendar-tab-icon > :last-child,
.academic-calendar-tab-title:not(.active):hover .academic-calendar-tab-icon > :last-child {
    display: inline-flex;
}

.academic-calendar-tab a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.academic-calendar-tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
}

.academic-calendar-tab-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.academic-calendar-tab-title {
    display: inline-block;
    line-height: 1.3;
}

.academic-calendar-panels {
	position: relative;
}

.academic-calendar-panel {
	display: none;
}

.academic-calendar-panel.active {
	display: block;
	animation: fadeIn 0.3s ease-in-out;
}

/* Animations */
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Responsive Breakpoints */
@media (min-width: 768px) {
	.academic-calendar-desktop-view {
		display: block;
	}
}

/* css to display in accordion format in mobile device  */
@media (max-width: 767px) {
    .academic-calendar-panel{
        display:none;
        padding:16px 0;
    }

    .academic-calendar-panel.active{
        display:block;
    }

    .ac-mobile-bottom-tabs{
        display:flex;
        flex-direction:column;
    }

    .ac-mobile-bottom-tabs .academic-calendar-tab{
        width:100%;
    }

    .academic-calendar-tabs {
        display:block;
        display: contents;
        position: sticky;
        z-index: 999;
    }

    .academic-calendar-tabs .academic-calendar-tab{
        margin-bottom:10px;
        display: flex;
        position: relative;
    }
    .academic-calendar-tabs .academic-calendar-tab.active {
        position: sticky;
        top: 69px !important;
        z-index: 999;
    }

}