body.jepa-popup-is-open {
	overflow: hidden;
	overscroll-behavior: none;
}

.jepa-popup-modal[hidden] {
	display: none;
}

.jepa-popup-trigger-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	max-width: 100%;
	min-height: 44px;
	padding: 0.85rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: #db6a29;
	color: #ffffff;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	cursor: pointer;
	transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
	box-shadow: 0 12px 24px rgba( 17, 24, 39, 0.12 );
}

.jepa-popup-trigger-button:hover,
.jepa-popup-trigger-button:focus-visible {
	background: #c95f24;
	transform: translateY( -1px );
	box-shadow: 0 16px 28px rgba( 17, 24, 39, 0.18 );
}

.jepa-popup-trigger-button:focus-visible {
	outline: 2px solid #1d2327;
	outline-offset: 3px;
}

.jepa-popup-trigger-link {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: 44px;
	padding: 8px 0;
	border: 0;
	background: transparent;
	color: #db6a29;
	font: inherit;
	font-weight: 600;
	text-align: left;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
	cursor: pointer;
}

.jepa-popup-trigger-link:hover,
.jepa-popup-trigger-link:focus-visible {
	color: #c95f24;
}

.jepa-popup-trigger-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.jepa-popup-trigger-button--image {
	padding: 0;
	border: 0;
	border-radius: 18px;
	background: transparent;
	box-shadow: none;
}

.jepa-popup-trigger-button--image:hover,
.jepa-popup-trigger-button--image:focus-visible {
	background: transparent;
	box-shadow: none;
	transform: translateY( -1px );
}

.jepa-popup-trigger-button__image {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: inherit;
}

.jepa-popup-modal {
	--jepa-popup-bg: rgba( 219, 106, 41, 0.85 );
	--jepa-popup-text: #ffffff;
	--jepa-popup-close-size: 38px;
	--jepa-popup-close-icon-size: 43px;
	--jepa-popup-close-radius: 999px;
	--jepa-popup-close-border-width: 1px;
	--jepa-popup-close-color: #ffffff;
	--jepa-popup-close-bg: rgba( 255, 255, 255, 0 );
	--jepa-popup-close-border-color: #ffffff;
	--jepa-popup-close-hover-color: #ffffff;
	--jepa-popup-close-hover-bg: rgba( 255, 255, 255, 0.14 );
	--jepa-popup-close-hover-border-color: #ffffff;
	--jepa-popup-close-hover-scale: 1.02;
	--jepa-popup-radius: 24px;
	--jepa-popup-border-width: 0px;
	--jepa-popup-border-color: transparent;
	--jepa-popup-max-width: 640px;
	--jepa-popup-shell-padding: 24px;
	--jepa-popup-offset-x: 0px;
	--jepa-popup-offset-y: 0px;
	--jepa-popup-effective-offset-x: var( --jepa-popup-offset-x );
	--jepa-popup-effective-offset-y: var( --jepa-popup-offset-y );
	--jepa-popup-padding: 12px;
	--jepa-popup-effective-padding: var( --jepa-popup-padding );
	--jepa-popup-overlay: rgba( 0, 0, 0, 0.55 );
	--jepa-popup-enter-x: 0px;
	--jepa-popup-enter-y: 10px;
	position: fixed;
	inset: 0;
	min-height: 100vh;
	min-height: 100dvh;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: max( var( --jepa-popup-shell-padding ), env( safe-area-inset-top ) );
	padding-right: max( var( --jepa-popup-shell-padding ), env( safe-area-inset-right ) );
	padding-bottom: max( var( --jepa-popup-shell-padding ), env( safe-area-inset-bottom ) );
	padding-left: max( var( --jepa-popup-shell-padding ), env( safe-area-inset-left ) );
	opacity: 0;
	pointer-events: none;
	overscroll-behavior: contain;
	transition: opacity 0.18s ease;
}

.jepa-popup-modal.is-active {
	opacity: 1;
	pointer-events: auto;
}

