.cf-schedule-page {
	--cf-blue: #3e60ff;
	--cf-yellow: #fbc926;
	--cf-ice: #ecf9ff;
	--cf-navy: #010d83;
	--cf-ink: #070a18;
	--cf-muted: #646b7a;
	font-family: Poppins, sans-serif;
	background: #f7f9ff;
	color: var(--cf-ink);
}

.cf-schedule-page-hero {
	position: relative;
	min-height: clamp(700px, 78vh, 820px);
	overflow: hidden;
	display: flex;
	align-items: center;
	color: #fff;
}

.cf-schedule-page-hero-bg {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 15% 0%, rgba(251,201,38,.18), transparent 26%), radial-gradient(circle at 84% 15%, rgba(62,96,255,.42), transparent 32%), linear-gradient(135deg, #01072c 0%, #010d83 48%, #030515 100%);
	transform: scale(1.02);
}

.cf-schedule-page-hero::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(1,7,44,.84) 0%, rgba(1,7,44,.42) 50%, rgba(1,7,44,.78) 100%), linear-gradient(0deg, rgba(1,7,44,.84), transparent 56%);
	content: "";
	pointer-events: none;
}

.cf-schedule-page-hero .container {
	position: relative;
	z-index: 1;
}

.cf-schedule-page-hero-grid {
	display: grid;
	align-items: center;
	gap: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(3.25rem, 5vw, 4.5rem) 0 clamp(4rem, 6vw, 5.25rem);
}

.cf-schedule-page-copy {
	display: grid;
	justify-items: center;
	text-align: center;
}

.cf-schedule-page-copy h1 {
	max-width: 810px;
	margin: 0;
	color: #fff;
	font-size: clamp(3.4rem, 6.2vw, 6.35rem);
	font-weight: 900;
	letter-spacing: -.065em;
	line-height: .94;
	text-shadow: 0 10px 40px rgba(0,0,0,.25);
}

.cf-schedule-page-copy > p:not(.cf-kicker) {
	max-width: 780px;
	margin: 1.5rem 0 0;
	color: rgba(255,255,255,.78);
	font-size: clamp(1.02rem, 1.8vw, 1.28rem);
	line-height: 1.75;
}

.cf-schedule-page-actions {
	display: grid;
	width: min(100%, 880px);
	grid-template-columns: minmax(250px, 1.25fr) repeat(2, minmax(180px, .85fr));
	gap: .85rem;
	margin-top: 2.2rem;
	justify-content: center;
}

.cf-schedule-page-actions .cf-btn-schedule {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(251,201,38,.72);
	background: rgba(251,201,38,.14);
	color: var(--cf-yellow);
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.cf-schedule-page-actions .cf-btn-schedule:hover,
.cf-schedule-page-actions .cf-btn-schedule:focus-visible {
	border-color: var(--cf-yellow);
	background: var(--cf-yellow);
	color: var(--cf-navy);
}

.cf-schedule-hero-offer {
	display: grid;
	width: min(100%, 880px);
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
	padding: .95rem 1rem;
	border: 1px solid rgba(251,201,38,.42);
	background: linear-gradient(90deg, rgba(1,13,131,.68), rgba(1,7,44,.62));
	box-shadow: 0 24px 70px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.06);
	color: #fff;
	text-align: left;
	backdrop-filter: blur(12px);
}
.cf-schedule-hero-offer span {
	border-radius: 999px;
	padding: .58rem .72rem;
	background: var(--cf-yellow);
	color: var(--cf-navy);
	font-size: .62rem;
	font-weight: 900;
	letter-spacing: .13em;
	line-height: 1;
	text-transform: uppercase;
}
.cf-schedule-hero-offer strong {
	color: #fff;
	font-size: clamp(1.05rem, 1.6vw, 1.4rem);
	font-weight: 900;
	letter-spacing: .018em;
	line-height: 1.05;
}
.cf-schedule-hero-offer small {
	color: rgba(255,255,255,.72);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
}
.cf-schedule-hero-offer em {
	color: var(--cf-yellow);
	font-style: normal;
	letter-spacing: .12em;
}
.cf-schedule-hero-offer:hover,
.cf-schedule-hero-offer:focus-visible {
	border-color: var(--cf-yellow);
	color: #fff;
}

