html.ad-shield-active body > *:not(#ad-shield-overlay) {
	filter: blur(8px) !important;
	pointer-events: none !important;
	user-select: none !important;
}
html.ad-shield-active { overflow: hidden !important; }

#ad-shield-overlay {
	position: fixed; inset: 0; z-index: 2147483647;
	display: flex; align-items: center; justify-content: center; padding: 20px;
	background: rgba(10, 18, 30, 0.72);
	-webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
	animation: ad-shield-fade 0.2s ease-out;
}
@keyframes ad-shield-fade { from { opacity: 0; } to { opacity: 1; } }

.ad-shield-card {
	position: relative; max-width: 460px; width: 100%;
	background: #fff; color: var(--ads-primary, #12293f); border-radius: 14px;
	padding: 36px 32px 32px; box-shadow: 0 24px 60px rgba(0,0,0,0.45);
	text-align: center;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.ad-shield-icon { font-size: 40px; line-height: 1; margin-bottom: 12px; color: var(--ads-button, #1a4f86); }

.ad-shield-anchor {
	font-size: 14px; color: #98a4b3; text-decoration: line-through; margin-bottom: 4px;
}

.ad-shield-card h2 { margin: 0 0 10px; font-size: 22px; font-weight: 700; color: var(--ads-primary, #12293f); }
.ad-shield-card p { margin: 0 0 20px; font-size: 15px; line-height: 1.55; color: #455467; }

.ad-shield-btn {
	display: block; width: 100%; box-sizing: border-box; padding: 14px 18px;
	border-radius: 9px; font-size: 16px; font-weight: 600; text-decoration: none;
	cursor: pointer; border: 1px solid transparent;
	transition: background 0.15s ease;
}
.ad-shield-btn-primary { background: var(--ads-button, #1a4f86); color: #fff; }
.ad-shield-btn-primary:hover { background: var(--ads-primary, #12293f); color: #fff; }

.ad-shield-subline {
	margin-top: 10px; font-size: 12px; color: #98a4b3;
}

.ad-shield-reload-link {
	display: inline-block; margin-top: 14px; background: none; border: 0;
	color: #98a4b3; font-size: 12px; cursor: pointer; text-decoration: underline;
	padding: 0;
}
.ad-shield-reload-link:hover { color: #455467; }

/* Variant B accent — uses configurable B button color */
.ad-shield-vB .ad-shield-btn-primary { background: var(--ads-button-b, #c0392b); }
.ad-shield-vB .ad-shield-btn-primary:hover { filter: brightness(0.88); }
.ad-shield-vB .ad-shield-icon { color: var(--ads-button-b, #c0392b); }

.ad-shield-close {
	position: absolute; top: 10px; right: 12px; background: transparent; border: 0;
	font-size: 24px; line-height: 1; color: #98a4b3; cursor: pointer;
}
.ad-shield-close:hover { color: #455467; }

/* ---- Senior mode: larger text, higher contrast, bigger tap target ---- */
.ad-shield-senior {
	max-width: 500px; padding: 40px 34px 34px;
	border: 3px solid var(--ads-primary, #12293f);
}
.ad-shield-senior.ad-shield-card h2 { font-size: 30px; line-height: 1.25; margin-bottom: 12px; color: #0d1f30; }
.ad-shield-senior.ad-shield-card p { font-size: 19px; line-height: 1.5; color: #243140; margin-bottom: 24px; }
.ad-shield-senior .ad-shield-anchor { font-size: 19px; color: #6b7888; }
.ad-shield-senior .ad-shield-icon { font-size: 52px; }
.ad-shield-senior .ad-shield-btn { font-size: 21px; padding: 18px 20px; border-radius: 11px; font-weight: 700; }
.ad-shield-senior .ad-shield-subline { font-size: 16px; color: #243140; margin-top: 14px; }
.ad-shield-senior .ad-shield-reload-link {
	font-size: 16px; color: var(--ads-button, #1a4f86); margin-top: 18px;
}
.ad-shield-senior .ad-shield-reload-link:hover { color: var(--ads-primary, #12293f); }
.ad-shield-senior .ad-shield-close { font-size: 30px; top: 12px; right: 14px; }

@media (max-width: 480px) {
	.ad-shield-card { padding: 28px 22px 24px; }
	.ad-shield-card h2 { font-size: 19px; }
	.ad-shield-senior.ad-shield-card { padding: 32px 24px 28px; }
	.ad-shield-senior.ad-shield-card h2 { font-size: 26px; }
	.ad-shield-senior.ad-shield-card p { font-size: 18px; }
	.ad-shield-senior .ad-shield-btn { font-size: 20px; }
}
