/*
Theme Name: NPSportNews Child
Theme URI: https://npsportnews.com
Description: Child theme of Kadence for NPSportNews — football & cricket news homepage built from Figma spec.
Author: NPSportNews
Template: kadence
Version: 1.0.0
Text Domain: npsportnews-child
*/

/* Hide Kadence's own default header/masthead — we render our
   own via a hook instead. Version-proof: targets the element
   Kadence always renders, rather than trying to unhook a
   specific internal function name. */
#masthead {
	display: none !important;
}

#colophon {
	display: none !important;
}

/* =========================================================
 * Global page shell
 * Kadence's default light body/content backgrounds are
 * replaced with the dark palette from the Figma design.
 * ========================================================= */
body,
body.content-style-unboxed .site,
.content-bg {
	background: #0b1120 !important;
}

#wrapper,
#inner-wrap {
	background: #0b1120;
}

/* The homepage is built entirely from hooked sections, so
   Kadence's (empty) content area would just render as a white
   box with large margins. Hide it on the front page only —
   inner pages and posts keep their normal content area. */
.home .content-area,
.home #primary,
.home .entry-content-wrap {
	display: none !important;
}

/* --- Keyboard focus visibility (accessibility) --- */
.npsn-news-card:focus-visible,
.npsn-hero-main:focus-visible,
.npsn-hero-side__item:focus-visible,
.npsn-pill:focus-visible,
.npsn-trending-list__row:focus-visible,
.npsn-nav__link:focus-visible,
.npsn-footer__list a:focus-visible,
.npsn-footer__legal-nav a:focus-visible,
.npsn-ad__cta:focus-visible,
.npsn-popup__cta:focus-visible,
.npsn-popup__copy:focus-visible,
.npsn-popup__close:focus-visible,
.npsn-popup-reopen:focus-visible {
	outline: 2px solid #a3e635;
	outline-offset: 3px;
}

/* --- Respect reduced-motion preferences --- */
@media (prefers-reduced-motion: reduce) {
	.npsn-news-card,
	.npsn-hero-main,
	.npsn-hero-side__item,
	.npsn-hero-main__img,
	.npsn-pill,
	.npsn-popup {
		transition: none !important;
	}

	.npsn-news-card:hover,
	.npsn-hero-side__item:hover {
		transform: none;
	}

	.npsn-hero-main:hover .npsn-hero-main__img {
		transform: none;
	}
}

/* =========================================================
 * Section 1: Live Ticker Bar
 * Node ref: Figma 1:4 "Background+HorizontalBorder"
 * ========================================================= */
.npsn-ticker {
	display: flex;
	align-items: stretch;
	width: 100%;
	background: #0f172a;
	border-bottom: 1px solid #1f2a40;
	overflow: hidden;
}

.npsn-ticker__live-badge {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 8px;
	padding: 0 16px;
	background: rgba(239, 68, 68, 0.9);
}

.npsn-ticker__dot {
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	border-radius: 9999px;
	background: #ffffff;
}

.npsn-ticker__live-label {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: -0.24px;
	text-transform: uppercase;
	color: #ffffff;
	white-space: nowrap;
}

.npsn-ticker__track-wrap {
	flex: 1 1 auto;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	padding: 6px 0;
}

.npsn-ticker__track {
	display: inline-flex;
	align-items: baseline;
	gap: 28px;
	padding-left: 16px;
	white-space: nowrap;
	animation: npsn-ticker-scroll 32s linear infinite;
	will-change: transform;
}

.npsn-ticker__track-wrap:hover .npsn-ticker__track {
	animation-play-state: paused;
}

@keyframes npsn-ticker-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

.npsn-ticker__item {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	font-family: 'Roboto Mono', monospace;
	font-size: 11px;
	line-height: 16px;
	white-space: nowrap;
}

.npsn-ticker__match-tag {
	color: #a3e635;
	font-weight: 700;
}

.npsn-ticker__match-main {
	color: #f1f5f9;
	font-weight: 400;
}

.npsn-ticker__match-meta {
	color: #64748b;
	font-weight: 400;
}

.npsn-ticker__headline {
	color: #a3e635;
	font-weight: 400;
}

@media (prefers-reduced-motion: reduce) {
	.npsn-ticker__track {
		animation: none;
	}
}

/* =========================================================
 * Section 2: Header
 * Node ref: Figma 1:20 "Header"
 * ========================================================= */
.npsn-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 64px;
	padding: 0 28px;
	background: #0b1120;
	border-bottom: 1px solid #1f2a40;
}

.npsn-header__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

.npsn-header__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: 8px;
	background-image: linear-gradient(135deg, #3b82f6 0%, #1e3a8a 100%);
}

.npsn-header__mark svg {
	width: 20px;
	height: 20px;
}

.npsn-header__logo img {
	display: block;
	height: 36px;
	width: auto;
	max-width: none;
}

.npsn-header__brand--logo {
	display: flex;
	align-items: center;
}

.npsn-header__brand--logo a.custom-logo-link {
	display: flex;
	align-items: center;
}

.npsn-header__brand--logo img.custom-logo {
	display: block;
	height: 36px !important;
	width: auto !important;
	max-width: none !important;
}

.npsn-header__title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: 0.5px;
	color: #ffffff;
	white-space: nowrap;
}

.npsn-header__title-accent {
	color: #3b82f6;
}

.npsn-nav {
	display: flex;
	align-items: center;
	gap: 4px;
}

.npsn-nav__link {
	padding: 8px 12px;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 19.5px;
	letter-spacing: 0.325px;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: #94a3b8;
	transition: color 0.15s ease;
}

.npsn-nav__link:hover,
.npsn-nav__link--active {
	color: #ffffff;
}

/* =========================================================
 * Section 3: Hero
 * Node ref: Figma 1:35 "Section"
 * ========================================================= */
.npsn-hero {
	display: flex;
	align-items: stretch;
	gap: 16px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 32px 40px 0;
}

.npsn-placeholder-bg {
	background-color: #0e1730;
	background-image: linear-gradient(134deg, rgba(148, 163, 184, 0.06) 0%, rgba(148, 163, 184, 0.06) 1.4%, rgba(148, 163, 184, 0) 1.4%, rgba(148, 163, 184, 0) 2.9%);
}

