/* OCHBS Show Guide — additive design layer.
   Scopes: listing templates .elementor-19273 (sponsors), .elementor-17973 (exhibitors),
   .elementor-17967 (speakers); pages .page-id-241 (sponsors-overview),
   .page-id-236 (exhibitors-showcase), .page-id-16856 (exhibitor-overview),
   .page-id-16870 (speaker-directory). */

:root {
	--sg-ink: #0F172A;
	--sg-green: #1F7A4D;
	--sg-lime: #A5BE4C;
	--sg-paper: #F6F7F5;
	--sg-hairline: rgba(15, 23, 42, .10);
	--sg-hairline-strong: rgba(15, 23, 42, .22);
	--sg-muted: #5B6472;
	--sg-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ==========================================================================
   1. Logo tile — sponsor + exhibitor listing cards
   ========================================================================== */

.elementor-19273 .elementor-element-16eb066,
.elementor-17973 .elementor-element-16eb066 {
	background: var(--sg-paper) !important;
	background-image: none !important;
	border: 1px solid var(--sg-hairline);
	border-radius: 14px;
	overflow: hidden;
	height: 100%;
	--min-height: 0 !important;
	min-height: 0 !important;
	transition: transform .25s var(--sg-ease), box-shadow .25s var(--sg-ease), border-color .25s var(--sg-ease);
}

.jet-listing-grid__item:hover .elementor-element-16eb066 {
	transform: translateY(-4px);
	border-color: var(--sg-hairline-strong);
	box-shadow: 0 14px 28px rgba(15, 23, 42, .10);
}

/* The old black gradient is an Elementor background overlay (::before) */
.elementor-19273 .elementor-element.elementor-element-16eb066::before,
.elementor-17973 .elementor-element.elementor-element-16eb066::before {
	display: none !important;
	background-image: none !important;
}

/* Logo box */
.elementor-19273 .elementor-element-fcfc711,
.elementor-17973 .elementor-element-fcfc711 {
	background: var(--sg-paper) !important;
	background-image: none !important;
	aspect-ratio: 16 / 10;
	justify-content: center;
	align-items: center;
	padding: 26px !important;
	min-height: 0 !important;
}

.elementor-19273 .elementor-element-fcfc711 .jet-listing-dynamic-image,
.elementor-17973 .elementor-element-fcfc711 .jet-listing-dynamic-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.elementor-19273 .elementor-element-fcfc711 img,
.elementor-17973 .elementor-element-fcfc711 img {
	max-width: 100%;
	max-height: 120px;
	width: auto;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
	mix-blend-mode: multiply; /* white logo boxes melt into the paper tile */
}

/* Monochrome white logos flagged by JS: invert to ink so they survive paper */
.jet-listing-grid__item img.sg-invert {
	filter: invert(1) hue-rotate(180deg) contrast(1.05);
	mix-blend-mode: multiply;
}

/* Card footer: kill gradient + pills, quiet typographic block */
.elementor-19273 .elementor-element-d50b262,
.elementor-17973 .elementor-element-d50b262 {
	background: none !important;
	background-image: none !important;
	border-top: 1px solid var(--sg-hairline);
	padding: 14px 18px 16px !important;
	gap: 5px;
}

.elementor-19273 .elementor-element-d50b262::before,
.elementor-19273 .elementor-element-d50b262::after,
.elementor-17973 .elementor-element-d50b262::before,
.elementor-17973 .elementor-element-d50b262::after {
	display: none !important;
}

/* Sponsor name link (was a lime pill) */
.elementor-19273 .elementor-element-14a25f6,
.elementor-19273 .elementor-element-14a25f6 .jet-listing-dynamic-link,
.elementor-19273 .elementor-element-14a25f6 .jet-listing-dynamic-link__link {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.elementor-19273 .elementor-element-14a25f6 .jet-listing-dynamic-link__link {
	color: var(--sg-ink) !important;
	font-family: 'Archivo', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	justify-content: flex-start;
}

/* Exhibitor name field (was a lime pill) */
.elementor-17973 .elementor-element-0c1a47a,
.elementor-17973 .elementor-element-0c1a47a .jet-listing-dynamic-field__inline-wrap,
.elementor-17973 .elementor-element-0c1a47a .jet-listing-dynamic-field__content {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.elementor-17973 .elementor-element-0c1a47a .jet-listing-dynamic-field__content {
	color: var(--sg-ink) !important;
	font-family: 'Archivo', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Booth label: mono-style show-guide tag with lime dot */
.elementor-17973 .elementor-element-088d0b7,
.elementor-17973 .elementor-element-088d0b7 .jet-listing-dynamic-field__inline-wrap,
.elementor-17973 .elementor-element-088d0b7 .jet-listing-dynamic-field__content {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.elementor-17973 .elementor-element-088d0b7 .jet-listing-dynamic-field__content {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	color: var(--sg-muted) !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: .72rem !important;
	text-transform: uppercase !important;
	letter-spacing: .14em !important;
}

.elementor-17973 .elementor-element-088d0b7 .jet-listing-dynamic-field__content::before {
	content: '';
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--sg-lime);
}

/* Sponsor secondary field: quiet caption */
.elementor-19273 .elementor-element-e2ebcf4 .jet-listing-dynamic-field__content {
	background: none !important;
	padding: 0 !important;
	color: var(--sg-muted) !important;
	font-size: .78rem !important;
}

/* ==========================================================================
   2. Sponsors overview (page 241): tier hierarchy
   ========================================================================== */

/* Ribbon strips behind tier headings -> transparent, borderless
   (page ground is dark ink; headings become clean paper-on-ink markers) */
.page-id-241 .elementor-element-fcdd444,
.page-id-241 .elementor-element-1c6ad3a,
.page-id-241 .elementor-element-0bcbfb5,
.page-id-241 .elementor-element-cef109f,
.page-id-241 .elementor-element-fcdd444 .e-con,
.page-id-241 .elementor-element-1c6ad3a .e-con,
.page-id-241 .elementor-element-0bcbfb5 .e-con,
.page-id-241 .elementor-element-cef109f .e-con {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Tier headings: show-guide section markers */
.elementor-241 .elementor-element.elementor-element-db4f277 .elementor-heading-title,
.elementor-241 .elementor-element.elementor-element-91a1e35 .elementor-heading-title,
.elementor-241 .elementor-element.elementor-element-66403e1 .elementor-heading-title,
.elementor-241 .elementor-element.elementor-element-c0a9c04 .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: 'Archivo', sans-serif !important;
	font-weight: 800 !important;
	font-size: clamp(1.7rem, 3.2vw, 2.4rem) !important;
	line-height: 1.1 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	color: var(--sg-paper) !important;
	border: 0 !important;
}

.elementor-241 .elementor-element.elementor-element-db4f277 .elementor-heading-title::before,
.elementor-241 .elementor-element.elementor-element-91a1e35 .elementor-heading-title::before,
.elementor-241 .elementor-element.elementor-element-66403e1 .elementor-heading-title::before,
.elementor-241 .elementor-element.elementor-element-c0a9c04 .elementor-heading-title::before {
	content: '';
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--sg-lime);
}

/* Tier grids: normalized grid with per-tier density */
.page-id-241 .jet-listing-grid__items[data-query-id="32"],
.page-id-241 .jet-listing-grid__items[data-query-id="33"],
.page-id-241 .jet-listing-grid__items[data-query-id="34"],
.page-id-241 .jet-listing-grid__items[data-query-id="45"] {
	display: grid !important;
	gap: 18px;
}

.page-id-241 .jet-listing-grid__items[data-query-id="32"] { grid-template-columns: repeat(3, 1fr); gap: 22px; }
.page-id-241 .jet-listing-grid__items[data-query-id="33"] { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.page-id-241 .jet-listing-grid__items[data-query-id="34"] { grid-template-columns: repeat(6, 1fr); gap: 14px; }
.page-id-241 .jet-listing-grid__items[data-query-id="45"] { grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 780px; margin-inline: auto; }

.page-id-241 .jet-listing-grid__items[data-query-id] > .jet-listing-grid__item {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Platinum: larger presence */
.page-id-241 .jet-listing-grid__items[data-query-id="32"] .elementor-element-14a25f6 .jet-listing-dynamic-link__link {
	font-size: 1.15rem !important;
}

.page-id-241 .jet-listing-grid__items[data-query-id="32"] .elementor-element-fcfc711 img { max-height: 150px; }

/* Gold / Silver: compact captions */
.page-id-241 .jet-listing-grid__items[data-query-id="33"] .elementor-element-14a25f6 .jet-listing-dynamic-link__link { font-size: .9rem !important; }
.page-id-241 .jet-listing-grid__items[data-query-id="34"] .elementor-element-14a25f6 .jet-listing-dynamic-link__link { font-size: .8rem !important; }
.page-id-241 .jet-listing-grid__items[data-query-id="34"] .elementor-element-fcfc711 { padding: 18px !important; }
.page-id-241 .jet-listing-grid__items[data-query-id="34"] .elementor-element-fcfc711 img { max-height: 72px; }
.page-id-241 .jet-listing-grid__items[data-query-id="34"] .elementor-element-d50b262 { padding: 10px 14px 12px !important; }

/* VIP Lounge: subtle elevated band on the dark ground */
.page-id-241 .elementor-element-aea176a {
	background: rgba(246, 247, 245, .05);
	border: 1px solid rgba(246, 247, 245, .12);
	border-radius: 20px;
	padding: 30px;
}

/* Bottom CTA band: pull the off-brand indigo back to palette */
.page-id-241 .elementor-element-719aca11 { background-color: var(--sg-ink) !important; }
.page-id-241 .elementor-element-4ba9dbb1 .elementor-button { background-color: var(--sg-green) !important; color: #FFFFFF !important; }
.page-id-241 .elementor-element-5c285800 .elementor-button {
	background-color: transparent !important;
	border: 1px solid rgba(255, 255, 255, .35) !important;
}

/* Injected tier nav */
.sg-tier-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 6px auto 34px;
	padding: 0 20px;
	max-width: 1140px;
	justify-content: center;
}

.sg-tier-nav a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(246, 247, 245, .28);
	border-radius: 999px;
	padding: 10px 20px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--sg-paper);
	text-decoration: none;
	transition: background-color .2s var(--sg-ease), border-color .2s var(--sg-ease), color .2s var(--sg-ease);
}

.sg-tier-nav a::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--sg-lime);
}

.sg-tier-nav a:hover {
	background: var(--sg-lime);
	border-color: var(--sg-lime);
	color: var(--sg-ink);
}

.page-id-241 .elementor-element-78628d5,
.page-id-241 .elementor-element-65c64cb,
.page-id-241 .elementor-element-7497b2a,
.page-id-241 .elementor-element-b042b5e {
	scroll-margin-top: 130px;
}

/* ==========================================================================
   3. Speaker directory (page 16870, listing 17967)
   ========================================================================== */

.elementor-17967 .elementor-element-f8ffc79 {
	background: rgba(246, 247, 245, .04) !important;
	border: 1px solid rgba(246, 247, 245, .12);
	border-radius: 14px;
	overflow: hidden;
	height: 100%;
	transition: transform .25s var(--sg-ease), border-color .25s var(--sg-ease), box-shadow .25s var(--sg-ease);
}

.jet-listing-grid__item:hover .elementor-element-f8ffc79 {
	transform: translateY(-4px);
	border-color: rgba(246, 247, 245, .3);
	box-shadow: 0 16px 32px rgba(0, 0, 0, .35);
}

/* Photo: uniform crop + unified grade, warms to full color on hover */
.elementor-17967 .elementor-element-0b1c361 {
	aspect-ratio: 1 / 1;
	min-height: 0 !important;
	background-size: cover !important;
	background-position: center 20% !important;
	filter: saturate(.85) contrast(1.03);
	transition: filter .3s var(--sg-ease);
}

.jet-listing-grid__item:hover .elementor-element-0b1c361 {
	filter: saturate(1.05) contrast(1);
}

/* Typographic hierarchy: name / role / company */
.elementor-17967 .elementor-element-5cd2cfb .elementor-heading-title {
	font-family: 'Archivo', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.1rem !important;
	line-height: 1.25 !important;
	color: var(--sg-paper) !important;
}

.elementor-17967 .elementor-element-6ac3d4b .elementor-heading-title {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	font-size: .8rem !important;
	line-height: 1.45 !important;
	color: rgba(246, 247, 245, .62) !important;
}

.elementor-17967 .elementor-element-e1eaf83 .elementor-heading-title,
.elementor-17967 .elementor-element-e1eaf83 .elementor-heading-title a {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: .78rem !important;
	line-height: 1.4 !important;
	color: var(--sg-lime) !important;
}

/* Bio button: quiet outline pill */
.elementor-17967 .elementor-element-a56b769 .jet-button__instance {
	background: transparent !important;
	background-image: none !important;
	border: 1px solid rgba(246, 247, 245, .25) !important;
	border-radius: 999px !important;
	color: var(--sg-paper) !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: .7rem !important;
	text-transform: uppercase !important;
	letter-spacing: .14em !important;
	padding: 9px 18px !important;
	transition: border-color .2s var(--sg-ease), color .2s var(--sg-ease);
}

.elementor-17967 .elementor-element-a56b769 .jet-button__instance:hover {
	border-color: var(--sg-lime) !important;
	color: var(--sg-lime) !important;
}

/* Industry filter: radio list -> chip row (each option lives in its own __row,
   so the flex container is the fieldset and rows collapse via display:contents) */
.page-id-16870 .jet-radio-list-wrapper fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border: 0;
	padding: 0;
	margin: 0;
}

