/* Overlay Backdrop */
.nv211-popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 15, 30, 0.65);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.25s ease-in-out;
}

.nv211-popup-overlay.is-visible {
	opacity: 1;
}

/* Modal Dialog Box */
.nv211-popup-modal {
	background: #ffffff;
	border-top: 6px solid #003B71; /* Nevada 211 Navy accent */
	border-radius: 4px;
	padding: 32px 28px;
	width: 90%;
	max-width: 560px;
	position: relative;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
	transform: translateY(-10px);
	transition: transform 0.25s ease-in-out;
	font-family: Helvetica, Arial, sans-serif;
}

.nv211-popup-overlay.is-visible .nv211-popup-modal {
	transform: translateY(0);
}

/* Headings */
.nv211-popup-heading {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 28px;
	font-weight: 800;
	color: #003B71;
	margin: 0 0 16px 0;
	line-height: 1.2;
}

/* Body Content */
.nv211-popup-body {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 19px;
	font-weight: 400;
	color: #1a1a1a;
	line-height: 1.5;
}

.nv211-popup-body p {
	font-size: 19px;
	line-height: 1.5;
	margin-bottom: 12px;
}
/* Popup Content Link Styling */
.nv211-popup-body a {
	color: #003B71;
	text-decoration: underline;
	font-weight: 600;
	transition: color 0.15s ease;
}

.nv211-popup-body a:hover,
.nv211-popup-body a:focus {
	color: #E04A3A;
	text-decoration: none;
}

/* Close Button (Accessible & Styled) */
.nv211-popup-modal button.nv211-popup-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 32px;
	height: 32px;
	background: transparent !important; /* Overrides Astra button background */
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.nv211-popup-modal button.nv211-popup-close svg {
	width: 16px;
	height: 16px;
	stroke: #666666;
	stroke-width: 2.5;
	stroke-linecap: round;
	transition: stroke 0.2s ease;
}

/* Hover & Focus States */
.nv211-popup-modal button.nv211-popup-close:hover,
.nv211-popup-modal button.nv211-popup-close:focus {
	background-color: #f0f0f0 !important;
	outline: none;
}

.nv211-popup-modal button.nv211-popup-close:hover svg,
.nv211-popup-modal button.nv211-popup-close:focus svg {
	stroke: #E04A3A; /* Red highlight on hover/focus */
}
/* Quick Escape Floating Container */
.nv211-quick-escape-wrapper {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 9999999; /* Higher than popups and headers */
}

/* Quick Escape Button Styling */
.nv211-quick-escape-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background-color: #E04A3A !important; /* Urgent Red Accent */
	color: #FFFFFF !important;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 800;
	text-decoration: none !important;
	padding: 12px 20px;
	border-radius: 50px; /* Pill shape for distinction */
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: background-color 0.2s ease, transform 0.1s ease;
	cursor: pointer;
}

.nv211-quick-escape-btn:hover,
.nv211-quick-escape-btn:focus {
	background-color: #B83223 !important;
	color: #FFFFFF !important;
	transform: scale(1.03);
	outline: 2px solid #FFFFFF;
}

.nv211-escape-icon {
	font-size: 18px;
	line-height: 1;
}

/* Mobile & Responsive Adjustments */
@media screen and (max-width: 600px) {
	.nv211-popup-modal {
		width: 92%;
		padding: 24px 20px;
		max-height: 85vh; /* Prevents modal from overflowing screen height */
		overflow-y: auto;  /* Enables smooth scrolling inside long popups */
		-webkit-overflow-scrolling: touch;
	}

	.nv211-popup-heading {
		font-size: 22px;
		padding-right: 28px; /* Prevents text collision with the close button */
	}

	.nv211-popup-body,
	.nv211-popup-body p {
		font-size: 17px; /* Slightly scaled for mobile readability */
		line-height: 1.45;
	}

	/* Enlarge close button touch target for mobile thumbs (min 44x44px for accessibility) */
	.nv211-popup-modal button.nv211-popup-close {
		top: 12px;
		right: 12px;
		width: 44px;
		height: 44px;
	}

	.nv211-popup-modal button.nv211-popup-close svg {
		width: 20px;
		height: 20px;
	}
    .nv211-quick-escape-wrapper {
		bottom: 12px;
		right: 12px;
	}
	.nv211-quick-escape-btn {
		font-size: 14px;
		padding: 10px 16px;
	}
}