/* FrontBlocks Popups */

.frbl-popup-wrapper {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.frbl-popup-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.frbl-popup-wrapper--visible .frbl-popup-overlay {
	opacity: 1;
}

.frbl-popup {
	position: relative;
	z-index: 1;
	border-radius: 8px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	overflow-x: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

/* Animations */
.frbl-popup--fade {
	opacity: 0;
	transition: opacity 0.3s ease;
}
.frbl-popup-wrapper--visible .frbl-popup--fade {
	opacity: 1;
}
.frbl-popup-wrapper--closing .frbl-popup--fade {
	opacity: 0;
}

.frbl-popup--slide_up {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.frbl-popup-wrapper--visible .frbl-popup--slide_up {
	opacity: 1;
	transform: translateY(0);
}
.frbl-popup-wrapper--closing .frbl-popup--slide_up {
	opacity: 0;
	transform: translateY(40px);
}

.frbl-popup--zoom {
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.frbl-popup-wrapper--visible .frbl-popup--zoom {
	opacity: 1;
	transform: scale(1);
}
.frbl-popup-wrapper--closing .frbl-popup--zoom {
	opacity: 0;
	transform: scale(0.85);
}

.frbl-popup--none {
	transition: none;
}

/* Close button */
.frbl-popup-close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	opacity: 0.8;
	transition: opacity 0.2s;
}

.frbl-popup-close:hover {
	opacity: 1;
}

/* Content */
.frbl-popup-content {
	padding: 0;
}

.frbl-popup-content > *:first-child { margin-top: 0; }
.frbl-popup-content > *:last-child  { margin-bottom: 0; }