.page-id-16870 .jet-radio-list__row { display: contents; }

.page-id-16870 .jet-radio-list__item { margin: 0 !important; }

.page-id-16870 .jet-radio-list__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.page-id-16870 .jet-radio-list__button,
.page-id-16870 .jet-radio-list__label {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(246, 247, 245, .2);
	border-radius: 999px;
	padding: 8px 16px;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: .78rem;
	line-height: 1.2;
	color: var(--sg-paper);
	cursor: pointer;
	transition: background-color .2s var(--sg-ease), border-color .2s var(--sg-ease), color .2s var(--sg-ease);
}

.page-id-16870 .jet-radio-list__button:hover,
.page-id-16870 .jet-radio-list__label:hover {
	border-color: rgba(246, 247, 245, .45);
}

.page-id-16870 .jet-radio-list__input:checked ~ .jet-radio-list__button,
.page-id-16870 .jet-radio-list__input:checked ~ .jet-radio-list__label,
.page-id-16870 .jet-radio-list__item.jet-active .jet-radio-list__button {
	background: var(--sg-lime);
	border-color: var(--sg-lime);
	color: var(--sg-ink);
}

/* Hide the native radio decor bullet if present */
.page-id-16870 .jet-radio-list__decorator { display: none !important; }

/* ==========================================================================
   3b. Home body (page 18883)
   ========================================================================== */

