/* Popup Builder Pro — frontend */

.pbp-popup {
	position: fixed;
	inset: 0;
	display: flex;
	z-index: 999999;
	padding: 24px;
	box-sizing: border-box;
	pointer-events: none;
}
.pbp-popup.pbp-is-open { pointer-events: auto; }

.pbp-popup__overlay {
	position: fixed;
	inset: 0;
	background: #0f1222;
	opacity: 0.6;
	z-index: -1;
}

.pbp-popup__inner {
	position: relative;
	width: 100%;
	background: #fff;
	box-shadow: 0 24px 60px rgba(15, 18, 34, 0.28);
	padding: 32px;
	box-sizing: border-box;
	max-height: calc(100vh - 48px);
	overflow-y: auto;
}

.pbp-popup__content { font-size: 15px; line-height: 1.6; }
.pbp-popup__content p:first-child { margin-top: 0; }
.pbp-popup__content p:last-child { margin-bottom: 0; }
.pbp-popup__content img { max-width: 100%; height: auto; }

.pbp-popup__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	background: rgba(0,0,0,0.06);
	color: inherit;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pbp-popup__close:hover { background: rgba(0,0,0,0.12); }

/* ---------- Positions ---------- */
.pbp-pos-center        { align-items: center; justify-content: center; }
.pbp-pos-top-left      { align-items: flex-start; justify-content: flex-start; }
.pbp-pos-top-center    { align-items: flex-start; justify-content: center; }
.pbp-pos-top-right     { align-items: flex-start; justify-content: flex-end; }
.pbp-pos-center-left   { align-items: center; justify-content: flex-start; }
.pbp-pos-center-right  { align-items: center; justify-content: flex-end; }
.pbp-pos-bottom-left   { align-items: flex-end; justify-content: flex-start; }
.pbp-pos-bottom-center { align-items: flex-end; justify-content: center; }
.pbp-pos-bottom-right  { align-items: flex-end; justify-content: flex-end; }

/* Corner/edge popups read better as compact "toast" style cards. */
.pbp-pos-top-left .pbp-popup__inner,
.pbp-pos-top-right .pbp-popup__inner,
.pbp-pos-bottom-left .pbp-popup__inner,
.pbp-pos-bottom-right .pbp-popup__inner,
.pbp-pos-center-left .pbp-popup__inner,
.pbp-pos-center-right .pbp-popup__inner {
	max-width: 380px !important;
}

/* ---------- Animations ---------- */
.pbp-popup__inner { opacity: 0; }
.pbp-popup.pbp-is-open .pbp-popup__inner { opacity: 1; }

.pbp-anim-fade .pbp-popup__inner { transition: opacity .28s ease; }

.pbp-anim-zoom .pbp-popup__inner { transform: scale(.9); transition: opacity .28s ease, transform .28s cubic-bezier(.2,.8,.2,1); }
.pbp-anim-zoom.pbp-is-open .pbp-popup__inner { transform: scale(1); }

.pbp-anim-slide-up .pbp-popup__inner { transform: translateY(30px); transition: opacity .3s ease, transform .3s cubic-bezier(.2,.8,.2,1); }
.pbp-anim-slide-up.pbp-is-open .pbp-popup__inner { transform: translateY(0); }

.pbp-anim-slide-down .pbp-popup__inner { transform: translateY(-30px); transition: opacity .3s ease, transform .3s cubic-bezier(.2,.8,.2,1); }
.pbp-anim-slide-down.pbp-is-open .pbp-popup__inner { transform: translateY(0); }

.pbp-popup__overlay { transition: opacity .28s ease; opacity: 0; }
.pbp-popup.pbp-is-open .pbp-popup__overlay { opacity: var(--pbp-overlay-opacity, 0.6); }

@media (max-width: 600px) {
	.pbp-popup { padding: 14px; }
	.pbp-popup__inner { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.pbp-popup__inner, .pbp-popup__overlay { transition: none !important; transform: none !important; }
}
