/**
 * Exhibitions — the dedicated exhibition experience (§18, §19, §20).
 * Architectural/editorial visuals; never camouflage, never HUD.
 */

.msi-exphero {
	position: relative;
	padding-block: var(--msi-space-8) var(--msi-space-6);
	border-block-end: 1px solid var(--msi-border);
	overflow: hidden;
	background:
		linear-gradient(160deg, var(--msi-sunken) 0%, transparent 55%);
}
.msi-exphero::before {
	/* Logo-derived lattice — architectural, subtle (§11). */
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(var(--msi-border) 1px, transparent 1px),
		linear-gradient(90deg, var(--msi-border) 1px, transparent 1px);
	background-size: 56px 56px;
	opacity: 0.05;
	mask-image: linear-gradient(to bottom, black, transparent 85%);
	-webkit-mask-image: linear-gradient(to bottom, black, transparent 85%);
	pointer-events: none;
}
.msi-exphero__inner { position: relative; display: grid; gap: var(--msi-space-5); }
.msi-exphero__meta {
	display: flex;
	align-items: center;
	gap: var(--msi-space-4);
	flex-wrap: wrap;
	color: var(--msi-text-2);
	font-size: var(--msi-fs-meta);
}
.msi-exphero__meta strong {
	color: var(--msi-text);
	font-family: var(--msi-font-data);
	font-weight: 500;
}
.msi-exphero__title {
	font-size: clamp(2.4rem, 5vw, 3.8rem);
	margin: 0;
	letter-spacing: -0.02em;
}
.msi-exphero__actions { display: flex; gap: var(--msi-space-3); flex-wrap: wrap; }
.msi-exphero__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: var(--msi-space-7);
	align-items: center;
}
@media (max-width: 960px) { .msi-exphero__layout { grid-template-columns: 1fr; } }
/* Countdown (§19) */
.msi-countdown {
	display: inline-flex;
	gap: 10px;
}
.msi-countdown__unit {
	display: grid;
	gap: 2px;
	justify-items: center;
	background: var(--msi-surface);
	border: 1px solid var(--msi-border);
	border-radius: var(--msi-radius);
	padding: 10px 14px;
	min-width: 68px;
}
.msi-countdown__unit span {
	font-family: var(--msi-font-data);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--msi-gold);
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}
.msi-countdown__unit small {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ms-color-text-quaternary);
}
/* Exhibition section navigation — sticky under header */
.msi-exptabs {
	position: sticky;
	inset-block-start: var(--msi-header-h);
	z-index: 40;
	background: color-mix(in srgb, var(--msi-bg) 92%, transparent);
	backdrop-filter: blur(10px);
	border-block-end: 1px solid var(--msi-border);
}
body.msi-admin-bar .msi-exptabs { inset-block-start: calc(var(--msi-header-h) + 32px); }
.msi-exptabs .msi-subnav__list { margin: 0 auto; width: min(var(--msi-container), 100% - 2 * var(--msi-space-5)); }
/* Stats strip (§18: exhibitors, visitors, countries...) *//* Floorplan (§20) */
.msi-floorplan {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: var(--msi-space-5);
	align-items: start;
}
@media (max-width: 960px) { .msi-floorplan { grid-template-columns: 1fr; } }

.msi-floorplan__stage {
	background: var(--msi-sunken);
	border: 1px solid var(--msi-border);
	border-radius: var(--msi-radius-lg);
	padding: var(--msi-space-4);
	position: relative;
	min-height: 420px;
	display: grid;
	place-items: center;
	overflow: hidden;
}
.msi-floorplan__svg { width: 100%; height: auto; max-height: 560px; }

