:is(.cannes-meeting, .cannes-gathering) {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	overflow-y: auto;
	max-height: calc(100svh - 48px);
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	position: relative;
	scrollbar-width: none;
	-ms-overflow-style: none;

	&::-webkit-scrollbar {
		display: none;
	}

	@media (max-width: 767px) {
		border-bottom-left-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
	}

	@media (min-width: 768px) {
		max-width: 990px;
		width: 100%;
		max-height: calc(100dvh - 48px);
		max-height: calc(100svh - 48px);
	}

	.hs-form {
		fieldset {
			padding: 0;
			margin: 0;
			max-width: none !important;
		}

		.input textarea,
		.input select {
			width: 100% !important;
		}

		.field {
			margin-bottom: 20px;
		}

		label {
			display: block;
			margin: 0 0 4px;
			color: var(--color-black);
			font-size: 16px;
			line-height: 20px;
			font-weight: 700;

			@media (min-width: 768px) {
				font-size: 18px;
				line-height: 22px;
			}
		}

		.form-columns-2 {
			display: flex;
			gap: 20px;

			@media (max-width: 639.98px) {
				display: block !important;
			}
		}

		.form-columns-2 > .hs-form-field {
			@media (max-width: 639.98px) {
				width: 100% !important;
				float: none !important;
			}
		}

		[type=text],
		[type=email],
		[type=tel],
		textarea,
		select {
			width: 100% !important;
			background-color: #f8f8f8;
			border: 2px solid #dadada;
			border-radius: 8px;
			height: 50px;
			font-family: "Favorit", Helvetica, sans-serif;
			font-size: 16px;
			line-height: 20px;
			font-weight: 400;
			padding: 10px 20px 8px;
			outline: none;
			color: var(--color-black);
			appearance: none;

			@media (min-width: 768px) {
				font-size: 18px;
				line-height: 22px;
			}

			&:focus {
				border-color: var(--color-black);
			}
		}

		textarea {
			height: 90px;
		}

		.hs-fieldtype-select .input {
			position: relative;

			&::after {
				content: '';
				background: url('/wp-content/themes/celtra/assets/images/carat-black.svg') right top no-repeat;
				background-size: 12px;
				width: 20px;
				height: 20px;
				position: absolute;
				top: 12px;
				right: 15px;
				display: block;
				transform: rotate(90deg);
			}
		}

		.hs-submit {
			margin: 30px 8px 0 0;
			padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 140px);

			@media (min-width: 768px) {
				grid-column-start: 2;
				display: flex;
				justify-content: flex-start;
			}

			@media (min-width: 768px) and (min-height: 720px) {
				padding-bottom: 0;
			}
		}

		input.hs-button {
			appearance: none;
			display: inline-flex;
			justify-content: center;
			align-items: center;
			gap: 20px;
			height: 44px;
			padding: 13px 26px 11px;
			font-family: "Favorit", Helvetica, sans-serif;
			font-size: 16px;
			line-height: 16px;
			font-weight: 500;
			color: var(--color-white);
			background-color: var(--color-pink);
			border: 1px solid var(--color-pink);
			border-radius: 50px;
			white-space: nowrap;
			cursor: pointer;
			outline: none;
			text-align: center;
			transition: box-shadow 0.3s ease;

			&:hover {
				box-shadow: 0 0 8px 0 var(--color-pink), 0 0 18px 0 var(--color-pink);
			}
		}

		.hs-form-booleancheckbox {
			margin-top: 8px;
		}

		.hs-fieldtype-booleancheckbox {
			margin-bottom: 0;

			label {
				display: flex;
				align-items: flex-start;
				gap: 15px;

				@media (min-width: 768px) {
					gap: 20px;
				}
			}

			span {
				color: var(--color-black);
				font-size: 12px;
				line-height: 16px;
				font-weight: 400;
				max-width: 430px;

				a {
					color: var(--color-black);
					font-weight: 700;
					text-decoration: underline;

					&:hover {
						color: #ff51a7;
					}
				}
			}

			.hs-error-msg {
				margin: 0 0 0 40px;
			}
		}

		.multi-container {
			margin-top: 10px;

			li {
				margin-bottom: 10px;
			}

			label {
				display: flex;
				align-items: flex-start;
				gap: 15px;

				@media (min-width: 768px) {
					gap: 20px;
				}

				span {
					font-weight: 400;
					padding-top: 2px;
					max-width: 250px;

					@media (min-width: 768px) {
						max-width: none;
						padding-top: 7px;
					}
				}
			}
		}

		.hs-fieldtype-booleancheckbox input[type=checkbox],
		.hs-form-checkbox input[type=checkbox] {
			position: relative;
			margin-top: 3px;
			cursor: pointer;
			border-radius: 4px;

			&::before {
				content: "";
				display: block;
				position: absolute;
				width: 19px;
				height: 19px;
				top: -1px;
				left: -1px;
				border: 2px solid #dadada;
				border-radius: 4px;
				background-color: #f8f8f8;

				@media (min-width: 768px) {
					width: 25px;
					height: 25px;
				}
			}

			&:checked::before {
				border-color: var(--color-black);
				background-color: var(--color-black);
			}

			&:checked::after {
				content: "";
				display: block;
				width: 6px;
				height: 11px;
				border: solid #F8F8F8;
				border-width: 0 2px 2px 0;
				transform: rotate(45deg);
				position: absolute;
				top: 1px;
				left: 6px;

				@media (min-width: 768px) {
					width: 7px;
					height: 12px;
					top: 3px;
					left: 8px;
				}
			}
		}

		.submitted-message strong {
			font-weight: 700;
			font-size: 1.25rem;
			line-height: 1.5rem;
			margin-bottom: 1rem;
			letter-spacing: -1px;

			@media (min-width: 992px) {
				font-size: 2rem;
				line-height: 2.25rem;
			}
		}

		.hs_error_rollup {
			display: none;
		}

		.hs-error-msgs {
			display: block;
		}

		.hs-error-msg {
			font-size: 0.75rem;
			line-height: 1rem;
			margin-top: 6px;
			color: #f16141 !important;
		}

		.hs_business_challenges .hs-error-msg {
			margin-top: 0;
		}

		.error {
			border: 2px solid red !important;
		}

		.legal-consent-container {
			display: none;
			font-size: 16px;
			max-width: 600px;

			@media (max-height: 810px) {
				margin-top: 0 !important;
				font-size: 0.875rem;
				line-height: 1.375rem;
			}
		}

		.btn-primary {
			display: inline-flex;
			justify-content: center;
			align-items: center;
			gap: 20px;
			height: 44px;
			padding: 13px 26px 11px;
			font-family: "Favorit", Helvetica, sans-serif;
			font-size: 16px;
			line-height: 16px;
			font-weight: 500;
			color: var(--color-white);
			background-color: var(--color-pink);
			border: 1px solid var(--color-pink);
			border-radius: 50px;
			white-space: nowrap;
			cursor: pointer;
			outline: none;
			text-align: center;
			text-decoration: none;
			transition: box-shadow 0.3s ease, transform 0.3s ease;

			&:hover {
				box-shadow: 0 0 8px 0 var(--color-pink), 0 0 18px 0 var(--color-pink);
			}
		}
	}

	.submitted-message {
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		text-align: center;
		position: relative;

		h3 {
			font-weight: 500;
			font-size: 18px;
			line-height: 22px;
			margin-bottom: 8px;
			color: var(--color-black);

			@media (min-width: 768px) {
				font-size: 24px;
				line-height: 30px;
			}

			@media (min-width: 960px) {
				font-size: 28px;
				line-height: 32px;
			}

			&::before {
				content: '';
				background: url(/wp-content/themes/celtra/assets/images/event-check.svg);
				display: block;
				margin: 0 auto 20px;
				background-size: 54px;
				width: 54px;
				height: 54px;

				@media (min-width: 768px) {
					background-size: 64px;
					width: 64px;
					height: 64px;
				}
			}
		}

		p {
			font-size: 14px;
			line-height: 18px;
			font-weight: 400;
			margin-bottom: 0;
			color: var(--color-black);

			@media (min-width: 768px) {
				font-size: 18px;
				line-height: 22px;
			}
		}
	}
}

