/* =============================================================================
   Block: Featured Presentations Cards (acf/kf-featured-presentations-cards)
   ========================================================================== */

.kf-featured-presentations-cards {
	--kf-fpc-deep: #2d2f8f;
	--kf-fpc-obsidian: #1a1825;

	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
	box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
   Cards container
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__card {
	display: flex;
	flex-direction: row;
	gap: 40px;
	padding: 40px 50px;
	border-radius: 20px;
	align-items: flex-start;

	/* Glassmorphism: translucent white fill, obsidian border, soft shadow */
	background: rgba(255, 255, 255, 0.10);
	/* border: 1px solid rgba(26, 24, 37, 0.30); */
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.10), inset -10px -11px 27px 0px #ffffff22;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);

	box-sizing: border-box;

	background-image: url('/wp-content/themes/keyfactor/assets/img/ellipse22.svg');
	background-repeat: no-repeat;
	background-position: 120% center;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__card.kf-glass-box::before {
	opacity: 0.5;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__card:nth-child(odd) {
	background-position: 170% 60%;
}

/* ---------------------------------------------------------------------------
   Layout: inner wrapper, left column, right column
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__inner {
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 40px;
	align-items: flex-start;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__right-col {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	width: max-content;
	flex-basis: 450px;
}

/* ---------------------------------------------------------------------------
   Badge
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__badge {
	display: inline-flex;
	width: fit-content;
	padding: 5px 10px;
	border-radius: 30px;
	background: var(--wp--preset--color--indigo);
	color: var(--wp--preset--color--white);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 20px;
	text-transform: uppercase;
	white-space: nowrap;
	box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
   Title + description group
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__text-group {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 15px;
	width: 100%;
	box-sizing: border-box;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__title {
	font-size: var(--wp--preset--font-size--x-32);
	font-weight: 500;
	color: var(--kf-fpc-obsidian);
	line-height: 0.9;
	letter-spacing: -0.02em;
	margin: 0;
	word-break: break-word;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__description {
	font-size: var(--wp--preset--font-size--x-18);
	font-weight: 400;
	color: var(--kf-fpc-obsidian);
	line-height: 1.5;
	margin: 0;
	word-break: break-word;
}

/* ---------------------------------------------------------------------------
   Divider
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__divider {
	width: 100%;
	height: 1px;
	margin-top: 20px;
	background: linear-gradient(
		to right,
		color-mix(in srgb, var(--kf-fpc-obsidian) 25%, transparent) 0%,
		transparent 100%
	);
	box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
   Meta list
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__meta {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 20px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;

	font-size: var(--wp--preset--font-size--x-20);
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-row {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--kf-fpc-obsidian);
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	color: var(--wp--preset--color--indigo);
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-value {
	font-size: var(--wp--preset--font-size--default);
	font-weight: 500;
	color: var(--kf-fpc-obsidian);
	line-height: 1.2;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-value--time {
	/* time-specific: no additional styles needed beyond base value */
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-value--date {
	/* date-specific: no additional styles needed beyond base value */
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-value--location {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__location-text,
.kf-featured-presentations-cards .kf-featured-presentations-cards__booth-text {
	white-space: nowrap;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__location-divider {
	width: 1px;
	height: 1.2em;
	background: linear-gradient(
		to bottom,
		transparent,
		var(--kf-fpc-obsidian),
		transparent
	);
}

/* ---------------------------------------------------------------------------
   Speakers panel
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__speakers-panel {
	background: var(--kf-fpc-deep);
	border-radius: 15px;
	padding: 20px 25px;
	display: flex;
	flex-direction: column;
	gap: 15px;

	/* Glass effect on panel */
	border: 1px solid rgba(255, 255, 255, 0.10);
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);

	/* All panel text is white */
	color: var(--wp--preset--color--white);
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speakers-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speakers-list--single {
	align-items: center;
	text-align: center;
}

/* --- Single speaker layout --- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker--single {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 15px;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-photo--single {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-info--centered {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 5px;
}

/* --- Multi-speaker row layout --- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker--row {
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-photo {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.kf-featured-presentations-cards__speaker--single .kf-featured-presentations-cards__speaker-photo {
	width: 160px;
	height: 160px;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-info {
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex: 1;
	min-width: 0;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-name {
	font-size: var(--wp--preset--font-size--x-24);
	font-weight: 500;
	color: var(--wp--preset--color--white);
	line-height: 1.2;
	word-break: break-word;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-role {
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--white);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.2;
	word-break: break-word;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-company {
	font-size: 12px;
	font-weight: 400;
	color: var(--wp--preset--color--white);
	line-height: 1.2;
	word-break: break-word;
}

/* Row separator: horizontal hairline (white 35% → transparent) */
.kf-featured-presentations-cards .kf-featured-presentations-cards__speakers-divider {
	width: 100%;
	height: 1px;
	background: linear-gradient(
		to right,
		color-mix(in srgb, var(--wp--preset--color--white) 35%, transparent) 0%,
		transparent 100%
	);
	margin: 15px 0;
}

/* ---------------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------------- */

.kf-featured-presentations-cards .kf-featured-presentations-cards__buttons {
	display: flex;
	flex-direction: row;
	gap: 15px;
	width: 100%;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 49px;
	padding: 18px 24px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	border: none;
	cursor: pointer;
	box-sizing: border-box;
}

.kf-featured-presentations-cards .kf-featured-presentations-cards__button:hover {
}

/* Learn More (primary): solid obsidian bg, white text */
.kf-featured-presentations-cards .kf-featured-presentations-cards__button--learn-more {
	background: var(--kf-fpc-obsidian);
	color: var(--wp--preset--color--white);
}

/* Add to Calendar (secondary): glass bg, obsidian stroke + text */
.kf-featured-presentations-cards .kf-featured-presentations-cards__button--calendar {
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid var(--kf-fpc-obsidian);
	color: var(--kf-fpc-obsidian);
}

/* Focus styles for keyboard accessibility */
.kf-featured-presentations-cards .kf-featured-presentations-cards__button:focus-visible {
	outline: 2px solid var(--wp--preset--color--indigo);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------------
   Editor preview adjustments
   ------------------------------------------------------------------------- */

.editor-styles-wrapper .kf-featured-presentations-cards .kf-featured-presentations-cards__card {
	max-width: 100%;
}

/* ---------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */

@media (max-width: 767px) {
	.kf-featured-presentations-cards .kf-featured-presentations-cards__card {
		flex-direction: column;
		padding: 30px;
		gap: 30px;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__inner {
		flex-direction: column;
		gap: 30px;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__right-col {
		width: 100%;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__speakers-panel {
		padding: 20px 25px;
	}

	/* Single speaker avatar shrinks on mobile */
	.kf-featured-presentations-cards .kf-featured-presentations-cards__speaker-photo--single {
		width: 120px;
		height: 120px;
	}

	/* Buttons stack vertically on small screens */
	.kf-featured-presentations-cards .kf-featured-presentations-cards__buttons {
		flex-direction: column;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__right-col {
		gap: 40px;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__right-col {
		flex-basis: auto;
	}
}

@media (max-width: 480px) {
	.kf-featured-presentations-cards .kf-featured-presentations-cards__card {
		padding: 20px;
		gap: 20px;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__inner {
		gap: 20px;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__title {
		font-size: var(--wp--preset--font-size--x-24);
	}

	/* Ensure no horizontal overflow on 375px screens */
	.kf-featured-presentations-cards {
		/* overflow-x: hidden; */
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-row {
		flex-wrap: wrap;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__meta-value {
		font-size: 16px;
	}

	.kf-featured-presentations-cards .kf-featured-presentations-cards__right-col {
		gap: 30px;
	}
}

/* ---------------------------------------------------------------------------
   Reduced motion
   ------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.kf-featured-presentations-cards .kf-featured-presentations-cards__button {
		transition: none;
	}
}
