/*
 * Block: Popup
 *
 * @package CBTFlow
 */

/* ============================================
   Dialog reset & backdrop
   ============================================ */

dialog.popup {
	border: none;
	padding: 0;
	background: transparent;
	max-width: 100%;
	max-height: 100%;
	overflow: visible;
}

dialog.popup::backdrop {
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

/* ============================================
   Sizes
   ============================================ */

.popup--small .popup__inner { max-width: 480px; }
.popup--medium .popup__inner { max-width: 640px; }
.popup--large .popup__inner { max-width: 800px; }

/* ============================================
   Inner container
   ============================================ */

.popup__inner {
	position: relative;
	background: var(--white, #fff);
	border-radius: var(--radius-l, 12px);
	padding: var(--space-l, 2rem);
	width: 90vw;
	max-height: 85vh;
	overflow-y: auto;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* ============================================
   Close button
   ============================================ */

.popup__close {
	position: absolute;
	top: var(--space-s, 0.75rem);
	right: var(--space-s, 0.75rem);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--text-light, #666);
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
	z-index: 1;
}

.popup__close:hover {
	background: var(--bg-light, #f3f3f3);
	color: var(--text, #111);
}

/* ============================================
   Body
   ============================================ */

.popup__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-m, 1.5rem);
}

.popup__body .heading-group {
	padding-right: 2rem;
}

/* ============================================
   Animation
   ============================================ */

dialog.popup[open] {
	animation: popup-in 0.25s ease-out;
}

@keyframes popup-in {
	from {
		opacity: 0;
		transform: translateY(1rem) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}
