
/* ============================================================
   Showreel modal
   ============================================================ */
.showreel-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 4vw, 56px);
}

.showreel-modal[aria-hidden="false"] {
	display: flex;
}

.showreel-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(30, 18, 12, 0.74);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	animation: showreelFade 0.3s ease both;
	cursor: pointer;
}

.showreel-modal__dialog {
	position: relative;
	width: min(1180px, 100%);
	animation: showreelIn 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.showreel-modal__frame {
	position: relative;
	width: 100%;
	height: min(86vh, 820px);
	border-radius: 16px;
	overflow: hidden;
	background: #000;
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.55);
}

.showreel-modal__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.showreel-modal__close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 999px;
	background: var(--cream);
	color: var(--ink);
	display: grid;
	place-items: center;
	cursor: pointer;
	z-index: 2;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
	transition: transform 0.25s ease, background 0.25s ease;
}

.showreel-modal__close:hover {
	transform: scale(1.08) rotate(90deg);
	background: #fff;
}

.showreel-modal__close svg {
	width: 20px;
	height: 20px;
}

body.showreel-open {
	overflow: hidden;
}

@keyframes showreelFade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes showreelIn {
	from { opacity: 0; transform: translateY(20px) scale(0.98); }
	to { opacity: 1; transform: none; }
}

@media (max-width: 640px) {
	.showreel-modal {
		padding: 0;
	}

	.showreel-modal__frame {
		height: 100vh;
		height: 100dvh;
		border-radius: 0;
	}

	.showreel-modal__close {
		top: 12px;
		right: 12px;
	}
}