/* Accessible hiding for screen-reader text (kills the visible
   "Price range: ..." duplication in the merch grid) */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Editorial measure on the two copy blocks */
.page-id-18883 .elementor-element-afd8abe,
.page-id-18883 .elementor-element-166bb6e8 {
	max-width: 68ch;
}

.page-id-18883 .elementor-element-afd8abe p {
	line-height: 1.75;
}

/* Platinum sponsor band: paper band so the (mostly dark) sponsor logos read.
   Section was device-hidden in Elementor; now visible with real logos. */
.page-id-18883 .elementor-element-103a24bc {
	background-color: var(--sg-paper) !important;
	padding-top: 56px;
	padding-bottom: 56px;
}

.page-id-18883 .elementor-element-29ec4151 .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: 'Archivo', sans-serif !important;
	font-weight: 800 !important;
	font-size: clamp(1.4rem, 2.6vw, 1.9rem) !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	color: var(--sg-ink) !important;
}

.page-id-18883 .elementor-element-29ec4151 .elementor-heading-title::before {
	content: '';
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--sg-lime);
}

/* Carousel logos: 1440px rail, tight spacing, edges fade into the band */
body.page-id-18883 .elementor-element.elementor-element-7f1957ee.elementor-widget {
	max-width: 1440px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}

