/* CCLC Event Sponsors */

.ces-band {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;        /* logos share a baseline */
	justify-content: center;      /* overridable via alignment control */
	gap: var(--ces-tier-gap, 40px); /* gap between tiers (overridable) */
}

.ces-tier {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

/* Vertical divider between adjacent tiers (hidden on wrap — see responsive). */
.ces-tier:not(:last-child)::after {
	content: "";
	position: absolute;
	right: calc(var(--ces-tier-gap, 40px) / -2); /* half the band gap */
	top: 50%;
	transform: translateY(-50%);
	height: 70%;
	width: 1px;
	background: #e7eaf0;
}

.ces-tier-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px;                    /* gap between logos within a tier */
}

.ces-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ces-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;                 /* intrinsic aspect ratio preserved */
	object-fit: contain;
}

/* Default per-tier logo heights (desktop). */
.ces-tier--presenting .ces-logo img { max-height: 120px; }
.ces-tier--corporate  .ces-logo img { max-height: 96px; }
.ces-tier--benefactor .ces-logo img { max-height: 80px; }
.ces-tier--supporting .ces-logo img { max-height: 64px; }

.ces-caption {
	margin-top: 14px;
	font-size: 13px;
	font-weight: 600;
	color: #3a455c;
	text-align: center;
}

/* Subtle lift on hover, gated by the hover toggle's prefix class. */
.ces-logo a,
.ces-logo img {
	transition: transform .25s ease, box-shadow .25s ease;
}
.ces-hover-yes .ces-logo a:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(20, 30, 60, .12);
}

/* Tablet: tighten the band gap. */
@media (max-width: 1024px) {
	.ces-band { --ces-tier-gap: 32px; }
}

/* Mobile: stack tiers vertically, hide dividers, scale logos down. */
@media (max-width: 767px) {
	.ces-band {
		flex-direction: column;
		align-items: center;
		--ces-tier-gap: 28px;
	}
	.ces-tier:not(:last-child)::after { display: none; } /* dividers only read in a row */

	.ces-tier--presenting .ces-logo img { max-height: 88px; }
	.ces-tier--corporate  .ces-logo img { max-height: 72px; }
	.ces-tier--benefactor .ces-logo img { max-height: 60px; }
	.ces-tier--supporting .ces-logo img { max-height: 52px; }
}

/* These rules rely on Elementor's wrapper class `elementor-widget-cclc_event_sponsors` matching the widget's get_name(). */
/* Hide dividers when the toggle is off (no ces-dividers-yes class on the wrapper). */
.elementor-widget-cclc_event_sponsors:not(.ces-dividers-yes) .ces-tier:not(:last-child)::after {
	display: none;
}

/* Hide captions when the toggle is off (no ces-caption-yes class on the wrapper). */
.elementor-widget-cclc_event_sponsors:not(.ces-caption-yes) .ces-caption {
	display: none;
}

/* Visible focus indicator for keyboard users on linked logos. */
.ces-logo a:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 4px;
	border-radius: 4px;
}