.jepa-popup-modal__overlay {
	position: absolute;
	inset: 0;
	background: var( --jepa-popup-overlay );
}

.jepa-popup-modal[data-jepa-popup-overlay-enabled="0"] .jepa-popup-modal__overlay {
	display: none;
}

.jepa-popup-modal[data-jepa-popup-position="top_left"] {
	align-items: flex-start;
	justify-content: flex-start;
	--jepa-popup-enter-x: -16px;
	--jepa-popup-enter-y: -16px;
}

.jepa-popup-modal[data-jepa-popup-position="top_center"] {
	align-items: flex-start;
	justify-content: center;
	--jepa-popup-enter-x: 0px;
	--jepa-popup-enter-y: -16px;
}

.jepa-popup-modal[data-jepa-popup-position="top_right"] {
	align-items: flex-start;
	justify-content: flex-end;
	--jepa-popup-enter-x: 16px;
	--jepa-popup-enter-y: -16px;
}

.jepa-popup-modal[data-jepa-popup-position="center_left"] {
	align-items: center;
	justify-content: flex-start;
	--jepa-popup-enter-x: -16px;
	--jepa-popup-enter-y: 0px;
}

.jepa-popup-modal[data-jepa-popup-position="center"] {
	align-items: center;
	justify-content: center;
	--jepa-popup-enter-x: 0px;
	--jepa-popup-enter-y: 10px;
}

.jepa-popup-modal[data-jepa-popup-position="center_right"] {
	align-items: center;
	justify-content: flex-end;
	--jepa-popup-enter-x: 16px;
	--jepa-popup-enter-y: 0px;
}

.jepa-popup-modal[data-jepa-popup-position="bottom_left"] {
	align-items: flex-end;
	justify-content: flex-start;
	--jepa-popup-enter-x: -16px;
	--jepa-popup-enter-y: 16px;
}

.jepa-popup-modal[data-jepa-popup-position="bottom_center"] {
	align-items: flex-end;
	justify-content: center;
	--jepa-popup-enter-x: 0px;
	--jepa-popup-enter-y: 16px;
}

.jepa-popup-modal[data-jepa-popup-position="bottom_right"] {
	align-items: flex-end;
	justify-content: flex-end;
	--jepa-popup-enter-x: 16px;
	--jepa-popup-enter-y: 16px;
}

@media (max-width: 781px) {
	[data-jepa-popup-display-device="desktop_only"] {
		display: none !important;
	}
}

@media (min-width: 782px) {
	[data-jepa-popup-display-device="mobile_only"] {
		display: none !important;
	}
}

.jepa-popup-modal__dialog {
	position: relative;
	z-index: 1;
	width: min( 100%, var( --jepa-popup-max-width ) );
	max-width: calc( 100vw - env( safe-area-inset-left ) - env( safe-area-inset-right ) - ( var( --jepa-popup-shell-padding ) * 2 ) );
	max-height: min( 85vh, 960px );
	max-height: min( 88dvh, 960px );
	padding-top: max( var( --jepa-popup-effective-padding ));
	padding-right: max( var( --jepa-popup-effective-padding ));
	padding-bottom: var( --jepa-popup-effective-padding );
	padding-left: var( --jepa-popup-effective-padding );
	border: var( --jepa-popup-border-width ) solid var( --jepa-popup-border-color );
	border-radius: var( --jepa-popup-radius );
	background: var( --jepa-popup-bg );
	color: var( --jepa-popup-text );
	overflow: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable both-edges;
	box-shadow: 0 28px 80px rgba( 17, 24, 39, 0.3 );
	font-size: clamp( 1rem, 0.98rem + 0.2vw, 1.0625rem );
	line-height: 1.6;
	transform: translate(
		calc( var( --jepa-popup-effective-offset-x ) + var( --jepa-popup-enter-x ) ),
		calc( var( --jepa-popup-effective-offset-y ) + var( --jepa-popup-enter-y ) )
	);
	transition: transform 0.18s ease;
}

