
/* ==========================================================
   Event Speakers
   ========================================================== */
.cew-speakers{
	width:100%;
	padding:0;
}
.cew-speakers-header{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:32px;
	margin-bottom:36px;
}
.cew-speakers-heading-wrap{
	min-width:0;
}
.cew-speakers-eyebrow{
	margin-bottom:10px;
	color:#6b6b6b;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:13px;
	font-weight:400;
	line-height:1;
}
.cew-speakers-heading{
	margin:0;
	color:#050505;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:36px;
	font-weight:400;
	line-height:1.08;
}
.cew-speakers-view-all{
	flex:0 0 auto;
	color:#12072d;
	text-decoration:none;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:14px;
	line-height:1.2;
	transition:color .2s ease;
}
.cew-speakers-viewport{
	width:100%;
	overflow:hidden;
}
.cew-speakers-track{
	--cew-speakers-per-view:4;
	--cew-speaker-card-width:320px;
	--cew-speaker-gap:16px;
	width:100%;
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:calc(
		(100% - (var(--cew-speaker-gap) * (var(--cew-speakers-per-view) - 1)))
		/ var(--cew-speakers-per-view)
	);
	gap:var(--cew-speaker-gap);
	overflow-x:auto;
	overflow-y:hidden;
	scroll-behavior:smooth;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
}
.cew-speakers-track::-webkit-scrollbar{
	display:none;
}