.msi-floorplan__hall { fill: var(--msi-surface-2); stroke: var(--msi-border-strong); stroke-width: 1; rx: 6; }
.msi-floorplan__booth {
	fill: var(--msi-surface);
	stroke: var(--msi-border-strong);
	stroke-width: 1;
	cursor: pointer;
	transition: fill var(--msi-dur-fast) var(--msi-ease), stroke var(--msi-dur-fast) var(--msi-ease);
}
.msi-floorplan__booth:hover { fill: var(--msi-green-soft); stroke: var(--msi-green); }
.msi-floorplan__booth.is-selected { fill: var(--msi-gold-soft); stroke: var(--msi-gold); stroke-width: 2; }
.msi-floorplan__booth.is-highlighted { fill: var(--msi-green-soft); stroke: var(--msi-green); stroke-width: 2; }
.msi-floorplan__label {
	font-family: var(--msi-font-data);
	font-size: 9px;
	fill: var(--ms-color-text-quaternary);
	pointer-events: none;
	text-anchor: middle;
}

.msi-floorplan__panel {
	background: var(--msi-surface);
	border: 1px solid var(--msi-border);
	border-radius: var(--msi-radius-lg);
	padding: var(--msi-space-5);
	position: sticky;
	inset-block-start: calc(var(--msi-header-h) + 70px);
	display: grid;
	gap: var(--msi-space-4);
}
.msi-floorplan__boothinfo { display: grid; gap: var(--msi-space-3); }
.msi-floorplan__boothtitle { margin: 0; font-size: var(--msi-fs-h3); }
.msi-floorplan__empty { color: var(--ms-color-text-quaternary); font-size: var(--msi-fs-meta); text-align: center; padding-block: var(--msi-space-5); }

.msi-floorplan__legend {
	display: flex;
	gap: var(--msi-space-4);
	flex-wrap: wrap;
	font-size: var(--msi-fs-caption);
	color: var(--ms-color-text-quaternary);
	margin-block-start: var(--msi-space-3);
}
.msi-floorplan__legend span { display: inline-flex; align-items: center; gap: 6px; }
.msi-floorplan__legend i {
	width: 12px; height: 12px;
	border-radius: 3px;
	background: var(--msi-surface);
	border: 1px solid var(--msi-border-strong);
	display: inline-block;
}
.msi-floorplan__legend i.is-selected { background: var(--msi-gold-soft); border-color: var(--msi-gold); }
.msi-floorplan__legend i.is-highlighted { background: var(--msi-green-soft); border-color: var(--msi-green); }
/* Sessions / speakers */
.msi-session {
	display: grid;
	grid-template-columns: 140px 1fr auto;
	gap: var(--msi-space-4);
	padding: var(--msi-space-4);
	background: var(--msi-surface);
	border: 1px solid var(--msi-border);
	border-radius: var(--msi-radius-lg);
	align-items: center;
}
.msi-session__time { font-family: var(--msi-font-data); color: var(--msi-gold); font-size: var(--msi-fs-meta); }
.msi-session__body { display: grid; gap: 3px; min-width: 0; }
.msi-session__title { margin: 0; font-size: var(--msi-fs-body); }
.msi-session__meta { font-size: var(--msi-fs-caption); color: var(--ms-color-text-quaternary); }
@media (max-width: 640px) { .msi-session { grid-template-columns: 1fr; } }
/* Sponsors (§46) */
.msi-sponsortier { margin-block-end: var(--msi-space-5); }
.msi-sponsorlogo {
	display: grid;
	place-items: center;
	padding: var(--msi-space-5);
	background: var(--msi-surface);
	border: 1px solid var(--msi-border);
	border-radius: var(--msi-radius-lg);
	min-height: 90px;
	filter: grayscale(0.2);
	transition: filter var(--msi-dur) var(--msi-ease), border-color var(--msi-dur) var(--msi-ease);
}
.msi-sponsorlogo:hover { filter: none; border-color: var(--msi-border-strong); }
.msi-sponsorlogo img { max-height: 48px; width: auto; }
.msi-sponsorlogo span { font-family: var(--msi-font-display); font-weight: 600; color: var(--msi-text-2); }
/* Registration CTA (§39) */