.makeo-eco-popup-root {
	font: inherit;
}

.makeo-eco-popup-trigger {
	margin: 1rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: currentColor;
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	cursor: pointer;
}

.makeo-eco-popup-trigger:hover {
	text-decoration-thickness: 0.14em;
}

.makeo-eco-popup-trigger:focus-visible,
.makeo-eco-popup__close:focus-visible,
.makeo-eco-popup__content a:focus-visible,
.makeo-eco-popup__content button:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.makeo-eco-popup {
	width: min(88rem, calc(100% - 2rem));
	max-width: none;
	max-height: calc(100dvh - 2rem);
	margin: auto;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 16px;
	background: Canvas;
	color: CanvasText;
	overflow: hidden;
}

.makeo-eco-popup::backdrop {
	background: rgb(0 0 0 / 65%);
}

.makeo-eco-popup__panel {
	display: flex;
	max-height: calc(100dvh - 2rem);
	flex-direction: column;
}

.makeo-eco-popup__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 2.5rem 2.5rem 0;
}

.makeo-eco-popup__title {
	margin: 0;
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.2;
}

.makeo-eco-popup__close {
	display: grid;
	min-width: 2.75rem;
	min-height: 2.75rem;
	flex: 0 0 auto;
	place-items: center;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 0.25rem;
	background: transparent;
	color: currentColor;
	font: inherit;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.makeo-eco-popup__content {
	padding: 2.5rem 2.5rem;
	overflow: auto;
	overscroll-behavior: contain;
}

.makeo-eco-popup__content > :first-child {
	margin-top: 0;
}

.makeo-eco-popup__content > :last-child {
	margin-bottom: 0;
}

.makeo-eco-popup__content img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 37.5rem) {
	.makeo-eco-popup {
		width: calc(100% - 1rem);
		max-height: calc(100dvh - 1rem);
	}

	.makeo-eco-popup__panel {
		max-height: calc(100dvh - 1rem);
	}

	.makeo-eco-popup__header,
	.makeo-eco-popup__content {
		padding-inline: 1rem;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.makeo-eco-popup[open] {
		animation: makeo-eco-popup-appear 160ms ease-out;
	}

	@keyframes makeo-eco-popup-appear {
		from {
			opacity: 0;
			transform: translateY(0.5rem);
		}
	}
}

@media (forced-colors: active) {
	.makeo-eco-popup::backdrop {
		background: Canvas;
		opacity: 0.75;
	}
}