.npsn-hero-main {
	position: relative;
	flex: 1 1 0%;
	display: block;
	height: 380px;
	min-height: 380px;
	border-radius: 12px;
	border: 1px solid #1f2a40;
	overflow: hidden;
	text-decoration: none;
	background-color: #0e1730;
	background-image: linear-gradient(134deg, rgba(148, 163, 184, 0.06) 0%, rgba(148, 163, 184, 0.06) 1.4%, rgba(148, 163, 184, 0) 1.4%, rgba(148, 163, 184, 0) 2.9%);
	transition: border-color 0.18s ease;
}

.npsn-hero-main:hover {
	border-color: #3b82f6;
}

.npsn-hero-main__img {
	transition: transform 0.4s ease;
}

.npsn-hero-main:hover .npsn-hero-main__img {
	transform: scale(1.03);
}

.npsn-hero-main__media {
	position: absolute;
	inset: 0;
	display: block;
}

.npsn-hero-main__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.npsn-hero-main__gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(7, 11, 22, 0.94) 0%, rgba(7, 11, 22, 0.3) 46%, rgba(7, 11, 22, 0) 72%);
}

.npsn-hero-main__badges {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	z-index: 2;
}

.npsn-hero-main__badge {
	padding: 2px 8px;
	border-radius: 4px;
	font-family: 'Manrope', sans-serif;
	font-size: 10px;
	line-height: 15px;
	text-transform: uppercase;
	white-space: nowrap;
}

.npsn-hero-main__badge--primary {
	font-weight: 700;
	color: #ffffff;
	background-image: linear-gradient(to bottom, #3b82f6, #1e40af);
}

.npsn-hero-main__badge--secondary {
	font-weight: 600;
	color: #e2e8f0;
	background: rgba(0, 0, 0, 0.55);
	text-transform: none;
}

.npsn-hero-main__content {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 24px 24px;
}

.npsn-hero-main__title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 36.72px;
	letter-spacing: -0.68px;
	text-transform: uppercase;
	color: #ffffff;
}

.npsn-hero-main__excerpt {
	max-width: 512px;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: rgba(231, 231, 231, 0.9);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.npsn-hero-main__meta {
	font-family: 'Roboto Mono', monospace;
	font-weight: 400;
	font-size: 11px;
	line-height: 16.5px;
	color: #778aa6;
}

.npsn-hero-side {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 400px;
	flex-shrink: 0;
}

.npsn-hero-side__item {
	display: flex;
	flex: 1 1 0%;
	gap: 12px;
	padding: 17px;
	border-radius: 12px;
	border: 1px solid #1f2a40;
	background: #131c30;
	text-decoration: none;
	overflow: hidden;
	transition: border-color 0.18s ease, transform 0.18s ease;
}

.npsn-hero-side__item:hover {
	border-color: #3b82f6;
	transform: translateX(3px);
}

.npsn-hero-side__item--featured {
	border: 1px solid rgba(59, 130, 246, 0.6);
	background-image: linear-gradient(120deg, rgba(0, 64, 255, 0.1) 4.5%, rgb(19, 28, 48) 100%);
}

.npsn-hero-side__thumb {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 80px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background-color: #0e1730;
	background-image: linear-gradient(135deg, rgba(148, 163, 184, 0.06) 0%, rgba(148, 163, 184, 0.06) 9.6%, rgba(148, 163, 184, 0) 9.6%, rgba(148, 163, 184, 0) 19.3%);
}

.npsn-hero-side__thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.npsn-hero-side__thumb-label {
	font-family: 'Roboto Mono', monospace;
	font-size: 10px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: rgba(148, 163, 184, 0.42);
	text-align: center;
}

.npsn-hero-side__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	flex: 1 1 0%;
	min-width: 0;
}

.npsn-hero-side__date {
	font-family: 'Roboto Mono', monospace;
	font-size: 11px;
	line-height: 15px;
	color: #778aa6;
}

.npsn-hero-side__item--featured .npsn-hero-side__date {
	color: #3b82f6;
}

.npsn-hero-side__title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 18.75px;
	letter-spacing: -0.32px;
	text-transform: uppercase;
	color: #ffffff;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 900px) {
	.npsn-hero {
		flex-direction: column;
		padding: 24px 20px 0;
	}

	.npsn-hero-side {
		width: 100%;
	}
}

/* =========================================================
 * Section 4: Live Scoreboard Row
 * Node ref: Figma 1:74 "Section"
 * ========================================================= */
.npsn-scoreboard {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 12px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 40px 0;
}

.npsn-scoreboard__card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1 1 0%;
	min-width: 0;
	padding: 17px 21px;
	border-radius: 12px;
	border: 1px solid #1f2a40;
	background: #111a2e;
}

.npsn-scoreboard__team {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: 80px;
	flex-shrink: 0;
}

.npsn-scoreboard__team-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: #18233b;
	box-shadow: 0 0 0 1px #2a3a55;
	font-family: 'Roboto Mono', monospace;
	font-weight: 700;
	font-size: 10px;
	line-height: 15px;
	color: #f1f5f9;
}

.npsn-scoreboard__team-name {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 15px;
	letter-spacing: -0.24px;
	color: #cccccc;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.npsn-scoreboard__status {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
	padding: 7px 8px 2.5px;
}

.npsn-scoreboard__status-label {
	font-family: 'Roboto Mono', monospace;
	font-weight: 500;
	font-size: 10px;
	line-height: 15px;
	text-transform: uppercase;
	color: #778aa6;
	white-space: nowrap;
}

.npsn-scoreboard__status-label--live {
	color: #3b82f6;
}

.npsn-scoreboard__score {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	color: #ffffff;
	white-space: nowrap;
	padding-bottom: 4.5px;
}

.npsn-scoreboard__date {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 15px;
	letter-spacing: -0.24px;
	color: #cccccc;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.npsn-scoreboard {
		flex-direction: column;
		padding: 20px 20px 0;
	}
}

/* =========================================================
 * Section 5: Main Content Row (News grids + Sidebar)
 * Node refs: Figma 1:123 "NEWS", 1:276 "Aside", 1:218 ad
 * ========================================================= */
.npsn-content-row {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 40px 60px;
}

