/* VCXO Zoom Live Sessions – course page list. Inherits the theme's fonts. */
.vzl-sessions {
	margin: 0 0 32px;
	padding: 20px 24px;
	border: 1px solid rgba(15, 29, 51, 0.12);
	border-left: 3px solid var(--vzl-accent, #c8a24a);
	border-radius: 6px;
	background: #fff;
}
.vzl-sessions__title { margin: 0 0 12px; font-size: 1.15em; }
.vzl-sessions__list { list-style: none; margin: 0; padding: 0; }
.vzl-session {
	display: grid;
	grid-template-columns: 9.5rem 1fr auto;
	gap: 16px;
	align-items: center;
	padding: 14px 0;
	border-top: 1px solid rgba(15, 29, 51, 0.08);
}
.vzl-session:first-child { border-top: 0; }
.vzl-session__when { display: flex; flex-direction: column; line-height: 1.3; }
.vzl-session__day { font-weight: 600; }
.vzl-session__time { opacity: 0.75; font-size: 0.92em; }
.vzl-session__name { margin: 0; font-weight: 600; }
.vzl-session__course, .vzl-session__desc { margin: 2px 0 0; opacity: 0.75; font-size: 0.92em; }
.vzl-session__live {
	display: inline-block;
	margin-right: 8px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #c0392b;
	color: #fff;
	font-size: 0.75em;
	font-weight: 600;
	vertical-align: 2px;
}
.vzl-session__opens { opacity: 0.75; font-size: 0.92em; white-space: nowrap; }
.vzl-session .vzl-join-form { margin: 0; }
.vzl-session .vzl-btn {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 8px 20px;
	border: 0;
	border-radius: 4px;
	background: var(--vzl-accent, #c8a24a);
	color: #1a1405;
	font-weight: 600;
	cursor: pointer;
}
.vzl-session .vzl-btn:disabled { opacity: 0.6; cursor: progress; }
.vzl-session .vzl-btn:focus-visible { outline: 2px solid #0f1d33; outline-offset: 2px; }
.vzl-sessions__empty, .vzl-sessions__note { margin: 8px 0 0; opacity: 0.75; font-size: 0.92em; }
.vzl-alert { margin: 0 0 12px; padding: 10px 14px; border-radius: 4px; background: #eef2f8; }
.vzl-alert--error { background: #fdecea; color: #8a1f11; }

@media (max-width: 640px) {
	.vzl-sessions { padding: 16px; }
	.vzl-session { grid-template-columns: 1fr; gap: 8px; }
	.vzl-session .vzl-btn { width: 100%; justify-content: center; }
}
