/* Rows set display:grid, which would beat the hidden attribute */
.avc-agenda [hidden] { display: none; }

.avc-agenda__controls {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	border-bottom: var(--border-rule);
}

/* Day tabs with the four-color underline */
.avc-agenda__tabs {
	display: flex;
	flex: 1;
	min-width: 0;
	overflow-x: auto;
}
.avc-agenda .avc-agenda__tab {
	position: relative;
	padding: 20px 28px 22px;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--ltl-text-3);
	font: 600 16px var(--font-body);
	white-space: nowrap;
	cursor: pointer;
	transition: color var(--dur-underline) var(--ease-brand);
}
.avc-agenda .avc-agenda__tab:first-child { padding-left: 0; }
.avc-agenda .avc-agenda__tab::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--ltl-bar);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-underline) var(--ease-brand);
}
.avc-agenda .avc-agenda__tab:hover,
.avc-agenda .avc-agenda__tab:focus,
.avc-agenda .avc-agenda__tab[aria-selected="true"] { background: none; color: var(--ltl-ink); }
.avc-agenda .avc-agenda__tab:hover::after,
.avc-agenda .avc-agenda__tab[aria-selected="true"]::after { transform: scaleX(1); }

/* "My interests" chip */
.avc-agenda .avc-agenda__saved {
	margin-bottom: 14px;
	padding: 12px 20px;
	border: 1.5px solid var(--ltl-ink);
	border-radius: 0;
	background: transparent;
	color: var(--ltl-ink);
	font: 600 14px var(--font-body);
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--dur-underline) var(--ease-brand), color var(--dur-underline) var(--ease-brand);
}
.avc-agenda .avc-agenda__saved:hover,
.avc-agenda .avc-agenda__saved:focus { background: var(--ltl-paper); color: var(--ltl-ink); }
.avc-agenda .avc-agenda__saved[aria-pressed="true"] { background: var(--ltl-ink); color: var(--ltl-white); }

/* Days and sessions */
.avc-agenda__day { margin-top: 56px; }
.avc-agenda__day-head { display: flex; align-items: baseline; gap: 20px; margin-bottom: 20px; }
.avc-agenda.is-single .avc-agenda__day-head { display: none; }
.avc-agenda__day-name { margin: 0; }
.avc-agenda__day-date { font: 500 14px var(--font-body); color: var(--ltl-text-3); }

.avc-agenda__row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) auto auto;
	gap: 24px;
	align-items: center;
	padding: 28px 0;
}
.avc-agenda--no-save .avc-agenda__row { grid-template-columns: 150px minmax(0, 1fr) auto; }
.avc-agenda__time { font: 500 14px var(--font-body); }
.avc-agenda__time small { display: block; margin-top: 4px; font-size: 12px; color: var(--ltl-text-3); }
.avc-agenda__title { font: 600 clamp(20px, 1.2vw, 24px) / 1.25 var(--font-body); letter-spacing: -.01em; }
.avc-agenda__desc { max-width: 760px; margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--ltl-text-2); }
.avc-agenda__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.avc-agenda__duration { font-size: 13px; color: var(--ltl-text-3); }

.avc-agenda .avc-agenda__star {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1.5px solid var(--ltl-ink);
	border-radius: 0;
	background: transparent;
	color: var(--ltl-ink);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--dur-underline) var(--ease-brand);
}
.avc-agenda .avc-agenda__star:hover,
.avc-agenda .avc-agenda__star:focus { background: var(--ltl-paper); color: var(--ltl-ink); }
.avc-agenda .avc-agenda__star[aria-pressed="true"] { background: var(--ltl-teal); }

.avc-agenda__empty { margin: 56px 0 0; font: 400 clamp(17px, 1.05vw, 20px) / 1.6 var(--font-body); color: var(--ltl-text-3); }

@media (max-width: 1023px) {
	.avc-agenda__row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 16px; }
	.avc-agenda__time { grid-column: 1 / -1; }
	.avc-agenda__meta { grid-column: 1; flex-direction: row; align-items: center; }
	.avc-agenda .avc-agenda__star { grid-column: 2; grid-row: 2 / span 2; }
	.avc-agenda--no-save .avc-agenda__row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639px) {
	.avc-agenda__controls { flex-direction: column; align-items: stretch; gap: 0; }
	.avc-agenda .avc-agenda__tab { padding: 16px 16px 18px; }
	.avc-agenda .avc-agenda__saved { align-self: flex-start; margin: 16px 0; }
}