.npsn-content-main {
	display: flex;
	flex-direction: column;
	gap: 40px;
	flex: 1 1 0%;
	min-width: 0;
}

/* --- Section heading + pills --- */
.npsn-news-section {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.npsn-news-section__header {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.npsn-section-heading {
	display: flex;
	align-items: center;
	gap: 8px;
}

.npsn-section-heading__bar {
	width: 10px;
	height: 28px;
	flex-shrink: 0;
	border-radius: 9999px;
	background: #3b82f6;
}

.npsn-section-heading__label {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: #ffffff;
	white-space: nowrap;
}

.npsn-pills {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.npsn-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 13px;
	border-radius: 9999px;
	border: 1px solid #1f2a40;
	background: #131c30;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.3px;
	color: #e7e7e7;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.npsn-pill:hover {
	border-color: #3b82f6;
	background: #1a2540;
}

.npsn-pill--active {
	background: #3b82f6;
	border-color: #3b82f6;
}

/* --- News card grid --- */
.npsn-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.npsn-news-card {
	display: flex;
	flex-direction: column;
	border-radius: 12px;
	border: 1px solid #1f2a40;
	background: #131c30;
	overflow: hidden;
	text-decoration: none;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.npsn-news-card:hover {
	border-color: #3b82f6;
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}

.npsn-news-card:hover .npsn-news-card__title {
	color: #bfdbfe;
}

.npsn-news-card__title {
	transition: color 0.18s ease;
}

.npsn-news-card__media {
	position: relative;
	height: 144px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #0e1730;
	background-image: linear-gradient(135deg, rgba(148, 163, 184, 0.06) 0%, rgba(148, 163, 184, 0.06) 4%, rgba(148, 163, 184, 0) 4%, rgba(148, 163, 184, 0) 8%);
}

.npsn-news-card__media-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.npsn-news-card__media-label {
	font-family: 'Roboto Mono', monospace;
	font-size: 10px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: rgba(148, 163, 184, 0.42);
}

.npsn-news-card__tag {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 2px 8px;
	border-radius: 4px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 10px;
	line-height: 15px;
	text-transform: uppercase;
}

.npsn-news-card__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 23px 16px 16px;
}

.npsn-news-card__date {
	font-family: 'Roboto Mono', monospace;
	font-weight: 500;
	font-size: 11px;
	line-height: 15px;
	color: #778aa6;
}

.npsn-news-card__title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 18.75px;
	letter-spacing: -0.32px;
	text-transform: uppercase;
	color: #ffffff;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.npsn-news-card__excerpt {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	color: #e7e7e7;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* --- Sponsored ad banner --- */
.npsn-ad {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 32px;
	border-radius: 16px;
	border: 1px solid rgba(59, 130, 246, 0.6);
	background-color: #131c30;
	background-image: linear-gradient(144deg, rgba(0, 64, 255, 0.28) 0%, rgba(19, 28, 48, 0) 70%);
	flex-wrap: wrap;
}

.npsn-ad__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 260px;
	min-width: 0;
}

.npsn-ad__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: 2px 8px;
	border-radius: 4px;
	background: #3b82f6;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 10px;
	line-height: 16px;
	text-transform: uppercase;
	color: #ffffff;
}

.npsn-ad__heading {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: -0.48px;
	text-transform: uppercase;
	color: #ffffff;
}

.npsn-ad__highlight {
	color: #fbbf24;
}

.npsn-ad__subtext {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: rgba(231, 231, 231, 0.8);
}

.npsn-ad__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	padding: 0 32px;
	border-radius: 16px;
	background: #2f6bff;
	font-family: 'Archivo', sans-serif;
	font-weight: 800;
	font-size: 16px;
	line-height: 20px;
	text-transform: uppercase;
	color: #ffffff;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s ease;
}

.npsn-ad__cta:hover {
	background: #1d4ed8;
}

/* --- Sidebar (Trending Series + Next Match) --- */
.npsn-aside {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 300px;
	flex-shrink: 0;
	position: sticky;
	top: 20px;
}

.npsn-aside__panel {
	border-radius: 12px;
	border: 1px solid #1f2a40;
	background: #111a2e;
	overflow: hidden;
}

.npsn-aside__panel-header {
	padding: 10px 16px;
	background: #0f172a;
}

.npsn-aside__panel-header--bordered {
	border-bottom: 1px solid #1f2a40;
	padding: 10px 16px 11px;
}

.npsn-aside__panel-title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.28px;
	text-transform: uppercase;
	color: #ffffff;
}

.npsn-trending-list {
	display: flex;
	flex-direction: column;
	padding-bottom: 5px;
}

.npsn-trending-list__row {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 9px 16px 8px;
	border-top: 1px solid rgba(31, 42, 64, 0.7);
	text-decoration: none;
	transition: background 0.15s ease;
}

a.npsn-trending-list__row:hover {
	background: #16203a;
}

.npsn-trending-list__rank {
	width: 10px;
	flex-shrink: 0;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 19.5px;
	text-align: center;
	color: #a3e635;
}

.npsn-trending-list__label {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 19.5px;
	letter-spacing: -0.14px;
	color: #f1f5f9;
}

.npsn-next-match {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 16px;
}

