/* Nextgen News Hub - Frontend Public Stylesheet */

/* 1. Verified News Header Meta */
.nextgen-hub-header-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 6px;
	margin-bottom: 20px;
	font-size: 13px;
}

.nextgen-hub-origin-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #16a34a;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 3px 8px;
	border-radius: 4px;
}

.nextgen-dot {
	width: 6px;
	height: 6px;
	background: #ffffff;
	border-radius: 50%;
	display: inline-block;
}

.nextgen-hub-author {
	color: #15803d;
	font-weight: 600;
}

/* 2. Key Highlights Executive Summary Box */
.nextgen-highlights-box {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-left: 4px solid #0284c7;
	border-radius: 6px;
	padding: 16px 20px;
	margin: 20px 0 24px 0;
}

.nextgen-highlights-header {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: #0369a1;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.nextgen-highlights-list {
	margin: 0 !important;
	padding-left: 20px !important;
	color: #1e293b;
	font-size: 14px;
	line-height: 1.6;
}

.nextgen-highlights-list li {
	margin-bottom: 6px;
}
.nextgen-highlights-list li:last-child {
	margin-bottom: 0;
}

/* 3. Signature Editorial Footer Card */
.nextgen-hub-article-footer {
	margin-top: 32px;
	padding: 16px 20px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-top: 3px solid #0284c7;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}

.nextgen-hub-footer-source {
	font-size: 14px;
	color: #334155;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.nextgen-source-label {
	color: #64748b;
	font-size: 13px;
}

.nextgen-source-link {
	display: inline-block;
	background: #0f172a;
	color: #ffffff !important;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background 0.2s ease;
}

.nextgen-source-link:hover {
	background: #0284c7;
	color: #ffffff !important;
}

.nextgen-powered-by-badge {
	font-size: 12px;
	color: #64748b;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.nextgen-powered-text {
	background: #e2e8f0;
	padding: 4px 10px;
	border-radius: 4px;
	color: #475569;
	font-weight: 600;
	font-size: 11px;
}

/* 4. Local Partner Spotlight Ad Box */
.nextgen-partner-spotlight {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px;
	margin: 24px 0;
	text-align: center;
	position: relative;
}

.nextgen-ad-badge {
	position: absolute;
	top: -9px;
	left: 14px;
	background: #64748b;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 2px 6px;
	border-radius: 3px;
}

.nextgen-ad-inner img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	display: block;
	margin: 0 auto;
}

/* 5. 2-Step Native Push Notification Card (Bottom Floating / Top-Left Floating) */
.nextgen-push-card {
	position: fixed;
	bottom: 24px;
	right: 24px;
	left: auto;
	max-width: 380px;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	padding: 16px 18px;
	box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.18), 0 8px 10px -6px rgba(15, 23, 42, 0.1);
	z-index: 999999;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	animation: nextgen-slide-up 0.35s ease-out;
}

