/**
 * MMA Promo Popup — THE BEST OF
 * @version 1.0.3
 *
 * Izolowane klasy .mma-promo-popup-* — bez kolizji z modalami panelu / szkolenia / checkout.
 */

.mma-promo-popup {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5vh 16px;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.65);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 220ms ease, visibility 220ms ease;
}

.mma-promo-popup.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mma-promo-popup.is-closing {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.mma-promo-popup__dialog {
	position: relative;
	/* 480px × 1.5 = 720px na desktopie */
	width: min(92vw, 720px);
	max-height: calc(100vh - 10vh);
	overflow: hidden;
	padding: 0 0 18px;
	box-sizing: border-box;
	border: 2px solid #e8c547;
	border-radius: 14px;
	background:
		linear-gradient(165deg, #2a2418 0%, #141210 42%, #1c1810 72%, #0e0c0a 100%);
	box-shadow:
		0 0 0 1px rgba(232, 197, 71, 0.35),
		0 12px 40px rgba(0, 0, 0, 0.45),
		inset 0 1px 0 rgba(255, 230, 150, 0.12);
	transform: translateY(10px);
	opacity: 0.92;
	transition: transform 220ms ease, opacity 220ms ease;
}

.mma-promo-popup.is-open .mma-promo-popup__dialog {
	transform: translateY(0);
	opacity: 1;
}

.mma-promo-popup.is-closing .mma-promo-popup__dialog {
	transform: translateY(6px);
	opacity: 0;
}

.mma-promo-popup__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0;
	border: 1.5px solid rgba(232, 197, 71, 0.9);
	border-radius: 50%;
	background: rgba(14, 12, 10, 0.78);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: #ffe9a8;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow:
		0 2px 10px rgba(0, 0, 0, 0.4),
		inset 0 1px 0 rgba(255, 230, 150, 0.15);
	transition:
		background 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease,
		box-shadow 180ms ease,
		filter 180ms ease;
}

.mma-promo-popup__close svg {
	width: 16px;
	height: 16px;
	display: block;
	pointer-events: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
}

.mma-promo-popup__close:hover,
.mma-promo-popup__close:focus {
	background: linear-gradient(145deg, #ffe08a 0%, #fec009 48%, #e0a800 100%);
	border-color: #fff1b8;
	color: #1a1408;
	transform: scale(1.07);
	box-shadow:
		0 0 0 3px rgba(254, 192, 9, 0.28),
		0 6px 18px rgba(254, 192, 9, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.35);
	filter: saturate(1.05);
	outline: none;
}

.mma-promo-popup__close:focus-visible {
	outline: 2px solid #f5d76a;
	outline-offset: 3px;
}

.mma-promo-popup__close:active {
	transform: scale(0.96);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.mma-promo-popup__media {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 0;
	overflow: hidden;
	border-radius: 12px 12px 0 0;
}

.mma-promo-popup__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	vertical-align: top;
}

.mma-promo-popup__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 36px);
	height: 52px;
	margin: 16px 18px 0;
	padding: 0 16px;
	box-sizing: border-box;
	border: 0;
	border-radius: var(--mma-btn-radius-rounded, 8px);
	background: var(--mma-yellow, #fec009);
	color: var(--mma-black, #1a1a1a);
	font-family: var(--mma-font-heading, 'Oswald', sans-serif);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
	transition: background var(--mma-transition-fast, 150ms ease), transform 150ms ease;
}

.mma-promo-popup__cta:hover,
.mma-promo-popup__cta:focus {
	background: var(--mma-yellow-hover, #d4a005);
	color: var(--mma-black, #1a1a1a);
	outline: none;
	transform: translateY(-1px);
}

body.mma-promo-popup-open {
	overflow: hidden;
}

@media (max-width: 782px) {
	.mma-promo-popup {
		padding: 5vh 4vw;
		align-items: flex-start;
		padding-top: max(5vh, 16px);
		padding-bottom: max(5vh, 16px);
	}

	.mma-promo-popup__dialog {
		width: 92vw;
		max-height: 90vh;
		margin: auto;
		border-radius: 12px;
	}

	.mma-promo-popup__media {
		border-radius: 10px 10px 0 0;
	}

	.mma-promo-popup__cta {
		height: 48px;
		font-size: 16px;
		width: calc(100% - 28px);
		margin: 14px 14px 0;
	}

	.mma-promo-popup__close {
		top: 8px;
		right: 8px;
		width: 32px;
		height: 32px;
		border-width: 1.5px;
	}

	.mma-promo-popup__close svg {
		width: 15px;
		height: 15px;
		stroke-width: 2.75;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mma-promo-popup,
	.mma-promo-popup__dialog,
	.mma-promo-popup__close,
	.mma-promo-popup__cta {
		transition: none;
	}

	.mma-promo-popup__dialog {
		transform: none;
		opacity: 1;
	}

	.mma-promo-popup__close:hover,
	.mma-promo-popup__close:focus,
	.mma-promo-popup__cta:hover,
	.mma-promo-popup__cta:focus {
		transform: none;
	}
}
