/**
 * Event page blocks: [event_when_where], [event_tickets], [event_sponsors],
 * [event_speakers], [event_sponsorship_cta]. One file because they always
 * appear together on the single event template.
 *
 * Type sizes come from the Elementor kit's global typography so the blocks
 * track the rest of the site (fallbacks for pages without the kit loaded):
 *   text     body copy
 *   44e7c47  section / card headings (same as the template's "About")
 *   5232a98  speaker names
 *   1bf45ae  small print (date and venue lines)
 *
 * @package Calgary_Chamber
 */

:root {
	--cc-event-border: #D9DDE3;
	--cc-event-radius: 25px;
	--cc-event-text: var(--e-global-typography-text-font-size, 1.125rem);
	--cc-event-heading: var(--e-global-typography-44e7c47-font-size, 1.75rem);
	--cc-event-name: var(--e-global-typography-5232a98-font-size, 2rem);
	--cc-event-small: var(--e-global-typography-1bf45ae-font-size, 0.9375rem);
	--cc-speaker-ring: #4FBFA5;
}

:where(.calgary-chamber-event-when-where, .calgary-chamber-event-tickets, .calgary-chamber-event-sponsors, .calgary-chamber-event-speakers, .calgary-chamber-event-sponsorship-cta, .cc-event-dialog) {
	font-family: inherit;
	color: var(--chamber-text);
}

/* Sections in the main column are separated by a rule. Each block draws its own,
   so a section that renders nothing leaves no stray line. */

.cc-event-section {
	padding-top: 32px !important;
	border-top: 1px solid var(--cc-event-border) !important;
}

/* Shared card */

.cc-event-card {
	display: block !important;
	box-sizing: border-box;
	padding: 28px !important;
	border: 1px solid var(--cc-event-border) !important;
	border-radius: var(--cc-event-radius) !important;
	background: var(--chamber-white) !important;
}

.cc-event-card + .cc-event-card {
	margin-top: 24px;
}

.calgary-chamber-event-tickets .cc-event-card__title,
.calgary-chamber-event-sponsors .cc-event-card__title,
.calgary-chamber-event-sponsorship-cta .cc-event-card__title,
.calgary-chamber-event-speakers .cc-event-section-title,
.cc-event-dialog .cc-event-card__title {
	margin: 0 0 16px !important;
	font-family: inherit !important;
	font-size: var(--cc-event-heading) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: var(--chamber-text) !important;
}

/* Sidebar card titles: centred, with a rule underneath. */
.calgary-chamber-event-tickets .cc-event-card__title,
.calgary-chamber-event-sponsors .cc-event-card__title {
	margin-bottom: 20px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--cc-event-border) !important;
	text-align: center !important;
}

.cc-event-card__body {
	font-size: var(--cc-event-text);
	line-height: 1.5;
}

.cc-event-card__body > :first-child { margin-top: 0; }
.cc-event-card__body > :last-child { margin-bottom: 0; }

.calgary-chamber-event-tickets .cc-event-button,
.calgary-chamber-event-sponsorship-cta .cc-event-button {
	display: inline-block !important;
	box-sizing: border-box;
	padding: 12px 28px !important;
	border: 1px solid var(--chamber-button) !important;
	border-radius: 999px !important;
	background: var(--chamber-button) !important;
	color: var(--chamber-white) !important;
	font-family: inherit !important;
	font-size: var(--cc-event-text) !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.calgary-chamber-event-tickets .cc-event-button:hover,
.calgary-chamber-event-sponsorship-cta .cc-event-button:hover {
	border-color: var(--chamber-secondary) !important;
	background: var(--chamber-secondary) !important;
}

.calgary-chamber-event-tickets .cc-event-button.is-secondary {
	background: transparent !important;
	color: var(--chamber-button) !important;
}

/* When & where */

.calgary-chamber-event-when-where .cc-when-where__line {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 6px !important;
	font-size: var(--cc-event-small) !important;
	line-height: 1.5 !important;
}

.calgary-chamber-event-when-where .cc-when-where__line:last-child {
	margin-bottom: 0 !important;
}

.cc-when-where__icon {
	flex: none;
	width: 1.25em;
	height: 1.25em;
	margin-top: 0.05em;
}

.cc-when-where__sep {
	margin: 0 0.35em;
}

/* Tickets */

.calgary-chamber-event-tickets {
	text-align: center;
}

.calgary-chamber-event-tickets .cc-event-card__body {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--cc-event-border);
}

.calgary-chamber-event-tickets .cc-event-card__body ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cc-event-tickets__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 20px;
}

.calgary-chamber-event-tickets .cc-event-tickets__actions .cc-event-button {
	display: block !important;
	width: 100%;
}

.cc-event-tickets__refund {
	margin: 12px 0 0 !important;
	font-size: var(--cc-event-small) !important;
}

.calgary-chamber-event-tickets .cc-event-link {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--chamber-link) !important;
	font: inherit !important;
	text-decoration: underline !important;
	cursor: pointer;
}

/* Refund policy dialog */

