.vv-popup[hidden] {
	display: none !important;
}

.vv-popup {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 20px;
	position: fixed;
	z-index: 100000;
}

.vv-popup__backdrop {
	background: rgba(29, 23, 27, 0.72);
	border: 0;
	cursor: default;
	inset: 0;
	padding: 0;
	position: absolute;
	width: 100%;
}

.vv-popup__panel {
	background: #fffdf8;
	border-radius: 22px;
	box-shadow: 0 24px 80px rgba(34, 24, 30, 0.28);
	color: #30292d;
	max-height: min(86vh, 900px);
	max-width: 760px;
	overflow: auto;
	padding: clamp(28px, 5vw, 52px);
	position: relative;
	width: 100%;
	z-index: 1;
}

.vv-popup__close {
	align-items: center;
	background: #f3ede4;
	border: 0;
	border-radius: 50%;
	color: #6b2a58;
	cursor: pointer;
	display: flex;
	font: 700 28px/1 Arial, sans-serif;
	height: 42px;
	justify-content: center;
	padding: 0 0 3px;
	position: absolute;
	right: 14px;
	top: 14px;
	width: 42px;
}

.vv-popup__close:hover,
.vv-popup__close:focus-visible {
	background: #6b2a58;
	color: #fff;
	outline: 3px solid rgba(156, 172, 62, 0.5);
}

.vv-popup__title,
.vv-popup__content h1,
.vv-popup__content h2,
.vv-popup__content h3 {
	color: #6b2a58;
	font-family: "Philosopher", Georgia, serif;
}

.vv-popup__title {
	font-size: clamp(2rem, 5vw, 3.35rem);
	line-height: 1.05;
	margin: 0 48px 22px 0;
}

.vv-popup__content {
	font-family: "Poppins", system-ui, sans-serif;
	line-height: 1.65;
}

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

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

body.vv-popup-open {
	overflow: hidden;
}

@media (max-width: 600px) {
	.vv-popup {
		align-items: flex-end;
		padding: 10px;
	}

	.vv-popup__panel {
		border-radius: 20px 20px 12px 12px;
		max-height: 90vh;
		padding: 34px 22px 28px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.vv-popup:not([hidden]) .vv-popup__panel {
		animation: vv-popup-enter 180ms ease-out;
	}

	@keyframes vv-popup-enter {
		from {
			opacity: 0;
			transform: translateY(12px) scale(0.985);
		}

		to {
			opacity: 1;
			transform: translateY(0) scale(1);
		}
	}
}