.cf-schedule-latest { display: grid; gap: 1.1rem; }
.cf-schedule-latest-heading { display: flex; align-items: center; justify-content: center; gap: 1rem; color: #fff; }
.cf-schedule-latest-heading span { border-radius: 999px; padding: .55rem .72rem; background: var(--cf-yellow); color: var(--cf-navy); font-size: .64rem; font-weight: 900; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
.cf-schedule-latest-heading strong { color: #fff; font-size: clamp(1.4rem, 2.3vw, 2rem); font-weight: 900; letter-spacing: -.045em; line-height: 1; }
.cf-schedule-latest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.35rem); }
.cf-schedule-latest-card { overflow: hidden; border: 1px solid rgba(251,201,38,.38); border-radius: 20px; background: linear-gradient(145deg, rgba(1,13,131,.86), rgba(1,7,44,.9)); box-shadow: 0 26px 80px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.06); backdrop-filter: blur(12px); transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.cf-schedule-latest-card:hover { border-color: var(--cf-yellow); transform: translateY(-5px); box-shadow: 0 34px 95px rgba(0,0,0,.35), 0 0 34px rgba(251,201,38,.12); }
.cf-schedule-latest-media { position: relative; display: block; aspect-ratio: 16 / 8.4; overflow: hidden; background: var(--cf-navy); }
.cf-schedule-latest-media::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(1,7,44,.48), transparent 60%); content: ""; pointer-events: none; }
.cf-schedule-latest-media img { width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.cf-schedule-latest-card:hover .cf-schedule-latest-media img { transform: scale(1.055); }
.cf-schedule-latest-body { display: grid; gap: .55rem; padding: 1rem; }
.cf-schedule-latest-body p { margin: 0; color: var(--cf-yellow); font-size: .64rem; font-weight: 900; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
.cf-schedule-latest-body h2 { display: -webkit-box; min-height: 2.35em; margin: 0; overflow: hidden; color: #fff; font-size: clamp(1.1rem, 1.35vw, 1.35rem); font-weight: 900; letter-spacing: -.035em; line-height: 1.16; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cf-schedule-latest-body > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .2rem; }
.cf-schedule-latest-body a { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 38px; border: 1px solid rgba(255,255,255,.22); color: #fff; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cf-schedule-latest-body a:first-child { background: #fff; color: var(--cf-navy); }
.cf-schedule-latest-body a:hover { border-color: var(--cf-yellow); background: var(--cf-yellow); color: var(--cf-navy); }
.cf-schedule-latest .cf-schedule-date { width: 50px; height: 50px; }
.cf-schedule-latest .cf-schedule-date strong { font-size: 1.34rem; }
.cf-schedule-latest-controls { display: none; justify-content: center; gap: .75rem; }
.cf-schedule-latest-controls button { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(251,201,38,.72); border-radius: 50%; background: rgba(1,13,131,.78); box-shadow: 0 14px 32px rgba(0,0,0,.24), 0 0 0 6px rgba(1,13,131,.18); color: #fff; backdrop-filter: blur(8px); transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease, color .25s ease, opacity .25s ease; }
.cf-schedule-latest-controls button:hover, .cf-schedule-latest-controls button:focus-visible { border-color: var(--cf-yellow); background: var(--cf-yellow); box-shadow: 0 18px 42px rgba(0,0,0,.3), 0 0 0 8px rgba(251,201,38,.16); color: var(--cf-navy); }
.cf-schedule-latest-controls button:disabled { opacity: .38; pointer-events: none; }
.cf-schedule-latest-controls i { color: inherit; font-size: .85rem; }

.cf-schedule-page .cf-schedule {
	background: radial-gradient(circle at 5% 0%, rgba(62,96,255,.14), transparent 34%), #f7f9ff;
	color: var(--cf-ink);
}

.cf-schedule-page .cf-schedule::before {
	right: -2vw;
	top: 2rem;
	bottom: auto;
	color: rgba(1,13,131,.055);
	content: "SCHEDULE";
	font-size: clamp(6rem, 14vw, 16rem);
	line-height: 1;
}

.cf-schedule-page .cf-schedule-shell {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.cf-schedule-page .cf-schedule-heading {
	align-items: end;
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.cf-schedule-page .cf-schedule-heading .cf-kicker {
	color: var(--cf-blue);
}

.cf-schedule-page .cf-schedule-heading h2 {
	max-width: 760px;
	color: var(--cf-navy);
}

.cf-schedule-page .cf-schedule-heading-intro {
	max-width: 680px;
	color: var(--cf-muted);
}

.cf-schedule-page .cf-schedule-tabs {
	border: 1px solid rgba(1,13,131,.12);
	background: #fff;
	box-shadow: 0 18px 55px rgba(1,13,131,.08);
}

.cf-schedule-page .cf-schedule-tab {
	border-right-color: rgba(1,13,131,.1);
	color: var(--cf-navy);
}

.cf-schedule-page .cf-schedule-tab small {
	color: #7b8190;
}

.cf-schedule-page .cf-schedule-tab:hover,
.cf-schedule-page .cf-schedule-tab:focus-visible,
.cf-schedule-page .cf-schedule-tab.is-active {
	background: var(--cf-navy);
	color: #fff;
	box-shadow: inset 0 -4px 0 var(--cf-yellow);
}

.cf-schedule-page .cf-schedule-tab:hover small,
.cf-schedule-page .cf-schedule-tab:focus-visible small,
.cf-schedule-page .cf-schedule-tab.is-active small {
	color: rgba(255,255,255,.72);
}

.cf-schedule-page .cf-schedule-track {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.35rem;
	overflow: visible;
	scroll-snap-type: none;
}

.cf-schedule-page .cf-schedule-track .item {
	min-width: 0;
	height: 100%;
	scroll-snap-align: unset;
}

.cf-schedule-page .cf-schedule-arrow {
	display: none;
}

.cf-schedule-page .cf-schedule-card {
	min-height: 100%;
	border: 1px solid rgba(1,13,131,.1);
	background: #fff;
	box-shadow: 0 20px 65px rgba(1,13,131,.09);
}

.cf-schedule-page .cf-schedule-date {
	width: 52px;
	height: 52px;
}

.cf-schedule-page .cf-schedule-date strong {
	font-size: 1.38rem;
}

.cf-schedule-page .cf-schedule-genre {
	background: rgba(62,96,255,.1);
}

.cf-schedule-page .cf-availability-note-schedule {
	margin-top: 1.4rem;
	color: #6b7280;
}

@media (max-width: 991px) {
	.cf-schedule-page-hero {
		min-height: auto;
		padding: 0;
	}

	.cf-schedule-page-hero-grid,
	.cf-schedule-latest-grid,
	.cf-schedule-page .cf-schedule-track {
		grid-template-columns: 1fr;
	}

	.cf-schedule-page .cf-schedule-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.cf-schedule-page-actions {
		grid-template-columns: 1fr;
	}

	.cf-schedule-hero-offer {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.cf-schedule-page .cf-schedule-track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cf-schedule-latest-grid {
		display: flex;
		gap: 1rem;
		overflow: hidden;
		scroll-behavior: smooth;
		scroll-padding: 1px;
		scroll-snap-type: x mandatory;
		padding-bottom: .2rem;
		scrollbar-width: none;
	}

	.cf-schedule-latest-card {
		flex: 0 0 calc((100% - 1rem) / 2);
		scroll-snap-align: start;
	}

	.cf-schedule-latest-controls {
		display: flex;
	}

	.cf-schedule-latest-grid::-webkit-scrollbar {
		display: none;
	}
}

@media (max-width: 767px) {
	.cf-schedule-page-hero-grid {
		padding: 4.5rem 0 3.75rem;
	}

	.cf-schedule-page-copy h1 {
		font-size: clamp(2.9rem, 13vw, 4rem);
		line-height: .98;
	}

	.cf-schedule-page-actions,
	.cf-schedule-page .cf-schedule-track {
		grid-template-columns: 1fr;
	}

	.cf-schedule-latest-card {
		flex-basis: 100%;
	}
}
