/* SIIM-style Posts feed. Scope overrides so existing table agendas stay unchanged. */
.agenda-sessions.yoko-events-schedule {
	border-bottom: 0;
}
.agenda-sessions .agenda-date-heading {
	margin: 0 0 40px;
	scroll-margin-top: var(--yoko-scroll-offset, 100px);
}
.agenda-sessions .agenda-date-heading:not(:first-child) {
	margin-top: 80px;
}
.agenda-sessions .fl-post-feed-post {
	border: 1px solid var(--border-color, #dbdbdc);
	border-bottom: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.agenda-sessions .agenda-date-heading + .fl-post-feed-post {
	border-radius: 16px 16px 0 0;
}
.agenda-sessions .fl-post-feed-post.last-session {
	border-bottom: 1px solid var(--border-color, #dbdbdc);
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
}
.agenda-sessions .agenda-session-item {
	background: #fff;
}
.agenda-sessions .fl-post-feed-post:nth-of-type(even) .agenda-session-item {
	background: #ebeff0;
}
.agenda-sessions .fl-post-feed-post:hover .feed-item-right {
	background: #e1e8ea;
}
.agenda-sessions .fri-flex-row {
	display: flex;
	align-items: stretch;
	gap: 0;
}
.agenda-sessions .feed-item-left {
	flex: 1;
	min-width: 0;
	border-right: 1px solid var(--border-color, #dbdbdc);
	padding: 24px;
}
.agenda-sessions .feed-item-right {
	flex: 2;
	min-width: 0;
	padding: 24px 16px 24px 24px;
}
.agenda-sessions .agenda-date-heading + .fl-post-feed-post .feed-item-left:before,
.agenda-sessions .agenda-date-heading + .fl-post-feed-post .feed-item-right:before {
	display: block;
	background: #fff;
	border-bottom: 1px solid var(--border-color, #dbdbdc);
	margin: -24px -24px 24px;
	padding: 24px;
}
.agenda-sessions .agenda-date-heading + .fl-post-feed-post .feed-item-left:before {
	content: "Time";
}
.agenda-sessions .agenda-date-heading + .fl-post-feed-post .feed-item-right:before {
	content: "Sessions";
	margin-right: -16px;
}
.agenda-sessions .session-time,
.agenda-sessions .session-meta {
	color: #565656;
}
.agenda-sessions .session-meta {
	font-size: 14px;
}
.agenda-sessions .session-content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}
.agenda-sessions .session-content-left {
	min-width: 0;
	overflow-wrap: anywhere;
}
.fl-page #fl-main-content .agenda-sessions .session-title h2,
.fl-page #fl-main-content .agenda-sessions .session-title h2 a {
	font-family: inherit;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	text-transform: none;
	text-decoration: none;
	margin: 0;
	color: var(--heading-color, #222);
}
.fl-page #fl-main-content .agenda-sessions .session-title h2 a:hover {
	color: var(--primary-color, #174f5a);
}
.agenda-sessions .session-excerpt {
	padding-top: 16px;
}
.agenda-sessions .session-excerpt p:last-child {
	margin-bottom: 0;
}
.agenda-sessions .session-content-right {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	flex-wrap: wrap;
	justify-content: flex-end;
	max-width: 45%;
	gap: 8px;
}
.agenda-sessions .yoko-events-session-favorite-icon {
	margin: 0;
}
.agenda-sessions .yoko-events-session-favorite-icon .dashicons,
.agenda-sessions .fav-session-button {
	display: block;
	height: 20px;
	width: 20px;
	font-size: 20px;
}
.fl-page .agenda-accordion-toggle,
.fl-page .agenda-accordion-toggle:hover {
	border: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
	color: #565656;
	cursor: pointer;
}
.agenda-sessions .agenda-accordion-toggle {
	position: relative;
	flex-shrink: 0;
	display: block;
	width: 20px;
	height: 20px;
	transition: transform 400ms;
}
.agenda-sessions .agenda-accordion-toggle:before {
	content: "+";
	position: absolute;
	inset: 0;
	font-size: 28px;
	line-height: 20px;
	text-align: center;
	font-weight: 300;
}
.agenda-sessions .js-expanded .agenda-accordion-toggle {
	transform: rotate(45deg);
}
.agenda-accordion-toggle:focus-visible,
.agenda-sessions .fav-session-button:focus-visible {
	outline: 2px solid var(--primary-color, #174f5a);
	outline-offset: 4px;
}
.agenda-sessions .session-add-cost,
.agenda-sessions .session-add-cost .heroicon {
	width: 24px;
	height: 24px;
	color: var(--primary-color, #174f5a);
}
.agenda-sessions .session-content-right .agenda-session-icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 24px;
	object-fit: contain;
	color: var(--primary-color, #174f5a);
}
.fl-page #fl-main-content .agenda-sessions .fav-session-button,
.fl-page #fl-main-content .agenda-sessions .fav-session-button:hover {
	border: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
	color: #565656;
	cursor: pointer;
}
.agenda-sessions .dashicons-star-dynamic:before {
	content: "\f154";
}
.agenda-sessions .yoko-events-favorite-session .dashicons-star-dynamic:before {
	content: "\f155";
}
.fl-page #fl-main-content .agenda-sessions .yoko-events-favorite-session .fav-session-button {
	color: #b86b00;
}

/* Search and filters are an unframed band, not a set of nested cards. */
.agenda-filters > .fl-row-content-wrap {
	background: #f4f7f8;
	border-top: 1px solid #dce3e5;
	border-bottom: 1px solid #dce3e5;
}
.agenda-filters .fl-row-content {
	padding-top: 24px;
	padding-bottom: 12px;
}
.fl-page #fl-main-content .agenda-filters .fl-module-heading .fl-heading {
	font-size: 16px;
	line-height: 1.4;
}
.agenda-filters .facetwp-facet {
	font-size: 16px;
	margin-bottom: 16px;
}
.agenda-filters .facetwp-facet .fs-wrap {
	display: block;
	width: 100%;
	min-width: 0;
}
.agenda-filters .facetwp-facet .fs-label-wrap {
	width: 100%;
	border: 1px solid #b8c7cb;
	border-radius: 6px;
	background: #fff;
	color: #26383d;
	cursor: pointer;
}
.agenda-filters .fs-label-wrap .fs-label {
	padding: 12px 32px 12px 12px;
	min-height: 44px;
	line-height: 20px;
}
.agenda-filters .facetwp-facet .fs-dropdown {
	width: 100%;
	max-width: calc(100vw - 32px);
	border: 1px solid #b8c7cb;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	z-index: 100;
}
.agenda-filters .facetwp-facet .fs-search {
	display: block;
	padding: 8px;
}
.agenda-filters .fs-search input {
	width: 100%;
	min-width: 0;
	border: 1px solid #b8c7cb;
	border-radius: 4px;
	padding: 8px;
}
.agenda-filters .fs-options {
	max-height: 260px;
	overflow-y: auto;
}
.agenda-filters .fs-option {
	padding: 10px 12px;
}
.agenda-filters .facetwp-facet .fs-dropdown .fs-options .fs-option .fs-option-label {
	white-space: normal;
	overflow-wrap: anywhere;
	overflow: visible;
}
.agenda-filters .fs-option:hover,
.agenda-filters .fs-option.selected {
	background: #ebeff0;
}
.agenda-filters .facetwp-input-wrap {
	display: block;
	width: 100%;
}
.agenda-filters .facetwp-facet.facetwp-type-search input.facetwp-search {
	width: 100%;
	min-width: 0;
	min-height: 44px;
	border: 1px solid #b8c7cb;
	border-radius: 6px;
	padding: 12px 36px 12px 12px;
	background: #fff;
	font-size: 16px;
	font-weight: 400;
}
.agenda-filters .fs-label-wrap:focus-within,
.agenda-filters input:focus-visible {
	outline: 2px solid var(--primary-color, #174f5a);
	outline-offset: 2px;
}

/* Both native and fallback favorites forms use the existing Events mail API. */
div.favorite-sessions-container {
	position: fixed;
	bottom: calc(20px + var(--agenda-consent-offset, 0px)) !important;
	right: 24px;
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 16px;
	width: min(740px, calc(100% - 48px));
	height: auto;
	padding: 16px;
	border-radius: 8px;
	background: var(--primary-color, #174f5a);
	color: #fff;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
	z-index: 222;
}
.favorite-sessions-container .email-form {
	display: block;
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0;
	box-shadow: none;
	flex: 1;
	min-width: 0;
	width: auto;
	height: auto;
	transform: none;
	position: static;
}
.favorite-sessions-container #fav-session-email-form,
.favorite-sessions-container #fav-sessions-form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	align-items: center;
}
.favorite-sessions-container label,
.favorite-sessions-container .fav-session-intro-text {
	flex-basis: 100%;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
	color: #fff;
}
.favorite-sessions-container input[type="email"] {
	flex: 1 1 150px;
	min-width: 0;
	width: auto;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #fff;
	border-radius: 4px;
	background: #fff;
	color: #222;
	font-size: 16px;
}
.fl-page #fl-main-content .favorite-sessions-container button,
.fl-page #fl-main-content .favorite-sessions-container input[type="submit"] {
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #fff;
	border-radius: 4px;
	background: transparent;
	color: #fff;
	font-size: 16px;
	line-height: 22px;
	cursor: pointer;
}
.favorite-sessions-container [type="submit"]:disabled {
	opacity: 0.55;
	cursor: default;
}
.favorite-sessions-container .agenda-favorites-collapse {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
.favorite-sessions-container .dashicons {
	color: inherit;
}
.favorite-sessions-container .fav-session-email-result {
	display: block;
	font-size: 14px;
	line-height: 1.4;
	margin: 8px 0 0;
	color: #fff;
}
.favorite-sessions-container .fav-session-email-result:empty,
.favorite-sessions-container .show-email-form-wrapper,
.favorite-sessions-container .fav-session-email-wait-spinner,
.favorite-sessions-container.is-collapsed .email-form {
	display: none;
}
div.favorite-sessions-container.is-collapsed {
	width: auto;
}
.favorite-sessions-container.is-collapsed .dashicons-arrow-down-alt2 {
	transform: rotate(180deg);
}
.favorite-sessions-container button:focus-visible,
.favorite-sessions-container input:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}
@media only screen and (max-width: 600px) {
	div.favorite-sessions-container {
		right: 12px;
		bottom: calc(12px + var(--agenda-consent-offset, 0px)) !important;
		width: calc(100% - 24px);
		gap: 10px;
		padding: 12px;
	}
	.favorite-sessions-container input[type="email"],
	.favorite-sessions-container [type="submit"] {
		flex-basis: 100%;
		width: 100%;
	}
}

.agenda-day-button .fl-col-content:hover {
	background: var(--primary-color, #174f5a);
}
.agenda-day-button .fl-col-content:hover a {
	color: #fff;
}
@media only screen and (max-width: 767px) {
	.agenda-sessions .fri-flex-row {
		flex-direction: column;
	}
	.agenda-sessions .feed-item-left,
	.agenda-sessions .feed-item-right {
		flex: auto;
		width: 100%;
	}
	.agenda-sessions .feed-item-left {
		border-right: 0;
		border-bottom: 1px solid var(--border-color, #dbdbdc);
	}
	.agenda-sessions .agenda-date-heading + .fl-post-feed-post .feed-item-left:before,
	.agenda-sessions .agenda-date-heading + .fl-post-feed-post .feed-item-right:before {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.agenda-sessions .agenda-accordion-toggle {
		transition: none;
	}
}