.jepa-popup-modal.is-active .jepa-popup-modal__dialog {
	transform: translate( var( --jepa-popup-effective-offset-x ), var( --jepa-popup-effective-offset-y ) );
}

.jepa-popup-modal__dialog :where( p, li, h1, h2, h3, h4, h5, h6, a, strong, em, span ) {
	color: inherit;
}

.jepa-popup-modal__dialog a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.jepa-popup-modal__title {
	margin: 0 calc( max( 44px, var( --jepa-popup-close-size ) ) + 16px ) 18px 0;
	font-size: clamp( 1.45rem, 2vw, 2rem );
	line-height: 1.15;
	text-wrap: balance;
}

.jepa-popup-modal__content > :first-child {
	margin-top: 0;
}

.jepa-popup-modal__content > :last-child {
	margin-bottom: 0;
}

.jepa-popup-modal__content {
	overflow-wrap: anywhere;
	word-break: normal;
}

.jepa-popup-modal__content :where( img, video, canvas, svg ) {
	display: block;
	max-width: 100%;
	height: auto;
}

.jepa-popup-modal__content :where( iframe ) {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
}

.jepa-popup-modal__content :where( table ) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.jepa-popup-modal__content :where( input, select, textarea, button ) {
	max-width: 100%;
}

.jepa-popup-modal__content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}

.jepa-popup-modal__close {
	position: absolute;
	top: clamp( 10px, 2.2vw, 14px );
	right: clamp( 10px, 2.2vw, 14px );
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max( 44px, var( --jepa-popup-close-size ) );
	height: max( 44px, var( --jepa-popup-close-size ) );
	padding: 0;
	border: var( --jepa-popup-close-border-width ) solid var( --jepa-popup-close-border-color );
	border-radius: var( --jepa-popup-close-radius );
	background: var( --jepa-popup-close-bg );
	color: var( --jepa-popup-close-color );
	font-size: 22px;
	line-height: 1;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	cursor: pointer;
	transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.jepa-popup-modal__close span {
	display: block;
	font-size: var( --jepa-popup-close-icon-size );
	line-height: 0.72;
	pointer-events: none;
	transform: translateY( -2.7px );
}

.jepa-popup-modal__close:hover,
.jepa-popup-modal__close:focus-visible {
	background: var( --jepa-popup-close-hover-bg );
	color: var( --jepa-popup-close-hover-color );
	border-color: var( --jepa-popup-close-hover-border-color );
	transform: scale( var( --jepa-popup-close-hover-scale ) );
}

.jepa-popup-modal__close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 781px) {
	.jepa-popup-modal {
		--jepa-popup-shell-padding: 14px;
		--jepa-popup-effective-padding: min( var( --jepa-popup-padding ), 20px );
		--jepa-popup-effective-offset-x: clamp( -24px, var( --jepa-popup-offset-x ), 24px );
		--jepa-popup-effective-offset-y: clamp( -32px, var( --jepa-popup-offset-y ), 32px );
	}

	.jepa-popup-modal__dialog {
		max-height: calc( 100dvh - env( safe-area-inset-top ) - env( safe-area-inset-bottom ) - ( var( --jepa-popup-shell-padding ) * 2 ) );
		box-shadow: 0 18px 48px rgba( 17, 24, 39, 0.22 );
	}

	.jepa-popup-modal__title {
		margin-bottom: 14px;
		font-size: clamp( 1.25rem, 5.5vw, 1.7rem );
	}

	.jepa-popup-modal__content .wp-block-buttons {
		align-items: stretch;
	}

	.jepa-popup-modal__content .wp-block-button {
		width: 100%;
	}

	.jepa-popup-modal__content .wp-block-button__link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jepa-popup-trigger-button,
	.jepa-popup-modal,
	.jepa-popup-modal__dialog,
	.jepa-popup-modal__close {
		transition: none;
	}
}