/* Shared wrappers / lity overrides for both Cannes forms */
:is(.page-cannes, .page-cannes26) {
	.submitted-message {
		h3 strong {
			font-weight: 500;
			font-size: 18px;
			line-height: 22px;
			letter-spacing: -2%;

			@media (min-width: 768px) {
				font-size: 24px;
				line-height: 30px;
			}

			@media (min-width: 960px) {
				font-size: 28px;
				line-height: 32px;
			}
		}

		p strong {
			font-weight: 400;
			font-size: 14px;
			line-height: 18px;
			letter-spacing: -2%;

			@media (min-width: 768px) {
				font-size: 18px;
				line-height: 22px;
			}
		}
	}

	.lity-container {
		width: 100%;
		max-width: 990px !important;
		padding: 0;
	}

	.lity-content {
		width: 100% !important;
		max-width: 990px !important;
		margin: 0 auto !important;
		position: relative;
	}

	.lity-close {
		color: var(--color-black) !important;
		background: transparent !important;
		opacity: 1 !important;
		visibility: visible !important;
		display: block !important;
		position: absolute !important;
		top: 30px !important;
		right: 30px !important;
		width: 32px !important;
		height: 32px !important;
		font-size: 32px !important;
		line-height: 32px !important;
		text-indent: 0 !important;
		overflow: visible !important;
		text-shadow: none !important;
		z-index: 9999 !important;

		@media (min-width: 666px) {
			top: 110px !important;
			right: 34px !important;
			width: 40px !important;
			height: 40px !important;
			font-size: 40px !important;
			line-height: 40px !important;
		}

		@media (min-width: 960px) {
			top: 50px !important;
		}
	}

	.cannes-gathering-wrap,
	.cannes-meeting-wrap {
		margin-top: var(--s-xxs);

		@media (min-width: 768px) {
			margin-top: var(--s-xs);
		}

		&.form-submitted {
			margin-top: 0;
			padding-bottom: var(--s-xs);

			@media (min-width: 960px) {
				padding-bottom: var(--s-sm);
			}
		}
	}
}

.cannes-form-headline {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: var(--s-xxs);
	max-width: 80%;
	text-wrap: pretty;

	@media (min-width: 960px) {
		margin-bottom: var(--s-xs);
	}
}

.form-submitted .cannes-form-headline {
	display: none !important;
}

@media (min-width: 768px) {
	.lity-content:has(> :is(.cannes-meeting, .cannes-gathering)) {
		min-height: 700px;
	}

	.lity-wrap.form-submitted .lity-content:has(> :is(.cannes-meeting, .cannes-gathering)) {
		min-height: 0;
	}
}
