/* ==========================================================================
   MXPGAMING V14 — Mobile Legal Whitebox Authority
   --------------------------------------------------------------------------
   Scope: only Download Gate legal whiteboxes opened from RAINX DEMO,
   RAINX PRO, and MIXFAST. Loaded last on RAINX/MIXFAST pages.
   Purpose: final, predictable mobile behavior without touching gate logic.
   ========================================================================== */

@media (max-width: 768px), (max-height: 620px) {
	body.mxp-page-rainx .rainx-term-whitebox,
	body.mxp-page-mixfast .rainx-term-whitebox {
		position: fixed !important;
		inset: 0 !important;
		z-index: 2147483000 !important;
		display: grid !important;
		place-items: stretch !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		min-height: 100svh !important;
		margin: 0 !important;
		padding:
			max(10px, env(safe-area-inset-top, 0px))
			max(10px, env(safe-area-inset-right, 0px))
			max(10px, env(safe-area-inset-bottom, 0px))
			max(10px, env(safe-area-inset-left, 0px)) !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox[hidden],
	body.mxp-page-mixfast .rainx-term-whitebox[hidden] {
		display: none !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-backdrop,
	body.mxp-page-mixfast .rainx-term-whitebox-backdrop {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		background: rgba(0, 0, 0, .74) !important;
		backdrop-filter: blur(10px) saturate(1.05) !important;
		-webkit-backdrop-filter: blur(10px) saturate(1.05) !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-card,
	body.mxp-page-mixfast .rainx-term-whitebox-card {
		position: relative !important;
		z-index: 2 !important;
		display: grid !important;
		grid-template-rows: auto minmax(0, 1fr) auto !important;
		width: 100% !important;
		max-width: 920px !important;
		height: 100% !important;
		max-height: 100% !important;
		margin: 0 auto !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		background: #f6f2e9 !important;
		color: #292532 !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-head,
	body.mxp-page-mixfast .rainx-term-whitebox-head {
		position: relative !important;
		z-index: 3 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 44px !important;
		grid-template-areas:
			"kicker close"
			"title close" !important;
		align-items: center !important;
		gap: 4px 12px !important;
		min-height: 72px !important;
		padding: 14px 14px 12px 16px !important;
		border-bottom: 1px solid rgba(41, 37, 50, .14) !important;
		background: linear-gradient(180deg, #fffaf0 0%, #f2eadb 100%) !important;
		box-sizing: border-box !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-kicker,
	body.mxp-page-mixfast .rainx-term-whitebox-kicker {
		grid-area: kicker !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		font-size: 10px !important;
		line-height: 1.15 !important;
		letter-spacing: .09em !important;
		text-transform: uppercase !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		color: #8a5f12 !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-title,
	body.mxp-page-mixfast .rainx-term-whitebox-title {
		grid-area: title !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		font-size: clamp(16px, 4.8vw, 22px) !important;
		line-height: 1.12 !important;
		letter-spacing: .045em !important;
		text-transform: uppercase !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		color: #211c2a !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-close,
	body.mxp-page-mixfast .rainx-term-whitebox-close {
		grid-area: close !important;
		align-self: start !important;
		justify-self: end !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 0 !important;
		border: 1px solid rgba(41, 37, 50, .22) !important;
		background: #fffdf7 !important;
		color: #211c2a !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		font-size: 28px !important;
		line-height: 1 !important;
		box-sizing: border-box !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-body,
	body.mxp-page-mixfast .rainx-term-whitebox-body {
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		padding: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		scrollbar-gutter: stable both-edges !important;
		background: linear-gradient(180deg, #f6f2e9 0%, #eee7db 100%) !important;
		box-sizing: border-box !important;
	}

	body.mxp-page-rainx .rainx-term-document,
	body.mxp-page-mixfast .rainx-term-document {
		width: 100% !important;
		max-width: 860px !important;
		margin: 0 auto !important;
		padding: clamp(18px, 4.5vw, 34px) clamp(15px, 4.2vw, 30px) clamp(28px, 7vw, 48px) !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
		color: #292532 !important;
	}

	body.mxp-page-rainx .rainx-term-document *,
	body.mxp-page-mixfast .rainx-term-document * {
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	body.mxp-page-rainx .rainx-term-document h1,
	body.mxp-page-rainx .rainx-term-document h2,
	body.mxp-page-rainx .rainx-term-document h3,
	body.mxp-page-rainx .rainx-term-document h4,
	body.mxp-page-mixfast .rainx-term-document h1,
	body.mxp-page-mixfast .rainx-term-document h2,
	body.mxp-page-mixfast .rainx-term-document h3,
	body.mxp-page-mixfast .rainx-term-document h4 {
		white-space: normal !important;
		line-height: 1.2 !important;
		overflow-wrap: anywhere !important;
	}

	body.mxp-page-rainx .rainx-term-document p,
	body.mxp-page-rainx .rainx-term-document li,
	body.mxp-page-mixfast .rainx-term-document p,
	body.mxp-page-mixfast .rainx-term-document li {
		font-size: clamp(14px, 3.75vw, 16px) !important;
		line-height: 1.62 !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-footer,
	body.mxp-page-mixfast .rainx-term-whitebox-footer {
		position: relative !important;
		z-index: 3 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: stretch !important;
		padding: 12px 14px max(12px, env(safe-area-inset-bottom, 0px)) !important;
		border-top: 1px solid rgba(41, 37, 50, .14) !important;
		background: linear-gradient(180deg, #f2eadb 0%, #fffaf0 100%) !important;
		box-sizing: border-box !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-back,
	body.mxp-page-mixfast .rainx-term-whitebox-back {
		width: 100% !important;
		min-height: 46px !important;
		border-radius: 0 !important;
		white-space: normal !important;
		line-height: 1.2 !important;
		overflow-wrap: anywhere !important;
	}
}

@media (max-width: 360px) {
	body.mxp-page-rainx .rainx-term-whitebox,
	body.mxp-page-mixfast .rainx-term-whitebox {
		padding: 6px !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-head,
	body.mxp-page-mixfast .rainx-term-whitebox-head {
		min-height: 68px !important;
		padding-left: 12px !important;
		padding-right: 10px !important;
		gap: 3px 8px !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-close,
	body.mxp-page-mixfast .rainx-term-whitebox-close {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
	}
}

@media (max-height: 520px) and (orientation: landscape) {
	body.mxp-page-rainx .rainx-term-whitebox,
	body.mxp-page-mixfast .rainx-term-whitebox {
		padding: 6px !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-card,
	body.mxp-page-mixfast .rainx-term-whitebox-card {
		grid-template-rows: auto minmax(0, 1fr) auto !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-head,
	body.mxp-page-mixfast .rainx-term-whitebox-head {
		min-height: 58px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	body.mxp-page-rainx .rainx-term-whitebox-kicker,
	body.mxp-page-mixfast .rainx-term-whitebox-kicker {
		display: none !important;
	}

	body.mxp-page-rainx .rainx-term-document,
	body.mxp-page-mixfast .rainx-term-document {
		padding-top: 14px !important;
		padding-bottom: 22px !important;
	}
}