.npsn-next-match__teams {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.npsn-next-match__team {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.npsn-next-match__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #18233b;
	box-shadow: 0 0 0 1px #2a3a55;
	font-family: 'Roboto Mono', monospace;
	font-weight: 700;
	font-size: 11px;
	line-height: 16.5px;
	color: #f1f5f9;
}

.npsn-next-match__name {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 15px;
	color: #cccccc;
	white-space: nowrap;
}

.npsn-next-match__vs {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.npsn-next-match__vs-label {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 24px;
	line-height: 32px;
	color: #a3e635;
}

.npsn-next-match__vs-meta {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 15px;
	color: #cccccc;
	white-space: nowrap;
}

.npsn-countdown {
	display: flex;
	gap: 8px;
	justify-content: center;
}

.npsn-countdown__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1 1 0%;
	padding: 9px 1px;
	border-radius: 8px;
	border: 1px solid #1f2a40;
	background: #0f172a;
}

.npsn-countdown__value {
	font-family: 'Roboto Mono', monospace;
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	color: #ffffff;
}

.npsn-countdown__value--accent {
	color: #a3e635;
}

.npsn-countdown__label {
	font-family: 'Roboto Mono', monospace;
	font-weight: 400;
	font-size: 9px;
	line-height: 13.5px;
	text-transform: uppercase;
	color: #778aa6;
}

@media (max-width: 900px) {
	.npsn-content-row {
		flex-direction: column;
		padding: 40px 20px 60px;
	}

	.npsn-aside {
		width: 100%;
		position: static;
	}

	.npsn-news-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
 * Section 6: Footer
 * Node ref: Figma 1:342 "Footer - FOOTER"
 * ========================================================= */
.npsn-footer {
	display: flex;
	justify-content: center;
	background-image: linear-gradient(to bottom, #0e1629, #0b1120);
	border-top: 1px solid #1f2a40;
	padding: 0 40px;
}

.npsn-footer__inner {
	width: 100%;
	max-width: 1200px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 32px 0;
}

.npsn-footer__columns {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	padding-bottom: 8px;
}

.npsn-footer__col {
	flex: 1 1 220px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.npsn-footer__col--brand {
	gap: 12px;
}

.npsn-footer__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

.npsn-footer__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border-radius: 8px;
	background-image: linear-gradient(135deg, #3b82f6 0%, #1e3a8a 100%);
}

.npsn-footer__mark svg {
	width: 16px;
	height: 16px;
}

.npsn-footer__logo img {
	display: block;
	height: 28px;
	width: auto;
	max-width: none;
}

.npsn-footer__brand--logo {
	display: flex;
	align-items: center;
}

.npsn-footer__brand--logo a.custom-logo-link {
	display: flex;
	align-items: center;
}

.npsn-footer__brand--logo img.custom-logo {
	display: block;
	height: 28px !important;
	width: auto !important;
	max-width: none !important;
}

.npsn-footer__brand-text {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0.5px;
	color: #ffffff;
	white-space: nowrap;
}

.npsn-footer__brand-accent {
	color: #3b82f6;
}

.npsn-footer__tagline {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 1.3;
	color: #778aa6;
	margin: 0;
}

.npsn-footer__col-title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: #ffffff;
}

.npsn-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.npsn-footer__list a {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	color: #778aa6;
	text-decoration: none;
}

.npsn-footer__list a:hover {
	color: #e7e7e7;
}

.npsn-footer__compliance {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 21px;
	border-top: 1px solid #1f2a40;
	flex-wrap: wrap;
}

.npsn-footer__age-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border: 2px solid #f97316;
	border-radius: 8px;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 28px;
	color: #f97316;
	overflow: hidden;
	white-space: nowrap;
	text-align: center;
}

.npsn-footer__compliance-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1 1 400px;
	min-width: 0;
}

.npsn-footer__compliance-heading {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	color: #ffffff;
}

.npsn-footer__compliance-body {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 1.3;
	color: #778aa6;
}

.npsn-footer__compliance-badges {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.npsn-footer__badge {
	padding: 5px 11px;
	border-radius: 6px;
	border: 1px solid #2a3a55;
	background: #131c30;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 10px;
	line-height: 15px;
	color: #cbd5e1;
	white-space: nowrap;
}

.npsn-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 17px;
	border-top: 1px solid rgba(31, 42, 64, 0.7);
	flex-wrap: wrap;
	gap: 12px;
}

.npsn-footer__copyright {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 16px;
	color: #778aa6;
	white-space: nowrap;
}

.npsn-footer__legal-nav {
	display: flex;
	align-items: center;
	gap: 16px;
}

.npsn-footer__legal-nav a {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 16px;
	color: #778aa6;
	text-decoration: none;
	white-space: nowrap;
}

.npsn-footer__legal-nav a:hover {
	color: #e7e7e7;
}

@media (max-width: 900px) {
	.npsn-footer {
		padding: 0 20px;
	}

	.npsn-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* =========================================================
 * Section 7: Floating Promo Popup
 * Node ref: Figma 1:401 "banner-v1"
 * ========================================================= */
.npsn-popup {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 999;
	width: 300px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background-image: linear-gradient(136deg, rgb(73, 133, 252) 9%, rgb(0, 64, 255) 103%);
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}

/* Dismissed by the user */
.npsn-popup.is-hidden {
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	pointer-events: none;
}

/* Automatically tucked away while the footer is on screen, so
   it can't cover the compliance links. */
.npsn-popup.is-parked {
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	pointer-events: none;
}

/* Small tab to bring the popup back after dismissing */
.npsn-popup-reopen {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 998;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: none;
	border-radius: 999px;
	background: #2f6bff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: #ffffff;
	cursor: pointer;
}

.npsn-popup-reopen[hidden] {
	display: none;
}

.npsn-popup-reopen__dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #a3e635;
}

.npsn-popup__close {
	position: absolute;
	top: 7px;
	right: 7px;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 6px;
	color: #ffffff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.npsn-popup__header {
	display: flex;
	padding: 16px 6px 0 16px;
}

.npsn-popup__tag {
	display: inline-flex;
	padding: 4px 8px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.2);
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 10px;
	text-transform: uppercase;
	color: #ffffff;
	white-space: nowrap;
}

.npsn-popup__content {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 8px 16px 20px;
}

.npsn-popup__heading {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 20px;
	line-height: 26px;
	letter-spacing: -0.2px;
	color: #ffffff;
}

.npsn-popup__subtext {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 600;
	font-size: 12px;
	color: #f1f5f9;
}

.npsn-popup__promo-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-radius: 12px;
	border: 1px solid #ffffff;
	background: rgba(255, 255, 255, 0.1);
}

