.elementor-widget-pauli-project-button {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.elementor-widget-pauli-project-button > .elementor-widget-container {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.ppb-button-wrap {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
}

.ppb-button {
	--ppb-transition: 250ms;
	--ppb-button-hover-y: -2px;
	--ppb-icon-hover-x: 8px;
	--ppb-icon-hover-scale: 1;
	--ppb-focus-color: #0b0b0b;
	--ppb-icon-size: 72px;
	display: inline-flex;
	vertical-align: top;
	margin: 0;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: 880px !important;
	inline-size: 880px !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 230px !important;
	padding: 20px 25px 20px 70px !important;
	gap: 30px !important;
	overflow: hidden;
	text-decoration: none !important;
	cursor: pointer;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	transform: translateY(0);
	transition:
		background-color var(--ppb-transition) ease,
		border-color var(--ppb-transition) ease,
		box-shadow var(--ppb-transition) ease,
		transform var(--ppb-transition) ease;
}

.ppb-button:hover,
.ppb-button:focus-visible {
	transform: translateY(var(--ppb-button-hover-y));
	text-decoration: none !important;
}

.ppb-button:focus-visible {
	outline: 3px solid var(--ppb-focus-color);
	outline-offset: 4px;
}

.ppb-button--icon-left {
	flex-direction: row-reverse;
}

.ppb-button__text {
	min-width: 0;
	font-size: clamp(2rem, 7.4vw, 4.5rem);
	font-weight: 400;
	line-height: 1.05;
	white-space: normal;
	transition: color var(--ppb-transition) ease;
}

.ppb-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 180px !important;
	min-width: 180px !important;
	height: 180px !important;
	min-height: 180px !important;
	flex: 0 0 180px !important;
	font-size: var(--ppb-icon-size) !important;
	line-height: 1 !important;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	transform: scale(1);
	transition:
		background-color var(--ppb-transition) ease,
		border-color var(--ppb-transition) ease,
		color var(--ppb-transition) ease,
		transform var(--ppb-transition) ease;
}

.ppb-button__icon-glyph {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: var(--ppb-icon-size) !important;
	height: var(--ppb-icon-size) !important;
	font-size: var(--ppb-icon-size) !important;
	line-height: 1 !important;
	transform: translateX(0);
	transition: transform var(--ppb-transition) ease;
}

.ppb-button__icon i,
.ppb-button__icon svg,
.ppb-button__icon-glyph > i,
.ppb-button__icon-glyph > svg {
	display: block !important;
	box-sizing: border-box;
	width: var(--ppb-icon-size) !important;
	height: var(--ppb-icon-size) !important;
	max-width: var(--ppb-icon-size) !important;
	max-height: var(--ppb-icon-size) !important;
	font-size: var(--ppb-icon-size) !important;
	line-height: 1 !important;
	fill: currentColor;
	transition: fill var(--ppb-transition) ease, color var(--ppb-transition) ease;
}

.ppb-button__icon i::before,
.ppb-button__icon-glyph > i::before {
	display: block !important;
	width: var(--ppb-icon-size) !important;
	height: var(--ppb-icon-size) !important;
	font-size: var(--ppb-icon-size) !important;
	line-height: 1 !important;
}

.ppb-button:hover .ppb-button__icon,
.ppb-button:focus-visible .ppb-button__icon {
	transform: scale(var(--ppb-icon-hover-scale));
}

.ppb-button:hover .ppb-button__icon-glyph,
.ppb-button:focus-visible .ppb-button__icon-glyph {
	transform: translateX(var(--ppb-icon-hover-x));
}

.ppb-button--icon-left:hover .ppb-button__icon-glyph,
.ppb-button--icon-left:focus-visible .ppb-button__icon-glyph {
	transform: translateX(calc(var(--ppb-icon-hover-x) * -1));
}

@media screen and (max-width: 1024px), screen and (max-device-width: 1024px) {
	.ppb-button {
		width: 100% !important;
		inline-size: 100% !important;
		min-height: 170px !important;
		padding: 16px 20px 16px 46px !important;
		gap: 22px !important;
	}

	.ppb-button__icon {
		--ppb-icon-size: 50px;
		width: 130px !important;
		min-width: 130px !important;
		height: 130px !important;
		min-height: 130px !important;
		flex: 0 0 130px !important;
	}
}

@media screen and (max-width: 767px), screen and (max-device-width: 767px) {
	.ppb-button {
		width: 100% !important;
		inline-size: 100% !important;
		min-height: 0 !important;
		padding: 10px 12px 10px 28px !important;
		gap: 14px !important;
	}

	/* Samsung Internet can apply a different text zoom than Chrome.
	 * Keep the CTA label in one line and let the pill grow to its
	 * natural content width rather than squeezing its text beside the icon.
	 * The existing responsive width remains the preferred width. */
	.elementor-widget-pauli-project-button .ppb-button {
		min-width: max-content !important;
		min-inline-size: max-content !important;
	}

	.elementor-widget-pauli-project-button .ppb-button__text {
		white-space: nowrap !important;
		flex: 0 0 auto;
		overflow-wrap: normal;
	}

	.ppb-button__icon {
		--ppb-icon-size: 30px;
		width: 72px !important;
		min-width: 72px !important;
		height: 72px !important;
		min-height: 72px !important;
		flex: 0 0 72px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ppb-button,
	.ppb-button__text,
	.ppb-button__icon,
	.ppb-button__icon-glyph,
	.ppb-button__icon i,
	.ppb-button__icon svg {
		transition-duration: 0.01ms !important;
	}
}

/* --------------------------------------------------------------------------
 * Elementor Pro Form - optional Pauli Submit Button styling
 * -------------------------------------------------------------------------- */
.elementor-widget-form.ppb-form-submit-yes {
	--ppb-form-button-width: 100%;
	--ppb-form-button-min-height: 76px;
	--ppb-form-pad-top: 10px;
	--ppb-form-pad-right: 12px;
	--ppb-form-pad-bottom: 10px;
	--ppb-form-pad-left: 28px;
	--ppb-form-gap: 18px;
	--ppb-form-circle-size: 56px;
	--ppb-form-icon-size: 24px;
	--ppb-form-bg: #d2d444;
	--ppb-form-bg-hover: #e2e451;
	--ppb-form-text-color: #0b0b0b;
	--ppb-form-text-hover-color: #0b0b0b;
	--ppb-form-circle-bg: #0b0b0b;
	--ppb-form-circle-bg-hover: #0b0b0b;
	--ppb-form-icon-color: #d2d444;
	--ppb-form-icon-hover-color: #ffffff;
	--ppb-form-transition: 250ms;
	--ppb-form-button-hover-y: -2px;
	--ppb-form-icon-hover-x: 5px;
	--ppb-form-circle-scale: 1;
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons {
	display: flex;
	max-width: 100%;
	min-width: 0;
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] {
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: var(--ppb-form-button-width) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: var(--ppb-form-button-min-height) !important;
	margin: 0 !important;
	padding: var(--ppb-form-pad-top) var(--ppb-form-pad-right) var(--ppb-form-pad-bottom) var(--ppb-form-pad-left) !important;
	overflow: hidden;
	background-color: var(--ppb-form-bg) !important;
	color: var(--ppb-form-text-color) !important;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	transform: translateY(0);
	transition:
		background-color var(--ppb-form-transition) ease,
		border-color var(--ppb-form-transition) ease,
		box-shadow var(--ppb-form-transition) ease,
		color var(--ppb-form-transition) ease,
		transform var(--ppb-form-transition) ease !important;
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] .elementor-button-content-wrapper {
	position: relative;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	gap: var(--ppb-form-gap) !important;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] .elementor-button-text {
	position: relative;
	z-index: 1;
	min-width: 0;
	color: var(--ppb-form-text-color) !important;
	text-align: left;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	transition: color var(--ppb-form-transition) ease;
}

/* The circle is a real CSS shape, not an icon font. */
.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] .elementor-button-content-wrapper::after {
	content: "";
	display: block;
	box-sizing: border-box;
	width: var(--ppb-form-circle-size);
	min-width: var(--ppb-form-circle-size);
	height: var(--ppb-form-circle-size);
	min-height: var(--ppb-form-circle-size);
	flex: 0 0 var(--ppb-form-circle-size);
	border-radius: 50%;
	background-color: var(--ppb-form-circle-bg);
	transform: scale(1);
	transition:
		background-color var(--ppb-form-transition) ease,
		transform var(--ppb-form-transition) ease;
}

/* SVG mask keeps the arrow independent from Android/browser text scaling. */
.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] .elementor-button-content-wrapper::before {
	content: "";
	position: absolute;
	z-index: 2;
	top: 50%;
	right: calc((var(--ppb-form-circle-size) - var(--ppb-form-icon-size)) / 2);
	display: block;
	box-sizing: border-box;
	width: var(--ppb-form-icon-size);
	height: var(--ppb-form-icon-size);
	background-color: var(--ppb-form-icon-color);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7M9 7h8v8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7M9 7h8v8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transform: translateY(-50%) translateX(0);
	transform-origin: center;
	transition:
		background-color var(--ppb-form-transition) ease,
		transform var(--ppb-form-transition) ease;
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:hover,
.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:focus-visible {
	background-color: var(--ppb-form-bg-hover) !important;
	color: var(--ppb-form-text-hover-color) !important;
	transform: translateY(var(--ppb-form-button-hover-y));
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:hover .elementor-button-text,
.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:focus-visible .elementor-button-text {
	color: var(--ppb-form-text-hover-color) !important;
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:hover .elementor-button-content-wrapper::after,
.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:focus-visible .elementor-button-content-wrapper::after {
	background-color: var(--ppb-form-circle-bg-hover);
	transform: scale(var(--ppb-form-circle-scale));
}

.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:hover .elementor-button-content-wrapper::before,
.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"]:focus-visible .elementor-button-content-wrapper::before {
	background-color: var(--ppb-form-icon-hover-color);
	transform: translateY(-50%) translateX(var(--ppb-form-icon-hover-x));
}

@media screen and (max-width: 1024px), screen and (max-device-width: 1024px) {
	.elementor-widget-form.ppb-form-submit-yes {
		--ppb-form-button-min-height: 70px;
		--ppb-form-circle-size: 52px;
		--ppb-form-icon-size: 22px;
	}
}

@media screen and (max-width: 767px), screen and (max-device-width: 767px) {
	.elementor-widget-form.ppb-form-submit-yes {
		--ppb-form-button-min-height: 64px;
		--ppb-form-circle-size: 48px;
		--ppb-form-icon-size: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"],
	.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] .elementor-button-text,
	.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] .elementor-button-content-wrapper::before,
	.elementor-widget-form.ppb-form-submit-yes .e-form__buttons .elementor-button[type="submit"] .elementor-button-content-wrapper::after {
		transition-duration: 0.01ms !important;
	}
}
