/**
 * Key Dates module — page-specific styles.
 */

.key-dates-page.scholarships-page .wrapper-dash-leftbar>.leftbar {
	flex: 1 1 auto;
	min-width: 0;
}

.key-dates-page.scholarships-page .wrapper-dash-leftbar>aside.key-dates-aside {
	flex: 0 0 348px;
	min-width: 348px;
}

/* -------------------------------------------------------------------------- */
/* Stack at 991px (faculty-style; overrides scholarships 1024px stack)         */
/* -------------------------------------------------------------------------- */

@media (max-width: 991px) {
	.key-dates-page.scholarships-page .wrapper-dash-leftbar {
		flex-wrap: wrap !important;
		gap: 0;
	}

	.key-dates-page.scholarships-page .wrapper-dash-leftbar .leftbar {
		width: 100% !important;
		order: 1 !important;
		flex: 1 1 100% !important;
	}

	.key-dates-page.scholarships-page .wrapper-dash-leftbar>aside.key-dates-aside {
		width: 100% !important;
		min-width: 0 !important;
		flex: 1 1 100% !important;
		order: 2 !important;
		margin-top: 32px !important;
	}

	.key-dates-page.scholarships-page .wrapper-dash-leftbar>aside .aside-box {
		margin-top: 0;
		border-radius: 16px;
	}

	.key-dates-page .key-dates-aside {
		gap: 32px;
	}

	.key-dates-page .key-dates-aside-calendar {
		gap: 16px;
	}
	.key-dates-page .key-dates-closure-content {
	padding: 24px 0 !important;
	}
	.key-dates-page .key-dates-cta-book {
    padding: 12px 20px !important;
	}

}

@media (min-width: 992px) and (max-width: 1024px) {
	.key-dates-page.scholarships-page .wrapper-dash-leftbar {
		flex-wrap: nowrap !important;
		gap: calc(60 / 1440 * 100vw) !important;
		align-items: flex-start;
	}

	.key-dates-page.scholarships-page .wrapper-dash-leftbar .leftbar {
		width: auto !important;
		order: 0 !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	.key-dates-page.scholarships-page .wrapper-dash-leftbar>aside.key-dates-aside {
		width: auto !important;
		min-width: 348px !important;
		order: 0 !important;
		flex: 0 0 348px !important;
		margin-top: 0 !important;
	}
}

/* -------------------------------------------------------------------------- */
/* Page header & typography                                                    */
/* -------------------------------------------------------------------------- */

.key-dates-page .key-dates-header {
	margin-bottom: 0;
}

.key-dates-page .key-dates-intro {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, calc(18 / 1440 * 100vw), 18px);
}

.key-dates-page .key-dates-intro .p-large {
	margin: 0;
}

.key-dates-page .key-dates-intro .p-large:last-child {
	margin-bottom: 0;
}

.key-dates-page .key-dates-intro-body>*:last-child {
	margin-bottom: 0;
}