.npsn-popup__promo-label-value {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.npsn-popup__promo-label {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 500;
	font-size: 9px;
	text-transform: uppercase;
	color: #f1f5f9;
}

.npsn-popup__promo-code {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 24px;
	color: #ffffff;
}

.npsn-popup__copy {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 6px 10px;
	border: none;
	border-radius: 8px;
	background: #0d34ff;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 11px;
	color: #ffffff;
	cursor: pointer;
	white-space: nowrap;
}

.npsn-popup__benefits {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.npsn-popup__benefits li {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 500;
	font-size: 13px;
	color: #ffffff;
	padding-left: 21px;
	position: relative;
}

.npsn-popup__footer {
	padding: 12px 16px 20px;
}

.npsn-popup__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	width: 100%;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 14px;
	color: #1a56ff;
	text-decoration: none;
}

@media (max-width: 768px) {
	.npsn-popup {
		right: 12px;
		bottom: 12px;
		left: 12px;
		width: auto;
	}

	.npsn-popup-reopen {
		right: 16px;
		bottom: 16px;
	}

	/* Mobile: Start in minimized "Bonus" state at first when site loads */
	.npsn-popup:not(.is-popped) {
		opacity: 0;
		visibility: hidden;
		transform: translateY(12px);
		pointer-events: none;
	}

	.npsn-popup-reopen:not(.is-popped-reopen-hidden) {
		display: inline-flex !important;
	}

	.npsn-popup-reopen.is-popped-reopen-hidden {
		display: none !important;
	}
}


/* =========================================================
 * Inner pages: single posts, pages, archives
 * Not in the Figma file (homepage-only design), so this
 * extends the same tokens — Inter Tight, Roboto Mono for
 * meta, #0b1120 / #131c30 surfaces, #3b82f6 accent.
 * ========================================================= */

/* --- Content surfaces --- */
.single .entry-content-wrap,
.page .entry-content-wrap,
.archive .entry-content-wrap,
.search .entry-content-wrap,
.single .content-bg,
.page .content-bg,
.archive .content-bg {
	background: transparent !important;
	box-shadow: none !important;
}

.single .entry.single-entry,
.archive .entry.loop-entry {
	box-shadow: none !important;
	background: transparent !important;
}

/* --- Body copy --- */
.single .entry-content,
.page .entry-content {
	font-family: 'Inter Tight', sans-serif;
	font-size: 16px;
	line-height: 1.7;
	color: #cbd5e1;
}

.single .entry-content p,
.page .entry-content p,
.single .entry-content li,
.page .entry-content li {
	color: #cbd5e1;
}

.single .entry-content strong,
.page .entry-content strong {
	color: #f1f5f9;
}

/* --- Headings --- */
.single .entry-content h1,
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6,
.page .entry-content h1,
.page .entry-content h2,
.page .entry-content h3,
.page .entry-content h4,
.page .entry-content h5,
.page .entry-content h6,
.single .entry-title,
.page .entry-title,
.archive .entry-title,
.archive .archive-title,
.search .entry-title {
	font-family: 'Inter Tight', sans-serif;
	color: #ffffff;
}

.single .entry-title,
.page .entry-title {
	font-weight: 700;
	letter-spacing: -0.5px;
}

.archive .archive-title,
.archive .page-title {
	text-transform: uppercase;
	letter-spacing: -0.4px;
}

/* --- Post meta (author, date, categories) --- */
.single .entry-meta,
.archive .entry-meta,
.single .entry-meta a,
.archive .entry-meta a,
.single .entry-taxonomies,
.archive .entry-taxonomies {
	font-family: 'Roboto Mono', monospace;
	font-size: 12px;
	color: #778aa6;
}

.single .entry-meta a:hover,
.archive .entry-meta a:hover {
	color: #e7e7e7;
}

.single .entry-taxonomies a,
.archive .entry-taxonomies a {
	color: #3b82f6;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* --- Links in content --- */
.single .entry-content a,
.page .entry-content a {
	color: #3b82f6;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single .entry-content a:hover,
.page .entry-content a:hover {
	color: #60a5fa;
}

/* --- Blockquotes, code, tables, rules --- */
.single .entry-content blockquote,
.page .entry-content blockquote {
	border-left: 3px solid #3b82f6;
	background: #131c30;
	padding: 16px 20px;
	border-radius: 8px;
	color: #e2e8f0;
}

.single .entry-content code,
.page .entry-content code,
.single .entry-content pre,
.page .entry-content pre {
	font-family: 'Roboto Mono', monospace;
	background: #131c30;
	border: 1px solid #1f2a40;
	border-radius: 6px;
	color: #a3e635;
}

.single .entry-content pre {
	padding: 16px;
	overflow-x: auto;
}

.single .entry-content hr,
.page .entry-content hr {
	border: 0;
	border-top: 1px solid #1f2a40;
}

.single .entry-content table th,
.single .entry-content table td {
	border-color: #1f2a40;
	color: #cbd5e1;
}

.single .entry-content table th {
	color: #ffffff;
	background: #131c30;
}

/* --- Featured image --- */
.single .post-thumbnail img,
.archive .post-thumbnail img {
	border-radius: 12px;
}

/* --- Hero header area --- */
.entry-hero,
.entry-hero-container-inner,
.entry-hero.page-hero-section .entry-header {
	background: #0b1120 !important;
}

.entry-hero .kadence-breadcrumbs,
.entry-hero .kadence-breadcrumbs a {
	font-family: 'Roboto Mono', monospace;
	font-size: 11px;
	color: #778aa6;
}

/* --- Archive / loop cards --- */
.archive .entry.loop-entry,
.search .entry.loop-entry,
.blog .entry.loop-entry {
	border: 1px solid #1f2a40;
	background: #131c30 !important;
	border-radius: 12px;
	overflow: hidden;
}

.archive .loop-entry .entry-content-wrap,
.search .loop-entry .entry-content-wrap,
.blog .loop-entry .entry-content-wrap {
	padding: 20px !important;
}

.archive .loop-entry .entry-summary,
.search .loop-entry .entry-summary,
.blog .loop-entry .entry-summary {
	color: #94a3b8;
	font-size: 14px;
}

/* --- Pagination --- */
.pagination .page-numbers {
	font-family: 'Inter Tight', sans-serif;
	color: #94a3b8;
	border-color: #1f2a40;
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover {
	background: #3b82f6;
	color: #ffffff;
	border-color: #3b82f6;
}

/* --- Comments --- */
.comments-area,
.comment-body,
.comment-respond {
	color: #cbd5e1;
}

.comments-area .comment-reply-title,
.comments-area .comments-title,
.comment-author,
.comment-author a {
	color: #ffffff;
	font-family: 'Inter Tight', sans-serif;
}

.comment-metadata,
.comment-metadata a {
	font-family: 'Roboto Mono', monospace;
	font-size: 11px;
	color: #778aa6;
}

.comment-list > li,
.comment-list .children > li {
	border-color: #1f2a40;
}

/* --- Forms --- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	background: #131c30;
	border: 1px solid #1f2a40;
	color: #f1f5f9;
	border-radius: 8px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
	border-color: #3b82f6;
	outline: none;
}

input::placeholder,
textarea::placeholder {
	color: #64748b;
}

/* --- Buttons --- */
.single .entry-content .wp-block-button__link,
.page .entry-content .wp-block-button__link,
input[type="submit"],
button[type="submit"] {
	background: #3b82f6;
	color: #ffffff;
	border-radius: 8px;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 600;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
	background: #1d4ed8;
}

/* =========================================================
 * Editorial article layout (single posts)
 * Narrow reading measure, clear hierarchy, homepage tokens.
 * ========================================================= */

/* --- Reading measure --- */
.single .content-container.site-container,
.single .entry-content-wrap {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

.single .content-area {
	margin-top: 0 !important;
	margin-bottom: 4rem !important;
}

.single .entry-content-wrap {
	padding: 0 24px !important;
}

/* --- Hero: stop the title overlapping the image --- */
.single .entry-hero-container-inner,
.single .entry-hero.post-hero-section .entry-header {
	min-height: 0 !important;
	position: static !important;
	background: transparent !important;
}

.single .entry-hero .hero-container {
	max-width: 820px;
	margin: 0 auto;
	padding: 48px 24px 0;
}

.single .entry-hero .entry-header {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-start;
	text-align: left;
	padding: 0 !important;
}

/* Category label above the title, styled like homepage pills */
.single .entry-hero .entry-taxonomies,
.single .entry-taxonomies {
	display: inline-flex;
	gap: 8px;
	margin: 0;
}

.single .entry-taxonomies .category-links a {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 4px;
	background: #3b82f6;
	color: #ffffff !important;
	font-family: 'Manrope', 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	text-decoration: none;
}

/* --- Title --- */
.single .entry-hero .entry-title,
.single .entry-title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: clamp(30px, 4.4vw, 46px);
	line-height: 1.1;
	letter-spacing: -1px;
	color: #ffffff;
	margin: 0;
	text-transform: none;
}

/* --- Byline --- */
.single .entry-hero .entry-meta,
.single .entry-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding-top: 4px;
	border-top: 1px solid #1f2a40;
	width: 100%;
	margin-top: 4px;
	font-family: 'Roboto Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: #778aa6;
}

.single .entry-meta a {
	color: #94a3b8;
	text-decoration: none;
}

/* --- Featured image --- */
.single .post-thumbnail {
	max-width: 820px;
	margin: 28px auto 8px;
	padding: 0 24px;
}

.single .post-thumbnail img {
	width: 100%;
	height: auto;
	max-height: 460px;
	object-fit: cover;
	border-radius: 14px;
	border: 1px solid #1f2a40;
	display: block;
}

/* --- Body copy --- */
.single .entry-content {
	font-size: 18px;
	line-height: 1.75;
	color: #c7d2de;
	letter-spacing: 0.1px;
}

.single .entry-content > p {
	margin: 0 0 1.35em;
}

/* Lead paragraph */
.single .entry-content > p:first-of-type {
	font-size: 20px;
	line-height: 1.65;
	color: #e2e8f0;
	font-weight: 400;
}

/* --- In-article headings, with the homepage accent bar --- */
.single .entry-content h2 {
	position: relative;
	font-size: 26px;
	line-height: 1.25;
	letter-spacing: -0.5px;
	color: #ffffff;
	margin: 2.2em 0 0.7em;
	padding-left: 18px;
}

.single .entry-content h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.16em;
	bottom: 0.16em;
	width: 5px;
	border-radius: 999px;
	background: #3b82f6;
}

.single .entry-content h3 {
	font-size: 21px;
	line-height: 1.3;
	letter-spacing: -0.3px;
	color: #f1f5f9;
	margin: 1.8em 0 0.6em;
}

.single .entry-content h4 {
	font-size: 17px;
	color: #e2e8f0;
	margin: 1.6em 0 0.5em;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

/* --- Lists --- */
.single .entry-content ul,
.single .entry-content ol {
	margin: 0 0 1.35em;
	padding-left: 1.2em;
}

.single .entry-content li {
	margin-bottom: 0.5em;
	padding-left: 0.2em;
}

.single .entry-content ul li::marker {
	color: #3b82f6;
}

.single .entry-content ol li::marker {
	color: #3b82f6;
	font-family: 'Roboto Mono', monospace;
	font-weight: 700;
}

/* --- Blockquote as a pull-quote --- */
.single .entry-content blockquote {
	margin: 2em 0;
	padding: 20px 24px;
	border: 1px solid #1f2a40;
	border-left: 4px solid #a3e635;
	border-radius: 12px;
	background: #131c30;
	font-size: 19px;
	line-height: 1.55;
	color: #f1f5f9;
}

.single .entry-content blockquote p:last-child {
	margin-bottom: 0;
}

/* --- Inline images & captions --- */
.single .entry-content img {
	border-radius: 12px;
}

.single .entry-content figcaption,
.single .entry-content .wp-caption-text {
	font-family: 'Roboto Mono', monospace;
	font-size: 11px;
	color: #778aa6;
	text-align: left;
	margin-top: 8px;
}

/* --- Divider --- */
.single .entry-content hr {
	margin: 2.5em 0;
	border-top: 1px solid #1f2a40;
}

/* --- Tables --- */
.single .entry-content table {
	border: 1px solid #1f2a40;
	border-radius: 12px;
	overflow: hidden;
	font-size: 15px;
	width: 100%;
}

.single .entry-content table th,
.single .entry-content table td {
	padding: 10px 14px;
}

/* --- Tags --- */
.single .entry-tags a,
.single .tags-links a {
	display: inline-block;
	margin: 0 6px 6px 0;
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid #1f2a40;
	background: #131c30;
	font-family: 'Inter Tight', sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #cbd5e1 !important;
	text-decoration: none;
}

.single .entry-tags a:hover,
.single .tags-links a:hover {
	border-color: #3b82f6;
	color: #ffffff !important;
}

/* --- Post navigation (prev/next) --- */
.single .post-navigation {
	max-width: 820px;
	margin: 0 auto;
	padding: 24px;
	border-top: 1px solid #1f2a40;
}

.single .post-navigation a {
	color: #e2e8f0;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 600;
	text-decoration: none;
}

.single .post-navigation .nav-subtitle {
	font-family: 'Roboto Mono', monospace;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #3b82f6;
}

/* --- Related posts --- */
.single .entry-related {
	background: transparent !important;
	border-top: 1px solid #1f2a40;
	padding-top: 40px;
}

.single .entry-related .entry-related-title,
.single .entry-related-title {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: -0.4px;
	color: #ffffff;
}

.single .entry-related .entry.loop-entry {
	background: #131c30 !important;
	border: 1px solid #1f2a40;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: none !important;
}

.single .entry-related .loop-entry .entry-title {
	font-size: 15px;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: -0.3px;
}

.single .entry-related .loop-entry .entry-title a {
	color: #ffffff;
	text-decoration: none;
}

/* --- Author box --- */
.single .entry-author-profile {
	max-width: 820px;
	margin: 32px auto;
	padding: 20px 24px;
	border: 1px solid #1f2a40;
	border-radius: 12px;
	background: #131c30;
}

.single .entry-author-profile .entry-author-name,
.single .entry-author-profile .author-name {
	color: #ffffff;
	font-family: 'Inter Tight', sans-serif;
}

.single .entry-author-profile .entry-author-description {
	color: #94a3b8;
	font-size: 14px;
}

@media (max-width: 767px) {
	.single .entry-content {
		font-size: 17px;
	}

	.single .entry-content > p:first-of-type {
		font-size: 18px;
	}

	.single .entry-hero .hero-container {
		padding: 32px 20px 0;
	}

	.single .post-thumbnail,
	.single .entry-content-wrap {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* =========================================================
 * Section 8: NPSPORT NEWS Custom Contact Page
 * Designed to replace legacy bloated templates with a sleek,
 * dark-themed, responsive newsroom contact experience.
 * ========================================================= */

.page-id-688 .entry-header,
.page-template-default.page-id-688 .entry-hero,
.page-id-688 #primary .entry-header {
	display: none !important;
}

.page-id-688 .content-container,
.page-id-688 #primary,
.page-id-688 .entry-content-wrap {
	background: transparent !important;
	padding-top: 0 !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
}

.page-id-688 .entry-content {
	max-width: 100% !important;
}

.npsn-contact-wrap {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #e2e8f0;
	padding: 40px 0 80px;
}

/* --- Hero Banner --- */
.npsn-contact-hero {
	text-align: center;
	margin-bottom: 48px;
	position: relative;
}

.npsn-contact-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 14px;
	border-radius: 999px;
	background: rgba(37, 99, 235, 0.15);
	border: 1px solid rgba(59, 130, 246, 0.35);
	color: #60a5fa;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.npsn-contact-hero__badge-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #3b82f6;
	box-shadow: 0 0 8px #3b82f6;
}

.npsn-contact-hero__title {
	font-size: clamp(28px, 4.5vw, 44px);
	font-weight: 800;
	color: #ffffff;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 14px;
}

.npsn-contact-hero__subtitle {
	font-size: clamp(15px, 2vw, 17px);
	color: #94a3b8;
	max-width: 680px;
	margin: 0 auto;
	line-height: 1.6;
}

/* --- Channels Grid --- */
.npsn-contact-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 48px;
	align-items: stretch;
}

.npsn-contact-cards > p,
.npsn-contact-main-grid > p,
.npsn-contact-wrap > p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.npsn-contact-card {
	background: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	position: relative;
	overflow: hidden;
	height: 100%;
	box-sizing: border-box;
}

.npsn-contact-card:hover {
	transform: translateY(-3px);
	border-color: rgba(59, 130, 246, 0.4);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

.npsn-contact-card__icon-box {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: rgba(37, 99, 235, 0.12);
	border: 1px solid rgba(59, 130, 246, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #60a5fa;
	margin-bottom: 20px;
}

.npsn-contact-card__icon-box svg {
	width: 22px;
	height: 22px;
}

.npsn-contact-card__title {
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 8px;
}

.npsn-contact-card__desc {
	font-size: 14px;
	color: #94a3b8;
	line-height: 1.5;
	margin: 0 0 20px;
	flex-grow: 1;
}

.npsn-contact-card__action {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #38bdf8;
	text-decoration: none;
	padding: 6px 14px;
	border-radius: 6px;
	background: rgba(56, 189, 248, 0.08);
	border: 1px solid rgba(56, 189, 248, 0.2);
	transition: background 0.15s ease, color 0.15s ease;
}

.npsn-contact-card__action:hover {
	background: rgba(56, 189, 248, 0.18);
	color: #ffffff;
}

/* --- Main 2-Column Row: Form & FAQ --- */
.npsn-contact-main-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 28px;
	align-items: start;
}

/* Left: Form Card */
.npsn-contact-form-panel {
	background: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 36px 32px;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25);
}

.npsn-contact-form-panel__header {
	margin-bottom: 28px;
}

.npsn-contact-form-panel__heading {
	font-size: 22px;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 6px;
}

.npsn-contact-form-panel__sub {
	font-size: 14px;
	color: #94a3b8;
	margin: 0;
}

.npsn-form-group {
	margin-bottom: 20px;
}

.npsn-form-group label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #cbd5e1;
	margin-bottom: 8px;
	letter-spacing: 0.02em;
}

.npsn-form-group label span {
	color: #ef4444;
}

.npsn-form-input,
.npsn-form-select,
.npsn-form-textarea {
	width: 100% !important;
	background: #172033 !important;
	border: 1px solid #29354d !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-family: inherit !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
	box-sizing: border-box !important;
}

.npsn-form-input:focus,
.npsn-form-select:focus,
.npsn-form-textarea:focus {
	outline: none !important;
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
}

.npsn-form-select {
	appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px !important;
	padding-right: 40px !important;
	cursor: pointer;
}

.npsn-form-textarea {
	min-height: 130px;
	resize: vertical;
}

.npsn-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.npsn-form-submit-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px 24px;
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}