.cew-speakers-track.is-manual-width{
	grid-auto-columns:var(--cew-speaker-card-width);
}
.cew-speaker-card{
	--cew-speaker-image-width:42%;
	position:relative;
	display:grid;
	grid-template-columns:var(--cew-speaker-image-width) minmax(0,1fr);
	min-height:154px;
	overflow:hidden;
	scroll-snap-align:start;
}
.cew-speaker-card.is-reverse{
	grid-template-columns:minmax(0,1fr) var(--cew-speaker-image-width);
}
.cew-speaker-card.is-reverse .cew-speaker-image{
	order:2;
}
.cew-speaker-card.is-reverse .cew-speaker-content{
	order:1;
}
.cew-speaker-card-link{
	position:absolute;
	inset:0;
	z-index:3;
}
.cew-speaker-image{
	min-width:0;
	min-height:100%;
	background:#eee;
}
.cew-speaker-image img{
	display:block;
	width:100%;
	height:100%;
	min-height:100%;
	object-fit:cover;
	object-position:center center;
}
.cew-speaker-content{
	position:relative;
	min-width:0;
	padding:16px;
	display:flex;
	flex-direction:column;
	background:#d9faea;
}
.cew-speaker-card:nth-child(even) .cew-speaker-content{
	background:#dedcf9;
}
.cew-speaker-name{
	position:relative;
	z-index:4;
	margin:0 0 10px;
	color:#111;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:18px;
	font-weight:500;
	line-height:1.15;
	text-transform:uppercase;
}
.cew-speaker-line{
	width:85%;
	height:3px;
	margin-bottom:16px;
	background:#12db8c;
}
.cew-speaker-card:nth-child(even) .cew-speaker-line{
	background:#6b25ec;
}
.cew-speaker-role{
	display:flex;
	flex-direction:column;
	gap:2px;
	color:#666;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:13px;
	line-height:1.25;
}
.cew-speaker-linkedin{
	position:absolute;
	z-index:5;
	right:12px;
	bottom:12px;
	width:30px;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(255,255,255,.36);
	color:#12db8c;
	text-decoration:none;
	font-family:Arial,sans-serif;
	font-size:16px;
	font-weight:700;
	transition:background-color .2s ease,color .2s ease;
}
.cew-speaker-linkedin svg{
	width:1em;
	height:1em;
	fill:currentColor;
}
.cew-speaker-linkedin.is-disabled{
	cursor:default;
	pointer-events:none;
}
.cew-speaker-card:nth-child(even) .cew-speaker-linkedin{
	color:#6b25ec;
}
.cew-speakers-nav{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:16px;
	margin-top:38px;
}
.cew-speakers-arrow{
	width:50px;
	height:50px;
	border:1px solid #005038;
	background:#fff;
	color:#005038;
	display:flex;
	align-items:center;
	justify-content:center;
	font:inherit;
	font-size:25px;
	line-height:1;
	cursor:pointer;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.cew-speakers-arrow:disabled{
	opacity:.35;
	cursor:default;
}

/* ==========================================================
   Speaker Profile
   ========================================================== */
.cew-speaker-profile{
	--cew-profile-image-width:36%;
	width:100%;
	padding:0;
	display:grid;
	grid-template-columns:var(--cew-profile-image-width) minmax(0,1fr);
	gap:48px;
	align-items:start;
}
.cew-speaker-profile-image{
	min-width:0;
}
.cew-speaker-profile-image img{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:4/5;
	object-fit:cover;
}
.cew-speaker-profile-content{
	min-width:0;
	padding:28px;
	background:#f6f4ff;
}
.cew-speaker-profile-name{
	margin:0;
	color:#111;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:48px;
	font-weight:500;
	line-height:1.05;
}
.cew-speaker-profile-accent{
	width:140px;
	height:4px;
	margin:18px 0 18px;
	background:#6a23ff;
}
.cew-speaker-profile-role{
	display:flex;
	flex-direction:column;
	gap:4px;
	color:#5f5f5f;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:18px;
	line-height:1.25;
}
.cew-speaker-profile-country{
	margin-top:10px;
	color:#777;
	font-size:14px;
}
.cew-speaker-profile-short-bio{
	margin-top:24px;
	color:#3d3d3d;
	font-size:17px;
	line-height:1.55;
	font-weight:500;
}
.cew-speaker-profile-tags{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:22px;
}
.cew-speaker-profile-tag{
	display:inline-flex;
	align-items:center;
	min-height:32px;
	padding:5px 10px;
	border:1px solid #6a23ff;
	background:#fff;
	color:#12072d;
	font-size:12px;
}
.cew-speaker-profile-bio{
	margin-top:26px;
	color:#3d3d3d;
	font-size:15px;
	line-height:1.55;
}
.cew-speaker-profile-bio > *:first-child{
	margin-top:0;
}
.cew-speaker-profile-bio > *:last-child{
	margin-bottom:0;
}
.cew-speaker-profile-links{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	margin-top:28px;
}
.cew-speaker-profile-links a{
	color:#12072d;
	text-decoration:none;
}
.cew-speaker-profile-events{
	display:grid;
	gap:8px;
	margin-top:28px;
	padding-top:20px;
	border-top:1px solid rgba(0,0,0,.12);
}
.cew-speaker-profile-events a{
	color:#12072d;
	text-decoration:none;
}

/* ==========================================================
   Existing Event Agenda
   ========================================================== */
.cew-empty-state{
	padding:20px;
	border:1px dashed #aaa;
}
.cew-agenda-days{
	display:flex;
	gap:10px;
	margin-bottom:20px;
}
.cew-day-tab{
	border:0;
	padding:9px 18px;
}
.cew-day-tab.is-active{
	background:#15092f;
	color:#fff;
}
.cew-agenda-day-panel{
	display:none;
}
.cew-agenda-day-panel.is-active{
	display:block;
}
.cew-session{
	display:grid;
	grid-template-columns:230px 1fr;
	border-top:1px solid #ddd;
	padding:16px 0;
}
.cew-session-time{
	padding-right:20px;
}
.cew-session-main h3{
	margin:0;
}

@media(max-width:900px){
	.cew-speakers-track{
		--cew-speakers-per-view:2;
	}
	.cew-speakers-heading{
		font-size:30px;
	}
	.cew-speaker-profile{
		--cew-profile-image-width:40%;
		gap:32px;
	}
	.cew-speaker-profile-name{
		font-size:40px;
	}
	.cew-session{
		grid-template-columns:1fr;
	}
}
@media(max-width:600px){
	.cew-speakers-header{
		align-items:flex-start;
		flex-direction:column;
		gap:14px;
		margin-bottom:24px;
	}
	.cew-speakers-heading{
		font-size:25px;
		line-height:1.1;
	}
	.cew-speakers-view-all{
		font-size:13px;
	}
	.cew-speakers-track{
		--cew-speakers-per-view:1;
		--cew-speaker-card-width:100%;
		--cew-speaker-gap:12px;
	}
	.cew-speaker-card{
		min-height:150px;
	}
	.cew-speaker-content{
		padding:14px;
	}
	.cew-speaker-name{
		font-size:16px;
	}
	.cew-speaker-role{
		font-size:12px;
	}
	.cew-speakers-nav{
		margin-top:24px;
	}

	.cew-speaker-profile{
		grid-template-columns:1fr;
		gap:24px;
	}
	.cew-speaker-profile-image img{
		aspect-ratio:1/1.1;
	}
	.cew-speaker-profile-content{
		padding:20px;
	}
	.cew-speaker-profile-name{
		font-size:34px;
	}
	.cew-speaker-profile-role{
		font-size:16px;
	}
	.cew-speaker-profile-short-bio{
		font-size:15px;
	}
}


.cew-speakers-view-all-row{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	width:100%;
	margin:0 0 18px;
}
.cew-speakers-view-all{
	display:inline-flex;
	align-items:center;
	gap:6px;
	text-decoration:none;
}


/* v3.32: Event Speakers cards always use image-left / content-right layout. */
.cew-speaker-card,
.cew-speaker-card.is-reverse{
	flex-direction:row !important;
}
.cew-speaker-card .cew-speaker-image{
	order:1 !important;
}
.cew-speaker-card .cew-speaker-content{
	order:2 !important;
}
@media(max-width:767px){
	.cew-speaker-card,
	.cew-speaker-card.is-reverse{
		flex-direction:row !important;
	}
}

/* ==========================================================
   Event Agenda
   ========================================================== */
.cew-agenda{
	--cew-agenda-time-width:264px;
	position:relative;
	width:100%;
	padding:0;
	color:#242424;
	font-family:"PP Neue Montreal",Arial,sans-serif;
}
.cew-agenda-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	padding:0 0 36px;
	border-bottom:1px solid #dedede;
	flex-wrap:wrap;
}
.cew-agenda-head-left{
	display:flex;
	flex-direction:column;
	gap:20px;
	min-width:0;
	flex:1 1 360px;
}
.cew-agenda-title{
	margin:0;
	font-size:14px;
	line-height:1;
	font-weight:400;
	color:#444;
	text-transform:uppercase;
}
.cew-agenda-days,
.cew-agenda-toolbar,
.cew-agenda-filter-chips,
.cew-agenda-badges{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}
.cew-day-tab,
.cew-agenda-toolbar-btn,
.cew-agenda-filter-chip,
.cew-agenda-clear,
.cew-agenda-save,
.cew-agenda-toggle{
	border:0;
	box-shadow:none;
	cursor:pointer;
	font-family:inherit;
}
.cew-day-tab{
	min-width:66px;
	padding:10px 16px;
	background:#dedede;
	color:#4b4b4b;
	font-size:14px;
	line-height:1;
}
.cew-day-tab.is-active{
	background:#13032f;
	color:#fff;
}
.cew-agenda-toolbar{
	justify-content:flex-end;
	flex:0 0 auto;
}
.cew-agenda-toolbar-btn{
	display:inline-flex;
	align-items:center;
	gap:7px;
	min-height:34px;
	padding:9px 14px;
	background:#efefef;
	color:#4b4b4b;
	font-size:13px;
	line-height:1;
}
.cew-agenda-toolbar-btn svg,
.cew-agenda-save svg,
.cew-agenda-toggle svg,
.cew-agenda-time svg{
	width:16px;
	height:16px;
	flex:0 0 auto;
}
.cew-agenda-toolbar-btn.is-active{
	background:#13032f;
	color:#fff;
}
.cew-agenda-count{
	padding:22px 0;
	border-bottom:1px solid #dedede;
	font-size:14px;
	line-height:1.3;
	color:#555;
}
.cew-agenda-day-panel{display:none;}
.cew-agenda-day-panel.is-active{display:block;}
.cew-agenda-session{
	display:grid;
	grid-template-columns:var(--cew-agenda-time-width) minmax(0,1fr);
	border-bottom:1px solid #d9d9d9;
	background:#fff;
}
.cew-agenda-session.is-open{
	background:#f5f0ff;
}
.cew-agenda-time-cell{
	padding:20px 22px 20px 64px;
	border-right:1px solid #d9d9d9;
}
.cew-agenda-time{
	dis:flex;
	display:flex;
	align-items:center;
	gap:9px;
	font-size:16px;
	line-height:1.2;
	color:#5a5a5a;
	white-space:nowrap;
}
.cew-agenda-slot-body{
	min-width:0;
}
.cew-agenda-collapsed-row{
	display:grid;
	grid-template-columns:minmax(0,1fr) 44px 44px;
	align-items:center;
	gap:16px;
	min-height:64px;
	padding:14px 34px 14px 78px;
}
.cew-agenda-session.is-open .cew-agenda-collapsed-row{
	display:none;
}
.cew-agenda-summary-title,
.cew-agenda-item-title{
	margin:0;
	color:#282828;
	font-size:20px;
	line-height:1.2;
	font-weight:400;
}
.cew-agenda-open-items{
	display:block;
}
.cew-agenda-open-items[hidden],
.cew-agenda-session:not(.is-open) .cew-agenda-open-items{
	display:none !important;
}
.cew-agenda-open-item{
	display:grid;
	grid-template-columns:minmax(0,1fr) 44px 248px 44px;
	align-items:start;
	gap:16px;
	padding:16px 34px 18px 78px;
}
.cew-agenda-open-item + .cew-agenda-open-item{
	padding-top:28px;
}
.cew-agenda-item-main{
	min-width:0;
	padding-top:1px;
}
.cew-agenda-item-title{
	font-size:20px;
	font-weight:500;
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:2px;
}
.cew-agenda-badges{
	margin-top:16px;
	gap:8px;
}
.cew-agenda-badge,
.cew-agenda-filter-chip{
	display:inline-flex;
	align-items:center;
	padding:7px 10px;
	background:#e7d8ff;
	color:#6537d6;
	font-size:12px;
	line-height:1;
}
.cew-agenda-badge:first-child{
	background:#ececec;
	color:#161616;
}
.cew-agenda-filter-chip.is-active{
	background:#6537d6;
	color:#fff;
}
.cew-agenda-item-body{
	margin-top:16px;
	font-size:14px;
	line-height:1.5;
	color:#6b6b6b;
}
.cew-agenda-item-body p:first-child{margin-top:0;}
.cew-agenda-item-body p:last-child{margin-bottom:0;}
.cew-agenda-save,
.cew-agenda-toggle{
	width:32px;
	height:32px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
}
.cew-agenda-save{
	background:#eadfff;
	color:#3a265b;
}
.cew-agenda-save.is-saved{
	background:#d7c2ff;
	color:#2e155b;
}
.cew-agenda-save.is-saved svg path{
	fill:currentColor;
	stroke:currentColor;
}
.cew-agenda-toggle{
	background:#13032f;
	color:#fff;
}
.cew-agenda-session.is-open .cew-agenda-toggle svg{
	transform:rotate(180deg);
}
.cew-agenda-toggle-spacer{
	display:block;
	width:32px;
	height:32px;
}
.cew-agenda-speakers{
	--cew-agenda-speaker-card-width:128px;
	--cew-agenda-speaker-width:100%;
	display:grid;
	grid-template-columns:repeat(2,var(--cew-agenda-speaker-card-width));
	gap:10px;
	align-content:start;
	justify-content:start;
}
.cew-agenda-speaker{
	width:var(--cew-agenda-speaker-card-width);
	min-width:0;
	dis:flex;
	display:flex;
	flex-direction:column;
	gap:6px;
	text-decoration:none;
	color:inherit;
	overflow:visible;
}
.cew-agenda-speaker-image{
	display:block;
	width:var(--cew-agenda-speaker-width);
	max-width:100%;
	overflow:hidden;
}
.cew-agenda-speaker-image img{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:1/1;
	object-fit:cover;
}
.cew-agenda-speaker-content{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:3px;
	width:100%;
	min-width:0;
}
.cew-agenda-speaker-line{
	display:flex;
	align-items:center;
	gap:4px;
	width:100%;
	min-width:0;
}
.cew-agenda-speaker-name{
	min-width:0;
	margin:0;
	padding:0;
	font-size:12px;
	line-height:1.12;
	font-weight:400;
	color:#222;
	text-decoration:none;
	white-space:normal;
	overflow:visible;
	text-overflow:clip;
	word-break:normal;
	overflow-wrap:anywhere;
}
a.cew-agenda-speaker-name:hover{
	text-decoration:none;
}
.cew-agenda-speaker-li{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:auto;
	height:auto;
	margin:0;
	padding:0;
	background:transparent;
	color:#2b0d67;
	line-height:1;
	flex:0 0 auto;
	text-decoration:none;
}
.cew-agenda-speaker-li svg{
	display:block;
	width:13px;
	height:13px;
	fill:currentColor;
}
.cew-agenda-speaker-li i{
	font-size:13px;
	line-height:1;
}
.cew-agenda-speaker-li.is-disabled{
	cursor:default;
	pointer-events:none;
}
.cew-agenda-speaker-li:hover{
	text-decoration:none;
}
.cew-agenda-speaker-meta{
	display:block;
	width:100%;
	margin:0;
	padding:0;
	font-size:11px;
	line-height:1.18;
	color:#777;
	white-space:normal;
	overflow-wrap:anywhere;
}
.cew-agenda-filter-panel{
	position:absolute;
	top:122px;
	right:0;
	z-index:30;
	width:min(100%,430px);
	padding:18px;
	background:#fff;
	border:1px solid #dfdfdf;
	box-shadow:0 12px 32px rgba(0,0,0,.08);
}
.cew-agenda-filter-group + .cew-agenda-filter-group{margin-top:18px;}
.cew-agenda-filter-label{
	margin-bottom:10px;
	font-size:11px;
	line-height:1;
	color:#707070;
	text-transform:uppercase;
}
.cew-agenda-filter-actions{
	margin-top:18px;
	display:flex;
	justify-content:flex-end;
}
.cew-agenda-clear{
	padding:10px 18px;
	background:#13032f;
	color:#fff;
	font-size:13px;
	line-height:1;
}
.cew-empty-state{
	padding:24px 0;
	font-size:15px;
	color:#6b6b6b;
}