@keyframes nextgen-slide-up {
	from { transform: translateY(30px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}

.nextgen-push-icon-box {
	width: 40px;
	height: 40px;
	background: #e0f2fe;
	color: #0284c7;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.nextgen-push-icon-box .dashicons {
	font-size: 22px;
	width: 22px;
	height: 22px;
}

.nextgen-push-content h4 {
	margin: 0 0 4px 0;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.3;
}

.nextgen-push-content p {
	margin: 0 0 12px 0;
	font-size: 12px;
	color: #64748b;
	line-height: 1.4;
}

.nextgen-push-actions {
	display: flex;
	gap: 8px;
}

.nextgen-push-btn {
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 600;
	border-radius: 5px;
	border: none;
	cursor: pointer;
	transition: all 0.15s ease;
}

.nextgen-push-allow {
	background: #0284c7;
	color: #ffffff;
}
.nextgen-push-allow:hover {
	background: #0369a1;
}

.nextgen-push-dismiss {
	background: #f1f5f9;
	color: #475569;
}
.nextgen-push-dismiss:hover {
	background: #e2e8f0;
	color: #0f172a;
}

@media (max-width: 640px) {
	.nextgen-hub-article-footer {
		flex-direction: column;
		align-items: flex-start;
	}
	.nextgen-push-card {
		left: 12px;
		right: 12px;
		bottom: 12px;
		max-width: none;
	}
}


#header-sticky {
	position: sticky !important;
	top: 0 !important;
	z-index: 10050 !important;
	background: #fff;
}
#header.hide-on-scroll-down,
#header {
	position: relative !important;
	transform: none !important;
	top: auto !important;
}
.cd-local-bar {
	position: relative;
	top: auto;
	z-index: 1;
	background: #070b14;
	color: #e2e8f0;
	display: flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.cd-live-dot {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	margin-left: 12px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 0 rgba(34,197,94,0.7);
	animation: cd-live 1.4s ease-out infinite;
}
@keyframes cd-live {
	0% { box-shadow: 0 0 0 0 rgba(34,197,94,0.7); }
	70% { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
	100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
.cd-local-bar-window {
	overflow: hidden;
	flex: 1;
	min-width: 0;
}
.cd-local-bar-track {
	display: flex;
	width: max-content;
	animation: cd-ticker 55s linear infinite;
}
.cd-local-bar:hover .cd-local-bar-track { animation-play-state: paused; }
@keyframes cd-ticker {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
.cd-local-bar-inner {
	display: flex;
	gap: 28px;
	align-items: center;
	padding: 0 28px;
	white-space: nowrap;
}
.cd-local-chip { font-size: 13px; }
.cd-mkt.up { color: #86efac; }
.cd-mkt.down { color: #fda4af; }
.cd-flash { animation: cd-pop 0.8s ease; }
@keyframes cd-pop {
	0% { background: rgba(250,250,250,0.16); }
	100% { background: transparent; }
}
@media (prefers-reduced-motion: reduce) {
	.cd-local-bar-track, .cd-live-dot, .cd-flash { animation: none !important; }
}


#header-sticky,
#header,
.cd-local-bar {
	width: 100% !important;
	max-width: none !important;
	left: 0 !important;
	right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-radius: 0 !important;
	box-sizing: border-box;
}
#header .group {
	max-width: none !important;
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}


#cd-chrome {
	position: sticky;
	top: 0;
	z-index: 10080;
	width: 100%;
	max-width: none;
	background: #fff;
	box-shadow: 0 1px 0 rgba(15,23,42,0.06);
}
#cd-chrome #header-sticky,
#cd-chrome #header,
#cd-chrome .cd-local-bar {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border-radius: 0 !important;
	position: relative !important;
	top: auto !important;
}

/* Device Visibility Controls for Top Running Strip */
@media (max-width: 768px) {
	.cd-local-bar.cd-bar-desktop-only {
		display: none !important;
	}
}

@media (min-width: 769px) {
	.cd-local-bar.cd-bar-mobile-only {
		display: none !important;
	}
}

.cd-local-bar {
	position: sticky !important;
	top: 0 !important;
	z-index: 10050 !important;
	height: 40px !important;
	min-height: 40px !important;
	overflow: hidden !important;
	background: #070b14 !important;
	color: #f8fafc !important;
}
.cd-local-bar-window {
	height: 40px;
	overflow: hidden;
	flex: 1;
}
.cd-local-bar-track,
.cd-local-bar-inner {
	height: 40px;
	align-items: center;
}
.cd-local-chip {
	display: inline-flex;
	align-items: center;
	height: 40px;
	line-height: 40px;
	white-space: nowrap;
	font-size: 13px;
	color: #f8fafc;
}


.cd-header-social {
	display: flex;
	align-items: center;
	gap: 8px;
}
.cd-soc {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #0f172a;
	color: #fff !important;
	text-decoration: none !important;
	transition: transform 0.2s ease, background 0.2s ease;
}
.cd-soc:hover { transform: translateY(-2px) scale(1.06); background: #0284c7; }
.cd-soc-facebook:hover { background: #1877f2; }
.cd-soc-x:hover { background: #111; }
.cd-soc-instagram:hover { background: #e1306c; }
.cd-soc-youtube:hover { background: #ff0000; }
.cd-soc-whatsapp:hover { background: #25d366; }
.cd-soc-telegram:hover { background: #229ed9; }
.cd-soc-linkedin:hover { background: #0a66c2; }


.cd-local-chip + .cd-local-chip::before {
	content: "•";
	margin-right: 18px;
	opacity: 0.35;
}
.cd-local-bar-inner {
	padding-right: 48px !important;
}

/* Compact, sleek editorial AQI capsule */
.cd-local-bar .cd-aqi,
.cd-aqi {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
	line-height: 1 !important;
	padding: 0 8px !important;
	border-radius: 9999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.03em !important;
	margin-left: 8px !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
}
.cd-aqi-good { background: #15803d !important; color: #ffffff !important; }
.cd-aqi-ok { background: #b45309 !important; color: #ffffff !important; }
.cd-aqi-bad { background: #b91c1c !important; color: #ffffff !important; }

.nextgen-source-attribution {
	margin-top: 2em;
	padding: 14px 18px;
	border-left: 4px solid #38bdf8;
	background: #f8fafc;
	border-radius: 8px;
	font-size: 0.92em;
	color: #475569;
}
.nextgen-multisource {
	margin-top: 16px;
	padding: 16px 18px;
	border-radius: 14px;
	background: linear-gradient(135deg,#eff6ff,#f5f3ff);
	border: 1px solid #dbeafe;
}
.nextgen-multisource-kicker {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #1d4ed8;
	margin-bottom: 6px;
}
.nextgen-multisource strong { display: block; color: #0f172a; }
.nextgen-multisource p { margin: 6px 0 0; color: #475569; }

/* ========================================================================== */
/* Nextgen News Hub — Modern Public Design System v2 */
/* Scoped to plugin output; does not replace theme typography or layout. */
/* ========================================================================== */
:root { --ng-public-ink: #0f172a; --ng-public-muted: #64748b; --ng-public-line: #e2e8f0; --ng-public-blue: #2563eb; --ng-public-blue-soft: #eff6ff; --ng-public-shadow: 0 12px 32px rgba(15,23,42,.08); }
.nextgen-hub-header-meta, .nextgen-hub-article-footer, .nextgen-highlights-box, .nextgen-source-attribution, .nextgen-multisource, .nextgen-partner-spotlight { border-radius: 14px !important; box-shadow: 0 1px 2px rgba(15,23,42,.03); }
.nextgen-hub-header-meta { gap: 14px; padding: 12px 16px; border: 1px solid #bbf7d0; background: linear-gradient(135deg,#f0fdf4,#ecfdf5); font-size: 13px; line-height: 1.45; }
.nextgen-hub-origin-pill { border-radius: 999px; padding: 5px 10px; letter-spacing: .06em; }
.nextgen-highlights-box { position: relative; border: 1px solid #bfdbfe; border-left: 4px solid var(--ng-public-blue); background: linear-gradient(135deg,#f8fbff,#eff6ff); padding: 20px 22px; margin: 24px 0 28px; box-shadow: var(--ng-public-shadow); }
.nextgen-highlights-header { font-size: 12px; letter-spacing: .08em; color: #1d4ed8; }
.nextgen-highlights-list { font-size: 15px; line-height: 1.75; color: #1e293b; }
.nextgen-highlights-list li::marker { color: var(--ng-public-blue); }
.nextgen-hub-article-footer { margin-top: 38px; padding: 18px 22px; border: 1px solid var(--ng-public-line); border-top: 3px solid var(--ng-public-blue); background: linear-gradient(135deg,#fff,#f8fafc); gap: 16px; }
.nextgen-source-link { border-radius: 999px; padding: 8px 14px; background: var(--ng-public-ink); transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.nextgen-source-link:hover { background: var(--ng-public-blue); transform: translateY(-1px); box-shadow: 0 6px 14px rgba(37,99,235,.2); }
.nextgen-powered-text { border-radius: 999px; padding: 5px 11px; }
.nextgen-source-attribution { margin: 26px 0; padding: 14px 16px; border: 1px solid #dbeafe; border-left: 3px solid var(--ng-public-blue); background: var(--ng-public-blue-soft); color: #334155; line-height: 1.6; }
.nextgen-source-attribution a { font-weight: 700; color: #1d4ed8; }
.nextgen-multisource { margin: 26px 0; padding: 18px 20px; border: 1px solid #c7d2fe; background: linear-gradient(135deg,#eef2ff,#f8fafc); color: #334155; }
.nextgen-multisource-kicker { display: block; margin-bottom: 5px; color: #4f46e5; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.nextgen-multisource strong { color: var(--ng-public-ink); font-size: 17px; }
.nextgen-push-card { bottom: 24px; right: 24px; max-width: 400px; border: 1px solid rgba(148,163,184,.45); border-radius: 18px; padding: 18px 20px; box-shadow: 0 24px 60px rgba(15,23,42,.2); backdrop-filter: blur(14px); background: rgba(255,255,255,.96); }
.nextgen-push-icon-box { border-radius: 13px; background: #dbeafe; color: #1d4ed8; }
.nextgen-push-content h4 { font-size: 15px; letter-spacing: -.01em; }
.nextgen-push-content p { font-size: 13px; line-height: 1.55; }
.nextgen-push-btn { border-radius: 999px; padding: 8px 15px; transition: transform .16s ease, background .16s ease, box-shadow .16s ease; }
.nextgen-push-btn:hover { transform: translateY(-1px); box-shadow: 0 5px 12px rgba(15,23,42,.1); }
.nextgen-push-allow { background: var(--ng-public-blue); }
.nextgen-push-allow:hover { background: #1d4ed8; }
.nextgen-push-card :focus-visible { outline: 3px solid rgba(37,99,235,.35); outline-offset: 2px; }
@media (max-width: 640px) { .nextgen-hub-header-meta, .nextgen-hub-article-footer { align-items: flex-start; flex-direction: column; } .nextgen-hub-article-footer { padding: 16px; } .nextgen-push-card { left: 14px; right: 14px; bottom: 14px; max-width: none; } .nextgen-push-actions { flex-wrap: wrap; } .nextgen-push-btn { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { .nextgen-push-card, .nextgen-push-card *, .nextgen-push-card *::before, .nextgen-push-card *::after { animation: none !important; transition: none !important; } }

/* Theme-safe contrast corrections for plugin-generated public surfaces. */
.nextgen-hub-header-meta, .nextgen-hub-article-footer, .nextgen-highlights-box, .nextgen-source-attribution, .nextgen-multisource, .nextgen-partner-spotlight { color: #334155; }
.nextgen-hub-header-meta p, .nextgen-hub-article-footer p, .nextgen-highlights-box p, .nextgen-source-attribution p, .nextgen-multisource p { color: #475569; }
.nextgen-highlights-box a, .nextgen-source-attribution a, .nextgen-multisource a { color: #1d4ed8; font-weight: 700; }
.nextgen-powered-by-badge { color: #64748b; }

.nextgen-hub-footer-credit { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: #475569; }
.nextgen-hub-footer-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.nextgen-hub-article-footer-merged { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }

.nextgen-hub-article-footer-merged {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px 20px;
	margin-top: 32px;
	padding: 16px 20px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #f8fafc;
}
.nextgen-hub-footer-source { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nextgen-hub-footer-source .nextgen-source-label {
	font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #64748b; font-weight: 600;
}
.nextgen-hub-footer-source .nextgen-source-name { font-size: 16px; color: #0f172a; }
.nextgen-hub-footer-credit { margin: 4px 0 0; font-size: 13px; color: #64748b; }
.nextgen-hub-footer-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.nextgen-hub-article-footer-merged .nextgen-source-link {
	display: inline-flex; align-items: center; gap: 6px;
	background: #0f172a; color: #fff !important; text-decoration: none !important;
	border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600;
}
.nextgen-hub-article-footer-merged .nextgen-source-link:hover { background: #1e293b; }
.nextgen-hub-article-footer-merged .nextgen-powered-by-badge { margin: 0; opacity: .75; font-size: 11px; }
@media (max-width: 640px) {
	.nextgen-hub-footer-actions { align-items: flex-start; width: 100%; }
}

.nextgen-hub-credit-card {
	display: grid;
	grid-template-columns: 96px 1fr auto;
	gap: 18px 22px;
	align-items: center;
	margin-top: 36px;
	padding: 22px 24px;
	border-radius: 22px;
	border: 1px solid #e2e8f0;
	background:
		radial-gradient(120px 80px at 0 100%, rgba(239,68,68,.12), transparent 70%),
		radial-gradient(160px 100px at 100% 0, rgba(59,130,246,.16), transparent 70%),
		#fff;
	box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.nextgen-hub-credit-art { display:flex; align-items:center; justify-content:center; }
.nextgen-hub-source-pill {
	display:inline-flex; align-items:center; gap:6px;
	font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
	color:#475569; background:#f1f5f9; border-radius:999px; padding:4px 10px;
}
.nextgen-hub-credit-main .nextgen-source-name {
	display:block; margin-top:8px; font-size:22px; line-height:1.2; color:#0f172a; font-weight:800;
}
.nextgen-hub-credit-main .nextgen-hub-footer-credit {
	margin:8px 0 0; font-size:14px; color:#64748b; max-width: 52ch;
}
.nextgen-hub-chips { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:14px; }
.nextgen-hub-chip { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#334155; text-decoration:none; }
.nextgen-hub-chip .dashicons { font-size:16px; width:16px; height:16px; color:#2563eb; }
.nextgen-hub-credit-side { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.nextgen-hub-credit-card .nextgen-source-link {
	display:inline-flex; align-items:center; gap:8px;
	background:#0f172a; color:#fff !important; text-decoration:none !important;
	border-radius:999px; padding:12px 20px; font-weight:700; font-size:14px;
	box-shadow: 0 8px 18px rgba(15,23,42,.18);
}
.nextgen-hub-credit-card .nextgen-source-link:hover { background:#1e293b; }
.nextgen-hub-credit-card .nextgen-powered-by-badge {
	margin:0; padding:6px 12px; border-radius:999px; background:#f8fafc; border:1px solid #e2e8f0;
	font-size:11px; color:#64748b;
}
@media (max-width: 720px) {
	.nextgen-hub-credit-card { grid-template-columns: 1fr; }
	.nextgen-hub-credit-side { align-items:flex-start; }
}

.nextgen-source-kicker { font-weight: 700; color: #64748b; }
.nextgen-source-attribution { display: none !important; }