.page-id-18883 .elementor-element-7f1957ee .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
}

/* Every logo in an identical box so wide wordmarks stop dominating */
.page-id-18883 .elementor-element-7f1957ee .swiper-slide img,
.page-id-18883 .elementor-element-7f1957ee .swiper-slide .swiper-slide-image {
	width: 170px !important;
	height: 56px !important;
	max-width: 170px !important;
	max-height: 56px !important;
	object-fit: contain !important;
	mix-blend-mode: multiply;
}

/* Continuous marquee: linear glide instead of slide-and-stop */
.page-id-18883 .elementor-element-7f1957ee .swiper-wrapper {
	transition-timing-function: linear !important;
}

/* Home speaker cards (listing 19981): match the directory language */
.elementor-19981 .elementor-element-50bb142 {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(246, 247, 245, .12);
	background-size: cover !important;
	background-position: center 20% !important;
	transition: transform .25s var(--sg-ease), border-color .25s var(--sg-ease);
}

.jet-listing-grid__item:hover .elementor-element-50bb142 {
	transform: translateY(-4px);
	border-color: rgba(246, 247, 245, .3);
}

/* Testimonial: pull-quote treatment */
.elementor-21063 blockquote,
.elementor-21063 p {
	font-size: 1.05rem;
	line-height: 1.7;
}