@media (max-width:1024px){
	.cew-agenda{--cew-agenda-time-width:210px;}
	.cew-agenda-time-cell{padding-left:28px;padding-right:18px;}
	.cew-agenda-collapsed-row,
	.cew-agenda-open-item{padding-left:34px;padding-right:22px;}
	.cew-agenda-open-item{grid-template-columns:minmax(0,1fr) 40px 220px 40px;}
	
}

@media (max-width:767px){
	.cew-agenda{
		--cew-agenda-time-width:100%;
	}
	.cew-agenda-head{
		align-items:flex-start;
		padding:0 16px 22px;
	}
	.cew-agenda-head-left{gap:16px;}
	.cew-agenda-title{font-size:14px;}
	.cew-agenda-toolbar{
		width:100%;
		justify-content:flex-end;
		margin-top:-50px;
	}
	.cew-agenda-toolbar-btn span{
		display:none;
	}
	.cew-agenda-toolbar-btn{
		width:32px;
		height:32px;
		min-height:32px;
		padding:0;
		justify-content:center;
	}
	.cew-agenda-count{
		padding:20px 16px;
	}
	.cew-agenda-session{
		display:block;
	}
	.cew-agenda-time-cell{
		padding:16px 16px 7px;
		border-right:0;
	}
	.cew-agenda-time{
		font-size:14px;
	}
	.cew-agenda-collapsed-row{
		grid-template-columns:minmax(0,1fr) 32px 32px;
		gap:8px;
		min-height:auto;
		padding:8px 16px 18px;
	}
	.cew-agenda-summary-title,
	.cew-agenda-item-title{
		font-size:18px;
		line-height:1.05;
	}
	.cew-agenda-open-item{
		grid-template-columns:minmax(0,1fr) 32px 32px;
		gap:8px;
		padding:8px 16px 20px;
	}
	.cew-agenda-open-item + .cew-agenda-open-item{
		padding-top:6px;
	}
	.cew-agenda-open-item .cew-agenda-item-main{
		grid-column:1/2;
	}
	.cew-agenda-open-item .cew-agenda-save-open{
		grid-column:2/3;
		grid-row:1;
	}
	.cew-agenda-open-item .cew-agenda-toggle-open,
	.cew-agenda-open-item .cew-agenda-toggle-spacer{
		grid-column:3/4;
		grid-row:1;
	}
	.cew-agenda-speakers{
		grid-column:1/-1;
		grid-row:2;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:10px;
		margin-top:8px;
		--cew-agenda-speaker-width:115px;
	}
	.cew-agenda-badges{
		margin-top:12px;
		gap:6px;
	}
	.cew-agenda-badge{
		font-size:12px;
		padding:7px 9px;
	}
	.cew-agenda-speaker-name{
		font-size:13px;
	}
	.cew-agenda-speaker-meta{
		font-size:11px;
	}
	.cew-agenda-filter-panel{
		position:relative;
		top:auto;
		right:auto;
		width:calc(100% - 32px);
		margin:10px 16px 0;
	}
}