.key-dates-page .key-dates-intro-lead {
	font-size: clamp(19px, calc(22 / 1440 * 100vw), 22px);
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.key-dates-page .key-dates-section--academic h2 {
	font-weight: 600;
	font-size: clamp(40px, calc(48 / 1440 * 100vw), 48px);
	line-height: 1.1;
	margin: 0 0 clamp(32px, calc(36 / 992 * 100vw), 36px);
}

.key-dates-page .key-dates-section--closures h3 {
	font-size: clamp(40px, calc(42 / 1440 * 100vw), 42px) !important;
	margin-bottom: clamp(16px, calc(18 / 992 * 100vw), 18px) !important;
	line-height: 1 !important;
}

.key-dates-page .key-dates-year-title {
	font-weight: 600;
	font-size: clamp(35px, calc(42 / 1440 * 100vw), 42px) !important;
	line-height: 1;
	/* margin: 0 0 clamp(16px, calc(18 / 1440 * 100vw), 18px); */
}

.key-dates-page .key-dates-year-block+.key-dates-year-block {
	margin-top: clamp(32px, calc(36 / 1440 * 100vw), 36px);
}

.key-dates-page .key-dates-year-intro,
.key-dates-page .key-dates-year-footnote {
	font-size: clamp(16px, calc(18 / 1440 * 100vw), 18px);
	line-height: 1.5;
}

.key-dates-page .key-dates-closures-intro {
	margin: 0 0 clamp(32px, calc(36 / 1440 * 100vw), 36px);
	font-size: clamp(16px, calc(18 / 1440 * 100vw), 18px);
	line-height: 1.5;
}

.key-dates-page .key-dates-highlights-list {
	gap: 12px;
}

@media (min-width: 992px) {
	.key-dates-page .key-dates-highlights-list {
		gap: 16px;
	}

}

/* -------------------------------------------------------------------------- */
/* Book Now CTA                                                                */
/* -------------------------------------------------------------------------- */

.key-dates-page .key-dates-cta {
	margin-top: clamp(16px, calc(18 / 1440 * 100vw), 18px);
}

.key-dates-page .key-dates-cta-book {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 24px;
}

.key-dates-page .key-dates-cta-book__icon {
	display: inline-flex;
	line-height: 0;
}

.key-dates-page .key-dates-cta-book__icon svg {
	display: block;
}

/* -------------------------------------------------------------------------- */
/* Tables                                                                      */
/* -------------------------------------------------------------------------- */



.key-dates-page .key-dates-table {
	margin-bottom: 0;
}

.key-dates-page .key-dates-table table.fixed {
	min-width: 100%;
	table-layout: fixed;
	width: 100%;
}

.key-dates-page .key-dates-table--academic table.fixed {
	min-width: 510px;
}

.key-dates-page .key-dates-table--closure table.fixed {
	min-width: 559px;
}

.key-dates-page .key-dates-table thead th {
	font-weight: 700;
	font-size: clamp(14px, calc(18 / 1440 * 100vw), 18px);
	line-height: 1.5;
	border-bottom: 2px solid #e0177f;
	vertical-align: middle;
}

.key-dates-page .key-dates-table tbody td {
	font-size: clamp(14px, calc(18 / 1440 * 100vw), 18px);
	line-height: 1.5;
	vertical-align: top;
}

.key-dates-page .key-dates-table tbody td.key-dates-table__highlight {
	background-color: #e3eef5;
	font-weight: 700;
}

.key-dates-page .key-dates-table tbody tr:not(.key-dates-table__category) td:not(.key-dates-table__highlight) {
	font-weight: 400;
}

.key-dates-page .key-dates-table tbody tr.key-dates-table__category td.key-dates-table__highlight {
	font-weight: 700;
}

/* -------------------------------------------------------------------------- */
/* Closure accordions                                                          */
/* -------------------------------------------------------------------------- */

.key-dates-page .key-dates-closure-accordions {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* .key-dates-page .key-dates-closure-accordion {
	border: none;
	margin: 0;
} */

.key-dates-page .key-dates-closure-accordion .key-dates-closure-summary {
	display: flex;
	align-items: center;
	gap: 12px;
	background-color: #e3eef5;
	/* border-top: 0.5px solid #0b0c0c;
	border-bottom: 0.5px solid #0b0c0c; */
	padding: 24px;
	list-style: none;
	cursor: pointer;
}

.key-dates-page .key-dates-closure-accordion:not([open]) .key-dates-closure-summary {
	background-color: #fff;
}

.key-dates-page .key-dates-closure-accordion .key-dates-closure-summary::-webkit-details-marker {
	display: none;
}

.key-dates-page .key-dates-closure-year {
	font-weight: 600;
	font-size: clamp(22px, calc(24 / 1440 * 100vw), 24px);
	line-height: 1.1;
}

.key-dates-page .key-dates-closure-content {
	padding: 24px;
}

.key-dates-page .key-dates-closure-content>p {
	margin: 0 0 18px;
	font-size: clamp(16px, calc(18 / 1440 * 100vw), 18px);
	line-height: 1.5;
}

/* -------------------------------------------------------------------------- */
/* Sidebar — Contact + Calendar (Figma gap 36px desktop, 32px mobile)          */
/* -------------------------------------------------------------------------- */

.key-dates-page .key-dates-aside {
	display: flex;
	flex-direction: column;
	gap: clamp(32px, calc(36 / 1440 * 100vw), 36px);
	width: 100%;
}

.key-dates-page .key-dates-aside .aside-box {
	margin-bottom: 0 !important;
}

.key-dates-page .key-dates-aside-calendar {
	background-color: #e3eef5;
	display: flex;
	flex-direction: column;
	gap: clamp(16px, calc(18 / 1440 * 100vw), 18px);
}

/* Figma 7707:7360 desktop — H4 24px; Figma 7711:20868 mobile — 22px */
.key-dates-page .key-dates-aside-calendar h3 {
	/* font-family: "York Grot", sans-serif; */
	font-weight: 600;
	font-size: clamp(22px, calc(24 / 1440 * 100vw), 24px);
	line-height: 1.1;
	margin: 0;
	text-transform: none;
	/* color: #0b0c0c; */
}

.key-dates-page .key-dates-aside-calendar p {
	margin: 0;
}

.key-dates-page .key-dates-calendar-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.key-dates-page .key-dates-calendar-links li {
	margin: 0;
	margin-block: 0;
}

.key-dates-page .key-dates-calendar-links a {
	color: #0c31ac;
	text-decoration: underline;
	font-size: 16px;
	line-height: 24px;
}

.key-dates-page .key-dates-calendar-links a:hover {
	text-decoration-thickness: 2px;
}

/* -------------------------------------------------------------------------- */
/* Mobile typography                                                           */
/* -------------------------------------------------------------------------- */
@media (max-width: 991px) {

	/* Match desktop row borders — york-general mobile adds left + solid bottom on .custom-table tr */
	.key-dates-page .key-dates-table.custom-table tr {
		border-left: none;
		border-bottom: 0.8px solid rgba(11, 12, 12, 0.25);
	}
}

@media (max-width: 767px) {

	.key-dates-page .key-dates-year-intro,
	.key-dates-page .key-dates-year-footnote,
	.key-dates-page .key-dates-closures-intro,
	.key-dates-page .key-dates-section p,
	.key-dates-page .key-dates-closure-content>p {
		font-size: 16px;
		line-height: 24px;
	}

	.key-dates-page .key-dates-table thead th,
	.key-dates-page .key-dates-table tbody td {
		font-size: 13.92px;
		line-height: 1.5;
		padding: 4px 8px;
	}

	.key-dates-page .key-dates-aside .aside-box {
		padding: 24px;
	}
}

