/* ==========================================================================
   E3 Connect Hub – "Hybrid" template
   Inner pages: light background (from e3-spectrum.css).
   Login and E3 2027: blue key-visual background.
   Buttons, outlines and headings use the gradients of the E3 2026
   registration visual ("Walk-in" purple, "Pre-registered" aqua-blue,
   "REGISTRATION" title gradient). Loaded after e3.css and e3-spectrum.css.
   ========================================================================== */

:root {
	/* Buttons: "Walk-in" purple ending in light blue */
	--hy-walkin: linear-gradient(100deg, #A83EF0 0%, #7F45F0 38%, #5A7BF4 66%, #3FC8F8 100%); /* purple into light blue (option C) */
	--hy-walkin-edge: linear-gradient(120deg, #F7A6FF 0%, #C99BFF 100%);
	/* "Pre-registered" outline: aqua into blue */
	--hy-prereg: linear-gradient(120deg, #3FE0FF 0%, #38A8F8 50%, #4F6EF2 100%);
	/* "REGISTRATION" title: orange, pink, violet, lavender, aqua */
	--hy-title: linear-gradient(90deg, #FF7A1A 0%, #FF4F8B 25%, #D55CF0 50%, #9C8CFF 74%, #2FD0F5 100%);
	--hy-title-dark: linear-gradient(90deg, #FF8A2A 0%, #FF5A9A 25%, #E06BF5 50%, #A99CFF 74%, #4FE6FF 100%);

	/* Feed the shared variables used by e3-spectrum.css */
	--sp-line: linear-gradient(120deg, #E85CF0 0%, #9B5CF6 32%, #4F7BF5 64%, #3FE0FF 100%);
	--sp-fill: var(--hy-walkin);
	--sp-title: var(--hy-title);
	--e3-gradient: var(--hy-walkin);
}

/* --------------------------------------------------------------------------
   Headings: the "REGISTRATION" gradient
   -------------------------------------------------------------------------- */

.e3-content > h1,
.e3-content > .wp-block-heading:first-child { background: var(--hy-title); -webkit-background-clip: text; background-clip: text; }

/* --------------------------------------------------------------------------
   Menu tabs: slanted, like the registration buttons
   -------------------------------------------------------------------------- */

.e3-nav .wp-block-navigation-item__content {
	border: 3px solid transparent !important;
	border-radius: 18px;
	background: linear-gradient(#fff, #fff) padding-box, var(--hy-prereg) border-box !important;
	box-shadow: 0 0 16px rgba(63, 200, 255, .28);
	transform: skewX(-10deg);
}

.e3-nav .wp-block-navigation-item__label { display: inline-block; transform: skewX(10deg); }

.e3-nav .wp-block-navigation-item__content:hover {
	background: linear-gradient(#EEF9FF, #EEF9FF) padding-box, var(--hy-prereg) border-box !important;
	transform: skewX(-10deg) translateY(-1px);
}

.e3-nav .current-menu-item > .wp-block-navigation-item__content,
.e3-nav .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--hy-walkin) padding-box, var(--hy-walkin-edge) border-box !important;
	color: #fff !important;
	box-shadow: 0 0 20px rgba(214, 92, 255, .45), 0 10px 24px rgba(80, 40, 180, .25) !important;
}

/* --------------------------------------------------------------------------
   Fact cards: alternate the two button styles
   -------------------------------------------------------------------------- */

.e3-fact,
.e3-fact:nth-child(n) {
	border: 3px solid transparent !important;
	border-radius: 18px;
	background: linear-gradient(#fff, #fff) padding-box, var(--hy-prereg) border-box !important;
	box-shadow: 0 0 16px rgba(63, 200, 255, .22);
}
.e3-fact:nth-child(odd) {
	background: linear-gradient(#fff, #fff) padding-box, linear-gradient(120deg, #E85CF0, #8E3FF0) border-box !important;
	box-shadow: 0 0 16px rgba(214, 92, 255, .22);
}
.e3-fact:nth-child(odd) .e3-fact__label { color: #A23BD8 !important; }
.e3-fact:nth-child(even) .e3-fact__label { color: #1F86D8 !important; }

/* --------------------------------------------------------------------------
   Buttons: "Walk-in" purple with a soft pink edge
   -------------------------------------------------------------------------- */

.e3-btn {
	background: var(--hy-walkin);
	box-shadow: 0 0 0 1.5px rgba(247, 166, 255, .9), 0 6px 16px rgba(110, 50, 200, .25);
}
.e3-btn:hover { box-shadow: 0 0 0 1.5px #F7A6FF, 0 0 20px rgba(214, 92, 255, .45); }

.e3-tier.is-active { background: var(--hy-walkin) padding-box, var(--hy-walkin-edge) border-box !important; }

/* Search box uses the "Pre-registered" outline */
.e3-search { background: linear-gradient(#fff, #fff) padding-box, var(--hy-prereg) border-box !important; box-shadow: 0 0 14px rgba(63, 200, 255, .22); }

/* Video play button and speaker initials */
.e3-video__icon { background: var(--hy-walkin); box-shadow: 0 10px 30px rgba(10, 12, 60, .4), 0 0 0 6px rgba(63, 224, 255, .35); }

/* --------------------------------------------------------------------------
   Login and E3 2027: blue key-visual background
   -------------------------------------------------------------------------- */

.e3-screen {
	background:
		url("../images/spectrum-waves.svg") left bottom / 100% 42% no-repeat,
		radial-gradient(760px 560px at 0% 0%, rgba(200, 69, 230, .55), transparent 62%),
		radial-gradient(900px 620px at 100% 100%, rgba(0, 210, 250, .40), transparent 60%),
		radial-gradient(700px 480px at 62% 38%, rgba(255, 255, 255, .10), transparent 70%),
		linear-gradient(135deg, #6E3BEA 0%, #4A4FE8 22%, #2F5DE9 48%, #2B6CEE 74%, #1E90F0 100%);
}

.e3-screen h1.e3-next__title { background: var(--hy-title-dark); -webkit-background-clip: text; background-clip: text; }

.e3-login__card h1.e3-login__title { background: var(--hy-title); -webkit-background-clip: text; background-clip: text; }

/* Notify Me: the "Pre-registered" glass button */
.e3-notify__btn {
	border-radius: 18px;
	border: 2px solid rgba(63, 224, 255, .95);
	background: linear-gradient(100deg, rgba(63, 160, 255, .28), rgba(63, 224, 255, .14));
	box-shadow: 0 0 26px rgba(63, 216, 255, .5), inset 0 0 22px rgba(63, 216, 255, .18);
}

/* --------------------------------------------------------------------------
   Phone
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
	.e3-nav .wp-block-navigation-item__content { transform: none; }
	.e3-nav .wp-block-navigation-item__label { transform: none; }
	.e3-nav .wp-block-navigation-item__content:hover { transform: none; }
}

@media (max-width: 600px) {
	.e3-nav .wp-block-navigation__responsive-container-open { background: var(--hy-walkin); box-shadow: 0 0 0 1.5px #F7A6FF, 0 6px 16px rgba(110, 50, 200, .3); }
	.e3-nav .is-menu-open .wp-block-navigation-item__content { transform: skewX(-8deg); }
	.e3-nav .is-menu-open .wp-block-navigation-item__label { transform: skewX(8deg); }
}

/* ==========================================================================
   1.5.0 additions
   ========================================================================== */

/* Exhibitor cards: 4 product & service thumbnails */
.e3-products { margin: 4px 0 18px; }
.e3-products__title { margin: 0 0 10px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #7A3FD8; }
.e3-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.e3-products__item { margin: 0; min-width: 0; }
.e3-products__item > a,
.e3-products__item > span { display: block; color: var(--e3-ink); text-decoration: none; }
.e3-products__img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover;
	border-radius: 12px;
	border: 2px solid transparent;
	background: linear-gradient(#fff, #fff) padding-box, var(--hy-prereg) border-box;
	transition: transform .15s ease, box-shadow .15s ease;
}
.e3-products__item > a:hover .e3-products__img,
.e3-products__item > a:focus-visible .e3-products__img { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(63, 120, 240, .28); }
.e3-products__item > a:focus-visible { outline: none; }
.e3-products__item > a:focus-visible .e3-products__img { box-shadow: var(--e3-ring); }
.e3-products__label { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 6px; font-size: .75rem; line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
.e3-products__item > a .e3-products__label { color: #1d3fc4; }

/* Speaker pop-up: bio */
.e3-speaker-modal__label { margin: 0 0 8px; font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #7A3FD8; }
.e3-speaker-modal__bio { margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid rgba(122, 63, 216, .25); font-size: 1.0625rem; line-height: 1.55; }
.e3-speaker-modal__bio p { margin: 0 0 .8em; }
.e3-speaker-modal__bio p:last-child { margin-bottom: 0; }

/* Photo Gallery: year buttons */
.e3-years__tabs { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 26px; }
.e3-years__tab {
	min-width: 96px;
	padding: 10px 22px;
	border: 3px solid transparent;
	border-radius: 18px;
	background: linear-gradient(#fff, #fff) padding-box, var(--hy-prereg) border-box;
	box-shadow: 0 0 14px rgba(63, 200, 255, .22);
	color: var(--e3-ink);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transform: skewX(-10deg);
}
.e3-years__tab > span { display: inline-block; transform: skewX(10deg); }
.e3-years__tab:hover { background: linear-gradient(#EEF9FF, #EEF9FF) padding-box, var(--hy-prereg) border-box; }
.e3-years__tab:focus-visible { outline: none; box-shadow: var(--e3-ring); }
.e3-years__tab[aria-selected="true"] {
	background: var(--hy-walkin) padding-box, var(--hy-walkin-edge) border-box;
	color: #fff;
	box-shadow: 0 0 20px rgba(214, 92, 255, .4), 0 10px 24px rgba(80, 40, 180, .2);
}
.e3-year-panel[hidden] { display: none; }

/* E3 2027: "Coming Soon" / dates line */
.e3-screen .e3-next__date {
	margin-top: 22px !important;
	padding: 10px 28px;
	border-radius: 18px;
	border: 2px solid rgba(63, 224, 255, .95);
	background: linear-gradient(100deg, rgba(63, 160, 255, .30), rgba(63, 224, 255, .14));
	box-shadow: 0 0 26px rgba(63, 216, 255, .45), inset 0 0 18px rgba(63, 216, 255, .16);
	color: #fff;
	font-size: clamp(1.125rem, 1.8vw, 1.5rem);
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

/* E3 2027: GEVME QR card */
.e3-next__qr {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 30px 0 26px !important;
	padding: 16px 16px 14px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(63, 224, 255, .55), 0 18px 40px rgba(10, 14, 80, .35);
	color: var(--e3-ink);
}
.e3-next__qr > * { margin: 0 !important; }
.e3-next__qr-img img { display: block; width: 168px; height: 168px; image-rendering: pixelated; }
.e3-next__qr-text { margin-top: 10px !important; font-size: .875rem; font-weight: 700; }
.e3-next__qr-link { margin-top: 2px !important; font-size: .8125rem; }
.e3-next__qr-link a { color: #1d3fc4; font-weight: 600; }

@media (max-width: 600px) {
	.e3-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e3-years__tabs { gap: 10px; }
	.e3-years__tab { min-width: 0; flex: 1 1 calc(33% - 10px); transform: none; }
	.e3-years__tab > span { transform: none; }
	.e3-next__qr-img img { width: 150px; height: 150px; }
}

/* Editor previews */
.editor-styles-wrapper .e3-next__qr { color: var(--e3-ink); }

/* Missing exhibitor details: "Input information here." */
.e3-missing { color: #9A94AE; font-style: italic; font-weight: 400; }
.e3-partner__img--missing {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 80px;
	padding: 8px;
	box-sizing: border-box;
	border: 2px dashed #CFC8E6;
	border-radius: 10px;
	color: #9A94AE;
	font-size: .75rem;
	font-style: italic;
	text-align: center;
	line-height: 1.3;
}
.e3-products__img--missing {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 6px;
	box-sizing: border-box;
	border: 2px dashed #CFC8E6 !important;
	background: #FBFAFE !important;
	color: #9A94AE;
	font-size: .6875rem;
	font-style: italic;
	text-align: center;
	line-height: 1.25;
}
.e3-products__none { margin: 0; font-size: .8125rem; }
@media (max-width: 600px) {
	.e3-partner__img--missing { width: 100%; height: 70px; }
}
.e3-partner__info { align-content: start; }

/* --------------------------------------------------------------------------
   Contact Us: "Please rate us" pop-up
   -------------------------------------------------------------------------- */
.e3-rate .e3-modal__panel { width: min(560px, 100%); padding: 44px 44px 34px; text-align: center; border-radius: 26px; }
.e3-rate__form > * { margin-left: auto; margin-right: auto; }
.e3-rate__check {
	width: 58px; height: 58px; margin: 0 auto 14px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--hy-walkin); color: #fff; font-size: 28px; font-weight: 700;
	box-shadow: 0 0 0 6px rgba(63, 224, 255, .18), 0 10px 24px rgba(110, 50, 200, .3);
}
.e3-rate__sent { margin: 0; font-size: .875rem; font-weight: 600; color: #1F86D8; }
.e3-rate__title {
	margin: 6px 0 4px; font-size: 1.75rem; font-weight: 700; line-height: 1.2;
	background: var(--hy-title); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.e3-rate__title:focus { outline: none; }
.e3-rate__sub { margin: 0 0 22px; color: #5c5c66; font-size: .9375rem; }
.e3-rate__stars { display: flex; justify-content: center; gap: 10px; margin: 0 0 6px; padding: 0; border: 0; min-width: 0; }
.e3-rate__star { position: relative; width: 52px; height: 52px; cursor: pointer; }
.e3-rate__star input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.e3-rate__star svg { width: 100%; height: 100%; fill: #fff; stroke: #B9B3D6; stroke-width: 1.3; stroke-linejoin: round; transition: transform .15s ease; }
.e3-rate__star.is-on svg { fill: #C65BF2; stroke: #E07BFF; filter: drop-shadow(0 4px 8px rgba(214, 92, 255, .35)); }
.e3-rate__star:hover svg { transform: scale(1.12); }
.e3-rate__star:focus-within svg { stroke: #3FC8F8; stroke-width: 2; }
.e3-rate__scale { display: flex; justify-content: space-between; width: 300px; max-width: 100%; margin: 0 auto 14px; font-size: .75rem; color: #8a8a96; }
.e3-rate__word { min-height: 22px; margin: 0 0 14px; font-weight: 700; color: #7A3FD8; }
.e3-rate__label { display: block; text-align: left; font-size: .8125rem; font-weight: 700; color: #333; margin: 0 0 6px; }
.e3-rate__label span { font-weight: 400; color: #8a8a96; }
.e3-rate textarea {
	width: 100%; box-sizing: border-box; min-height: 92px; padding: 12px 14px; border-radius: 14px;
	border: 2px solid transparent; background: linear-gradient(#fff, #fff) padding-box, var(--hy-prereg) border-box;
	font: inherit; font-size: .9375rem; resize: vertical; color: var(--e3-ink);
}
.e3-rate textarea:focus { outline: none; box-shadow: var(--e3-ring); }
.e3-rate .e3-form__error { margin: 10px 0 0; text-align: left; }
.e3-rate__actions { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 20px; }
.e3-rate__actions .e3-btn { min-width: 220px; min-height: 46px; }
.e3-rate__actions .e3-btn[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; }
.e3-rate__skip { border: 0; background: none; color: #5c5c66; font: inherit; font-size: .875rem; text-decoration: underline; cursor: pointer; }

@media (max-width: 600px) {
	.e3-rate .e3-modal__panel { padding: 38px 22px 26px; border-radius: 22px; }
	.e3-rate__star { width: 46px; height: 46px; }
	.e3-rate__stars { gap: 6px; }
	.e3-rate__scale { width: 262px; }
	.e3-rate__title { font-size: 1.5rem; }
	.e3-rate__actions .e3-btn { width: 100%; }
}