.cc-event-dialog {
	box-sizing: border-box;
	width: min(560px, calc(100vw - 32px));
	max-height: calc(100vh - 64px);
	padding: 32px !important;
	border: 0 !important;
	border-radius: var(--cc-event-radius) !important;
	background: var(--chamber-white) !important;
	font-size: var(--cc-event-text);
	text-align: left;
	box-shadow: 0 20px 60px rgba(4, 30, 66, 0.25);
}

.cc-event-dialog::backdrop {
	background: rgba(4, 30, 66, 0.5);
}

.cc-event-dialog__close-form {
	position: absolute;
	top: 14px;
	right: 14px;
	margin: 0;
}

.cc-event-dialog .cc-event-dialog__close {
	display: grid !important;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--chamber-gray-light) !important;
	color: var(--chamber-text) !important;
	font-size: 22px !important;
	line-height: 1 !important;
	cursor: pointer;
}

/* Sponsors */

.cc-sponsor-tier + .cc-sponsor-tier {
	margin-top: 24px;
}

.calgary-chamber-event-sponsors .cc-sponsor-tier__title {
	margin: 0 0 12px !important;
	font-family: inherit !important;
	font-size: var(--cc-event-small) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--chamber-text) !important;
}

.calgary-chamber-event-sponsors .cc-sponsor-tier__logos {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.calgary-chamber-event-sponsors .cc-sponsor-tier__logos li {
	display: flex;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
}

.calgary-chamber-event-sponsors .cc-sponsor-tier__logos.is-single li {
	grid-column: 1 / -1;
}

.calgary-chamber-event-sponsors .cc-sponsor-tier__logos img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 56px;
	object-fit: contain;
}

.calgary-chamber-event-sponsors .cc-sponsor-tier__logos.is-single img {
	max-width: 70% !important;
	max-height: 64px;
}

/* Speakers */

.calgary-chamber-event-speakers .cc-event-section-title {
	margin-bottom: 24px !important;
}

.calgary-chamber-event-speakers .cc-speaker {
	display: grid !important;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	padding: 32px !important;
}

.cc-speaker__photo {
	aspect-ratio: 1;
	border: 6px solid var(--cc-speaker-ring);
	border-radius: 50%;
	overflow: hidden;
	background: var(--chamber-gray);
}

.calgary-chamber-event-speakers .cc-speaker__photo img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	border-radius: 0 !important;
	object-fit: cover;
}

.calgary-chamber-event-speakers .cc-speaker__name {
	margin: 12px 0 8px !important;
	font-family: inherit !important;
	font-size: var(--cc-event-name) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	color: var(--chamber-text) !important;
}

.calgary-chamber-event-speakers .cc-speaker__position {
	margin: 0 0 16px !important;
	font-size: var(--cc-event-text) !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

.cc-speaker__about {
	border: 1px solid var(--cc-event-border);
	border-radius: var(--cc-event-radius);
}

.cc-speaker__about summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 20px;
	font-size: var(--cc-event-text);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.cc-speaker__about summary::-webkit-details-marker {
	display: none;
}

.cc-speaker__about summary::before {
	content: "+";
	width: 1em;
	font-size: 1.4em;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	transition: transform 0.2s ease;
}

.cc-speaker__about[open] summary::before {
	transform: rotate(45deg);
}

.cc-speaker__bio {
	padding: 0 20px 20px;
	font-size: var(--cc-event-small);
	line-height: 1.6;
}

.cc-speaker__bio > :first-child { margin-top: 0; }
.cc-speaker__bio > :last-child { margin-bottom: 0; }

/* Sponsorship opportunity */

.calgary-chamber-event-sponsorship-cta {
	display: grid !important;
	gap: 40px;
	align-items: center;
	box-sizing: border-box;
	padding: 40px !important;
	border-radius: var(--cc-event-radius) !important;
	background: linear-gradient(110deg, #DCEBF7 0%, #F4F8FC 100%) !important;
}

.calgary-chamber-event-sponsorship-cta.has-image {
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}

.cc-sponsorship-cta__image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	border-radius: var(--cc-event-radius) !important;
	object-fit: cover;
}

.calgary-chamber-event-sponsorship-cta .cc-event-card__body {
	margin-bottom: 20px;
}

/* Sidebar column on the event template; event-page.js adds .is-sticky when it fits the viewport. */

.cc-event-aside {
	--cc-sticky-top: 135px; /* fixed site header (~111px) + breathing room */
}

@media (min-width: 1025px) {
	.cc-event-aside.is-sticky {
		position: sticky !important;
		top: var(--cc-sticky-top);
	}
}

@media (max-width: 767px) {
	.calgary-chamber-event-sponsorship-cta {
		padding: 28px !important;
	}

	.calgary-chamber-event-sponsorship-cta.has-image {
		grid-template-columns: 1fr;
	}

	.cc-sponsorship-cta__image {
		display: none;
	}

	.calgary-chamber-event-speakers .cc-speaker {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 24px !important;
	}

	.cc-speaker__photo {
		width: min(240px, 100%);
		margin: 0 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cc-speaker__about summary::before {
		transition: none;
	}
}
