.ps-popup-root { position: fixed; inset: 0; z-index: 999999; display: none; pointer-events: none; }
.ps-popup-root.ps-visible { display: block; }

.ps-overlay {
	position: fixed; inset: 0; pointer-events: auto;
}

.ps-popup {
	position: fixed;
	pointer-events: auto;
	box-shadow: 0 10px 40px rgba(0,0,0,0.25);
	padding: 32px;
	box-sizing: border-box;
	max-width: 95vw;
	max-height: 90vh;
	overflow: auto;
}

/* Positions */
.ps-pos-center { top: 50%; left: 50%; transform: translate(-50%, -50%); }
.ps-pos-fullscreen { inset: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-radius: 0 !important; }
.ps-pos-top_bar { top: 0; left: 0; right: 0; width: 100%; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 14px 20px; border-radius: 0 !important; text-align: center; }
.ps-pos-bottom_bar { bottom: 0; left: 0; right: 0; width: 100%; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 14px 20px; border-radius: 0 !important; text-align: center; }
.ps-pos-bottom_left { bottom: 20px; left: 20px; }
.ps-pos-bottom_right { bottom: 20px; right: 20px; }
.ps-pos-left_slide { top: 50%; left: 20px; transform: translateY(-50%); }
.ps-pos-right_slide { top: 50%; right: 20px; transform: translateY(-50%); }

/* Sizes */
.ps-size-small { width: 320px; }
.ps-size-medium { width: 480px; }
.ps-size-large { width: 720px; }
.ps-size-full { width: 100%; }

/* Elements */
.ps-close {
	position: absolute; top: 10px; right: 14px;
	background: transparent; border: none; font-size: 24px; line-height: 1;
	cursor: pointer; color: inherit; opacity: 0.6;
}
.ps-close:hover { opacity: 1; }
.ps-pos-top_bar .ps-close, .ps-pos-bottom_bar .ps-close { position: static; margin-left: 12px; }

.ps-image { max-width: 100%; height: auto; display: block; margin: 0 auto 16px; border-radius: 6px; }
.ps-headline { margin: 0 0 8px; font-size: 24px; font-weight: 700; }
.ps-pos-top_bar .ps-headline, .ps-pos-bottom_bar .ps-headline { font-size: 15px; margin: 0; display: inline; }
.ps-subheadline { margin: 0 0 16px; font-size: 15px; opacity: 0.85; }
.ps-pos-top_bar .ps-subheadline, .ps-pos-bottom_bar .ps-subheadline { display: none; }
.ps-body { margin-bottom: 16px; }

.ps-video-wrap { position: relative; padding-bottom: 56.25%; height: 0; }
.ps-video-wrap iframe { position: absolute; top:0; left:0; width:100%; height:100%; border:0; }

.ps-cta-btn, .ps-submit-btn {
	display: inline-block; border: none; padding: 12px 22px; font-size: 15px; font-weight: 600;
	border-radius: 6px; cursor: pointer;
}
.ps-cta-btn:hover, .ps-submit-btn:hover { filter: brightness(0.92); }

.ps-email-form { display: flex; gap: 8px; flex-wrap: wrap; }
.ps-email-input { flex: 1 1 200px; padding: 12px; border: 1px solid rgba(0,0,0,0.2); border-radius: 6px; font-size: 15px; }
.ps-form-msg { width: 100%; font-size: 13px; margin-top: 6px; }
.ps-form-msg.success { color: #16a34a; }
.ps-form-msg.error { color: #dc2626; }

.ps-countdown { display: flex; gap: 14px; margin-bottom: 16px; }
.ps-cd-block { text-align: center; }
.ps-cd-num { display: block; font-size: 26px; font-weight: 700; }
.ps-cd-label { font-size: 11px; text-transform: uppercase; opacity: 0.7; }

/* Animations */
@keyframes ps-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ps-zoom { from { opacity: 0; transform: translate(-50%,-50%) scale(0.85); } to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }
@keyframes ps-slide-up { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ps-slide-down { from { opacity: 0; transform: translateY(-40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ps-bounce { 0% { opacity:0; transform: translate(-50%,-50%) scale(0.7);} 60% { opacity:1; transform: translate(-50%,-50%) scale(1.05);} 100% { transform: translate(-50%,-50%) scale(1);} }

.ps-anim-fade { animation: ps-fade 0.35s ease both; }
.ps-anim-zoom.ps-pos-center { animation: ps-zoom 0.35s ease both; }
.ps-anim-zoom:not(.ps-pos-center) { animation: ps-fade 0.35s ease both; }
.ps-anim-slide_up { animation: ps-slide-up 0.4s ease both; }
.ps-anim-slide_down { animation: ps-slide-down 0.4s ease both; }
.ps-anim-bounce.ps-pos-center { animation: ps-bounce 0.5s ease both; }
.ps-anim-bounce:not(.ps-pos-center) { animation: ps-slide-up 0.4s ease both; }
.ps-anim-none { animation: none; }

@media (max-width: 600px) {
	.ps-popup { padding: 22px; }
	.ps-size-small, .ps-size-medium, .ps-size-large { width: 92vw; }
	.ps-pos-bottom_left, .ps-pos-bottom_right { left: 4vw; right: 4vw; bottom: 12px; width: 92vw; }
	.ps-pos-left_slide, .ps-pos-right_slide { left: 4vw; right: 4vw; width: 92vw; transform: translateY(-50%); }
}