.npsn-form-submit-btn:hover {
	background: linear-gradient(135deg, #3b82f6, #2563eb);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(37, 99, 235, 0.45);
}

.npsn-form-notice {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #64748b;
	margin-top: 14px;
	text-align: center;
	justify-content: center;
}

.npsn-form-alert {
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
	margin-bottom: 20px;
	display: none;
}

.npsn-form-alert--success {
	background: rgba(34, 197, 94, 0.15);
	border: 1px solid rgba(34, 197, 94, 0.3);
	color: #4ade80;
}

/* Right: FAQ Panel */
.npsn-contact-faq-panel {
	background: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 32px 28px;
}

.npsn-contact-faq-panel__header {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.npsn-contact-faq-panel__title {
	font-size: 20px;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 6px;
}

.npsn-contact-faq-panel__sub {
	font-size: 13px;
	color: #94a3b8;
	margin: 0;
}

.npsn-faq-item {
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.npsn-faq-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.npsn-faq-question {
	font-size: 15px;
	font-weight: 700;
	color: #f1f5f9;
	margin: 0 0 8px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.npsn-faq-question__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(37, 99, 235, 0.2);
	color: #60a5fa;
	font-size: 11px;
	font-weight: 700;
	flex-shrink: 0;
	margin-top: 1px;
}

.npsn-faq-answer {
	font-size: 13.5px;
	color: #94a3b8;
	line-height: 1.55;
	margin: 0 0 0 32px;
}

.npsn-faq-answer a {
	color: #38bdf8;
	text-decoration: underline;
}

/* --- Responsive Breakpoints --- */
@media (max-width: 991px) {
	.npsn-contact-cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.npsn-contact-main-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.npsn-contact-form-panel {
		padding: 28px 20px;
	}

	.npsn-contact-faq-panel {
		padding: 28px 20px;
	}
}

@media (max-width: 640px) {
	.npsn-form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.npsn-contact-wrap {
		padding: 24px 0 60px;
	}

	.npsn-contact-hero {
		margin-bottom: 32px;
	}
}

/* =========================================================
 * Section 9: NPSPORT NEWS Company & Policy Pages Design System
 * (About Us, Editorial Policy, Privacy Policy, Terms, Cookies, Responsible Gaming)
 * ========================================================= */

.page .entry-header {
	display: none !important;
}

.page .content-container,
.page #primary,
.page .entry-content-wrap {
	background: transparent !important;
	padding-top: 0 !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
}

.page .entry-content {
	max-width: 100% !important;
}

.npsn-legal-wrap {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #e2e8f0;
	padding: 40px 0 80px;
}

/* --- Hero Banner --- */
.npsn-legal-hero {
	text-align: center;
	margin-bottom: 40px;
}

.npsn-legal-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 14px;
	border-radius: 999px;
	background: rgba(37, 99, 235, 0.15);
	border: 1px solid rgba(59, 130, 246, 0.35);
	color: #60a5fa;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.npsn-legal-hero__badge-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #3b82f6;
	box-shadow: 0 0 8px #3b82f6;
}

.npsn-legal-hero__title {
	font-size: clamp(28px, 4.5vw, 42px);
	font-weight: 800;
	color: #ffffff;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 14px;
}

.npsn-legal-hero__meta {
	font-size: 14px;
	color: #94a3b8;
	margin: 0;
}

/* --- Card Shell --- */
.npsn-legal-card {
	background: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 44px 40px;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25);
	line-height: 1.7;
	color: #cbd5e1;
	font-size: 15px;
}

/* --- Typography & Elements inside Legal Card --- */
.npsn-legal-card h2 {
	font-size: 22px;
	font-weight: 800;
	color: #ffffff;
	margin: 36px 0 16px;
	padding-left: 14px;
	border-left: 3px solid #3b82f6;
	line-height: 1.25;
}

.npsn-legal-card h2:first-of-type {
	margin-top: 0;
}

.npsn-legal-card h3 {
	font-size: 17px;
	font-weight: 700;
	color: #f1f5f9;
	margin: 24px 0 10px;
}

.npsn-legal-card p {
	margin: 0 0 16px;
	color: #cbd5e1;
}

.npsn-legal-card ul {
	margin: 0 0 24px;
	padding-left: 20px;
	color: #94a3b8;
}

.npsn-legal-card li {
	margin-bottom: 8px;
}

.npsn-legal-card a {
	color: #38bdf8;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.npsn-legal-card a:hover {
	color: #7dd3fc;
}

/* --- Feature Callout Box --- */
.npsn-callout-box {
	background: rgba(37, 99, 235, 0.08);
	border: 1px solid rgba(59, 130, 246, 0.25);
	border-radius: 12px;
	padding: 20px 24px;
	margin: 28px 0;
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.npsn-callout-box--warning {
	background: rgba(239, 68, 68, 0.08);
	border-color: rgba(239, 68, 68, 0.25);
}

.npsn-callout-box__icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	margin-top: 2px;
	color: #60a5fa;
}

.npsn-callout-box--warning .npsn-callout-box__icon {
	color: #f87171;
}

.npsn-callout-box__text {
	font-size: 14.5px;
	color: #e2e8f0;
	line-height: 1.6;
}

.npsn-callout-box__text strong {
	color: #ffffff;
}

/* --- 3-Col Pillars Grid for About Us --- */
.npsn-pillars-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: 28px 0 36px;
}

.npsn-pillar-item {
	background: #172033;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 12px;
	padding: 24px 20px;
}

.npsn-pillar-item__title {
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 8px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.npsn-pillar-item__title span {
	color: #60a5fa;
}

.npsn-pillar-item__desc {
	font-size: 13.5px;
	color: #94a3b8;
	line-height: 1.55;
	margin: 0;
}

/* --- Table styling for Cookies & Terms --- */
.npsn-legal-table-wrap {
	overflow-x: auto;
	margin: 24px 0 32px;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.npsn-legal-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	font-size: 14px;
}

.npsn-legal-table th {
	background: #172033;
	color: #ffffff;
	font-weight: 700;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.npsn-legal-table td {
	padding: 14px 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	color: #94a3b8;
}

.npsn-legal-table tr:last-child td {
	border-bottom: none;
}

.npsn-legal-table tr:hover td {
	background: rgba(255, 255, 255, 0.02);
}

@media (max-width: 768px) {
	.npsn-legal-card {
		padding: 28px 20px;
	}
	.npsn-pillars-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}