/* ==========================================================================
   4. Entrance motion (JS adds .sg-reveal / .sg-in)
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {
	.sg-reveal {
		opacity: 0;
		transform: translateY(16px);
		transition: opacity .55s var(--sg-ease), transform .55s var(--sg-ease);
	}

	.sg-reveal.sg-in {
		opacity: 1;
		transform: none;
	}

	html { scroll-behavior: smooth; }
}

/* ==========================================================================
   5. Responsive
   ========================================================================== */

@media (max-width: 1024px) {
	.page-id-241 .jet-listing-grid__items[data-query-id="32"] { grid-template-columns: repeat(2, 1fr); }
	.page-id-241 .jet-listing-grid__items[data-query-id="33"] { grid-template-columns: repeat(3, 1fr); }
	.page-id-241 .jet-listing-grid__items[data-query-id="34"] { grid-template-columns: repeat(4, 1fr); }
	.page-id-241 .jet-listing-grid__items[data-query-id="45"] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
	.page-id-241 .jet-listing-grid__items[data-query-id="32"] { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.page-id-241 .jet-listing-grid__items[data-query-id="33"] { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.page-id-241 .jet-listing-grid__items[data-query-id="34"] { grid-template-columns: repeat(3, 1fr); gap: 10px; }
	.page-id-241 .jet-listing-grid__items[data-query-id="45"] { grid-template-columns: repeat(2, 1fr); gap: 12px; }

	.page-id-241 .elementor-element-aea176a { padding: 18px; }

	.elementor-19273 .elementor-element-fcfc711,
	.elementor-17973 .elementor-element-fcfc711 { padding: 16px !important; }

	.elementor-19273 .elementor-element-fcfc711 img,
	.elementor-17973 .elementor-element-fcfc711 img { max-height: 64px; }

	.sg-tier-nav { gap: 8px; }
	.sg-tier-nav a { padding: 8px 14px; }
}
