/*
 * NarrowTheList Engine front-end stylesheet
 * Version 0.11.4-state-visual
 *
 * This file consolidates CSS previously printed by the Engine into
 * multiple inline <style> blocks in wp_head.
 * No styling rules were intentionally redesigned in this release.
 */

/* ntl_metro_page_css */
.ntl-metro-page,
	.ntl-metro-page * {
		box-sizing: border-box;
	}

	.ntl-metro-page {
		--ntl-dark: #17212b;
		--ntl-text: #26323d;
		--ntl-muted: #66717c;
		--ntl-light: #f5f7f8;
		--ntl-border: #dce2e6;
		--ntl-accent: #cc7a16;
		--ntl-white: #ffffff;

		max-width: 1260px;
		margin: 0 auto;
		color: var(--ntl-text);
		line-height: 1.6;
	}

	.ntl-metro-intro {
		margin-bottom: 34px;
	}

	.ntl-metro-eyebrow {
		margin: 0 0 8px;
		color: var(--ntl-accent);
		font-size: 14px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .04em;
	}

	.ntl-metro-lead {
		max-width: 900px;
		font-size: 18px;
		color: var(--ntl-muted);
	}

	.ntl-metro-section {
		padding: 34px 0;
		border-top: 1px solid var(--ntl-border);
	}

	.ntl-metro-section h2 {
		margin: 0 0 20px;
		font-size: clamp(25px, 2.1vw, 34px);
		color: var(--ntl-dark);
	}

	.ntl-metro-section h3 {
		margin: 0 0 8px;
	}

	.ntl-metro-metrics {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}

	.ntl-metro-metrics-small {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ntl-metro-metric {
		background: var(--ntl-light);
		border: 1px solid var(--ntl-border);
		border-radius: 10px;
		padding: 15px 16px;
	}

	.ntl-metro-metric-label {
		font-size: 13px;
		color: var(--ntl-muted);
	}

	.ntl-metro-metric-value {
		margin-top: 4px;
		font-size: 21px;
		font-weight: 700;
		color: var(--ntl-dark);
	}

	.ntl-metro-two-column {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
		align-items: start;
	}

	.ntl-metro-score-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 28px;
	}

	.ntl-metro-score {
		padding: 9px 0;
	}

	.ntl-metro-score-top {
		display: flex;
		justify-content: space-between;
		gap: 15px;
		margin-bottom: 6px;
	}

	.ntl-metro-score-track {
		height: 8px;
		background: #e8ecef;
		border-radius: 999px;
		overflow: hidden;
	}

	.ntl-metro-score-track span {
		display: block;
		height: 100%;
		background: var(--ntl-accent);
		border-radius: 999px;
	}

	.ntl-metro-summary {
		margin-bottom: 18px;
	}

	.ntl-metro-outlook {
		margin-top: 24px;
		padding: 18px 20px;
		background: #fff8ee;
		border-left: 4px solid var(--ntl-accent);
		border-radius: 6px;
	}

	.ntl-metro-outlook p {
		margin-bottom: 0;
		color: var(--ntl-muted);
	}

	.ntl-metro-topic-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 9px;
		margin-top: 18px;
	}

	.ntl-metro-topic-grid span {
		padding: 8px 13px;
		background: #fff3df;
		border: 1px solid #e3b46b;
		border-radius: 999px;
		font-size: 14px;
		font-weight: 600;
	}

	@media (max-width: 800px) {

		.ntl-metro-metrics,
		.ntl-metro-metrics-small,
		.ntl-metro-two-column,
		.ntl-metro-score-grid {
			grid-template-columns: 1fr;
		}

	}


/* ntl_tier_flow_css */
.ntl-match-details {
		margin-top: 18px;
		border-top: 1px solid #dfe4e8;
		padding-top: 14px;
	}

	.ntl-match-details summary {
		cursor: pointer;
		font-weight: 700;
		color: #b96f13;
	}

	.ntl-match-detail-body {
		margin-top: 12px;
	}

	.ntl-match-detail-row {
		display: flex;
		justify-content: space-between;
		gap: 20px;
		padding: 7px 0;
		border-bottom: 1px solid #edf0f2;
	}

	.ntl-result-actions {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 18px;
		flex-wrap: wrap;
		margin-top: 18px;
	}

	.ntl-finalist-choice,
	.ntl-tier2-option {
		display: flex;
		align-items: center;
		gap: 9px;
		cursor: pointer;
	}

	.ntl-finalist-choice {
		font-weight: 700;
	}

	.ntl-finalist-choice input,
	.ntl-tier2-option input {
		width: 18px;
		height: 18px;
	}

	.ntl-explore-link {
		display: inline-block;
		padding: 10px 16px;
		border: 2px solid #c97912;
		border-radius: 7px;
		background: #e79a24;
		color: #111 !important;
		font-weight: 600;
		text-decoration: none;
		line-height: 1.2;
		transition: filter .15s ease, transform .15s ease;
	}

	.ntl-explore-link:hover,
	.ntl-explore-link:focus {
		filter: brightness(1.07);
		transform: translateY(-1px);
		text-decoration: none;
	}

	.ntl-tag-link {
		text-decoration: none;
		cursor: pointer;
	}

	.ntl-tag-link:hover,
	.ntl-tag-link:focus {
		text-decoration: underline;
	}

	.ntl-city-tag {
		font-weight: 700;
	}

	.ntl-tier1-next {
		margin-top: 28px;
		text-align: center;
	}

	.ntl-selection-message {
		margin-bottom: 12px;
		color: #66717c;
	}

	.ntl-tier2-submit[disabled] {
		opacity: .45;
		cursor: not-allowed;
	}

	.ntl-tier2-finalists {
		margin-bottom: 30px;
	}

	.ntl-tier2-groups {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	.ntl-tier2-group {
		padding: 20px;
		border: 1px solid #dce2e6;
		border-radius: 10px;
		background: #ffffff;
	}

	.ntl-tier2-group h2 {
		margin-top: 0;
		font-size: 22px;
	}

	.ntl-tier2-options {
		display: grid;
		gap: 10px;
	}

	@media (max-width: 760px) {

		.ntl-tier2-groups {
			grid-template-columns: 1fr;
		}

	}


/* ntl_compare_page_css */
.ntl-compare-table-wrap {
		width: 100%;
		overflow-x: auto;
		margin-top: 24px;
	}

	.ntl-compare-table {
		width: 100%;
		min-width: 760px;
		border-collapse: collapse;
		background: #fff;
	}

	.ntl-compare-table th,
	.ntl-compare-table td {
		padding: 14px 16px;
		border-bottom: 1px solid #e1e5e8;
		text-align: center;
		vertical-align: middle;
	}

	.ntl-compare-table th:first-child {
		text-align: left;
		width: 28%;
	}

	.ntl-compare-table thead th {
		background: #f5f7f8;
		vertical-align: top;
	}

	.ntl-compare-city {
		display: block;
		font-size: 19px;
		font-weight: 700;
		margin-bottom: 7px;
	}

	.ntl-remove-city {
		display: inline-block;
		font-size: 13px;
		font-weight: 600;
	}

	.ntl-compare-highlight th,
	.ntl-compare-highlight td {
		background: #fff5e5;
		font-size: 18px;
	}

	.ntl-compare-highlight td strong {
		color: #b96f13;
		font-size: 24px;
	}

	.ntl-compare-section-row th {
		padding-top: 24px;
		background: #ffffff;
		font-size: 20px;
		font-weight: 700;
		color: #17212b;
	}

	.ntl-add-location {
		margin-top: 36px;
		padding: 24px;
		border: 1px solid #dce2e6;
		border-radius: 10px;
		background: #f8fafb;
	}

	.ntl-add-location h2 {
		margin-top: 0;
	}

	.ntl-add-location form {
		display: flex;
		gap: 12px;
		flex-wrap: wrap;
		margin-top: 18px;
	}

	.ntl-add-location select {
		min-width: 280px;
		padding: 10px 12px;
		border: 1px solid #cfd6dc;
		border-radius: 5px;
		background: #fff;
	}

	@media (max-width: 760px) {

		.ntl-add-location form {
			display: block;
		}

		.ntl-add-location select {
			width: 100%;
			min-width: 0;
			margin-bottom: 12px;
		}

	}


/* ntl_v04_refinement_css */
/* Hide development-only database coverage sentence if an old cached card survives. */
	.ntl-selectable-result .ntl-result-top .ntl-muted {
		display: none;
	}

	.ntl-compare-table tr.ntl-data-row > th,
	.ntl-compare-table tr.ntl-data-row > td {
		background: #ffffff;
	}

	.ntl-compare-table tr.ntl-row-alt > th,
	.ntl-compare-table tr.ntl-row-alt > td {
		background: #faf7f1;
	}

	.ntl-compare-section-row th {
		padding: 15px 16px !important;
		background: #eef1f3 !important;
		border-top: 3px solid #d5dade;
		border-bottom: 1px solid #cfd5da;
	}

	.ntl-explain-row > td {
		padding: 0 16px 10px !important;
		background: #fffdf9;
		text-align: left !important;
	}

	.ntl-score-explanation {
		font-size: 14px;
		color: #56616b;
	}

	.ntl-score-explanation summary {
		cursor: pointer;
		display: inline-block;
		font-weight: 700;
		color: #b96f13;
		padding: 7px 0;
	}

	.ntl-score-explanation p {
		margin: 5px 0 12px;
		max-width: 980px;
	}

	.ntl-component-table-wrap {
		overflow-x: auto;
		margin: 8px 0 12px;
	}

	.ntl-component-table {
		width: 100%;
		min-width: 620px;
		border-collapse: collapse;
		background: #fff;
	}

	.ntl-component-table th,
	.ntl-component-table td {
		padding: 9px 12px !important;
		border: 1px solid #e1e5e8 !important;
		font-size: 13px;
		text-align: center !important;
	}

	.ntl-component-table th:first-child {
		text-align: left !important;
	}

	.ntl-compare-method-note {
		margin-top: 14px;
		padding: 11px 14px;
		background: #f7f8f9;
		border-left: 3px solid #cc7a16;
		font-size: 14px;
		color: #5e6872;
	}

	.ntl-add-location h2 {
		margin-bottom: 8px;
	}


/* ntl_v05_css */
.ntl-tradeoff-details summary { color: #7c5a2b; }
	.ntl-tradeoff-note { padding: 10px 12px; background: #f8f6f2; border-left: 3px solid #cc7a16; }

	.ntl-match-summary-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
		margin: 22px 0 28px;
	}
	.ntl-match-summary-card {
		border: 1px solid #dce2e6;
		border-radius: 10px;
		padding: 17px;
		background: #fff;
	}
	.ntl-match-summary-card h2 { margin: 0 0 6px; font-size: 19px; }
	.ntl-summary-match { font-size: 22px; font-weight: 600; color: #b96f13; margin-bottom: 12px; }
	.ntl-match-summary-card p { margin: 8px 0; font-size: 14px; color: #56616b; }

	.ntl-nearby-explain { margin: 10px 0; padding: 9px 11px; background: #f5f7f8; border-radius: 6px; }

	.ntl-nearby-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}
	.ntl-nearby-card {
		border: 1px solid var(--ntl-border, #dce2e6);
		border-radius: 10px;
		padding: 18px;
		background: #fff;
	}
	.ntl-nearby-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
	.ntl-nearby-card-top h3 { margin: 0; }
	.ntl-nearby-card-top span { white-space: nowrap; font-size: 13px; font-weight: 700; color: #b96f13; }
	.ntl-nearby-type { font-size: 13px; font-weight: 700; color: #66717c; text-transform: uppercase; letter-spacing: .03em; }
	.ntl-nearby-disclaimer { margin-top: 12px; font-size: 13px; color: #66717c; }

	.ntl-v05-score-grid { margin-top: 20px; }
	.ntl-v05-industries { margin-top: 24px; }
	.ntl-data-periods { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 14px 0; font-size: 14px; }
	.ntl-data-transparency { background: #fafbfc; padding-left: 18px !important; padding-right: 18px !important; border: 1px solid #e1e5e8; border-radius: 10px; }
	.ntl-data-transparency a { font-weight: 700; }
	.ntl-source-families, .ntl-data-notes { font-size: 14px; color: #5e6872; }
	.ntl-data-links a + a { margin-left: 16px; }
	.ntl-compare-data-note { margin-top: 30px; }

	/* V0.6: restore full-width Metro layout inside GeneratePress */
	body.single-metro_area .site-content {
		display: block !important;
		width: 100% !important;
	}
	body.single-metro_area .content-area {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
	}
	body.single-metro_area .widget-area { display: none !important; }
	body.single-metro_area .site-main { margin: 0 !important; }
	body.single-metro_area .inside-article,
	body.single-metro_area .entry-content {
		width: 100% !important;
		max-width: none !important;
	}
	.ntl-metro-page {
		width: min(1260px, calc(100% - 40px));
		max-width: 1260px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* V0.6: Nearby Access cards need room to breathe */
	.ntl-nearby-grid {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: 20px;
	}
	.ntl-nearby-card { min-width: 0; }
	.ntl-nearby-card-top {
		display: block;
	}
	.ntl-nearby-card-top h3 {
		margin: 0 0 7px;
		line-height: 1.2;
	}
	.ntl-nearby-card-top span {
		display: inline-block;
		margin-bottom: 7px;
	}

	/* V0.7: inline score/rating explanations */
	.ntl-score-key { margin: 8px 0 24px; font-size: 14px; color: #5e6872; }
	.ntl-score-label { display: inline-flex; align-items: center; gap: 6px; }
	.ntl-info-wrap { position: relative; display: inline-flex; vertical-align: middle; }
	.ntl-info-tip {
		appearance: none; -webkit-appearance: none;
		border: 0; background: transparent; padding: 0; margin: 0;
		font: inherit; line-height: 1; color: #6b747c; cursor: help;
	}
	.ntl-info-tip:hover, .ntl-info-tip:focus { color: #b96f13; outline: none; }
	.ntl-info-tooltip {
		position: absolute; z-index: 9999; left: 50%; bottom: calc(100% + 9px);
		transform: translateX(-50%); width: min(320px, 75vw);
		padding: 10px 12px; border: 1px solid #d9dee2; border-radius: 7px;
		background: #fff; color: #2c3338; box-shadow: 0 5px 18px rgba(0,0,0,.12);
		font-size: 13px; font-weight: 400; line-height: 1.45; text-align: left;
		opacity: 0; visibility: hidden; pointer-events: none;
	}
	.ntl-info-wrap:hover .ntl-info-tooltip,
	.ntl-info-wrap:focus-within .ntl-info-tooltip { opacity: 1; visibility: visible; }
	.ntl-info-wrap:first-child .ntl-info-tooltip { left: 0; transform: none; }
	.ntl-match-detail-row .ntl-info-tooltip, .ntl-compare-table .ntl-info-tooltip { white-space: normal; }

	@media (max-width: 900px) {
		.ntl-match-summary-grid,
		.ntl-nearby-grid { grid-template-columns: 1fr; }
	}


/* anonymous wp_head CSS block 1 */
.ntl-tier2-selected-earlier {
				background: #f4f6f7;
				opacity: .82;
			}

			.ntl-tier2-selected-earlier small {
				font-weight: 400;
				color: #66717c;
			}

			.ntl-v09-industries {
				margin-top: 22px;
			}

			.ntl-v09-group-note {
				margin-top: -4px;
				margin-bottom: 14px;
				color: #56616b;
			}

			.ntl-v09-industry-options {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.ntl-browse-home-link {
				margin: 26px 0 4px;
				text-align: center;
			}

			.ntl-browse-home-link a,
			.ntl-metro-discovery-links a,
			.ntl-state-breadcrumb a,
			.ntl-state-back a {
				font-weight: 600;
			}

			.ntl-state-directory {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 14px;
				margin-top: 24px;
			}

			.ntl-state-card {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 12px;
				padding: 16px 18px;
				border: 1px solid #dce2e6;
				border-radius: 8px;
				background: #fff;
				text-decoration: none;
			}

			.ntl-state-card span {
				font-size: 13px;
				color: #66717c;
				white-space: nowrap;
			}

			.ntl-state-page,
			.ntl-browse-locations {
				max-width: 1260px;
				margin: 0 auto;
			}

			.ntl-state-breadcrumb {
				margin-bottom: 14px;
				font-size: 14px;
			}

			.ntl-location-list {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 8px 22px;
				margin: 16px 0 28px;
				padding-left: 20px;
			}

			.ntl-region-section {
				margin-top: 30px;
			}

			.ntl-metro-discovery-links {
				margin-top: 28px;
				padding-top: 16px;
				border-top: 1px solid #dce2e6;
				font-size: 14px;
			}

			.ntl-state-back {
				margin-top: 30px;
			}

			@media ( max-width: 800px ) {

				.ntl-v09-industry-options,
				.ntl-state-directory,
				.ntl-location-list {
					grid-template-columns: 1fr;
				}
			}


/* anonymous wp_head CSS block 2 */
.ntl-trend-grid,
		.ntl-trends-category-grid {
			display:grid;
			grid-template-columns:repeat(2,minmax(0,1fr));
			gap:16px;
		}
		.ntl-trend-card,
		.ntl-trends-metric {
			padding:18px;
			border:1px solid #dce2e6;
			border-radius:8px;
			background:#fff;
		}
		.ntl-trend-card-head {
			display:flex;
			justify-content:space-between;
			gap:18px;
			align-items:flex-start;
		}
		.ntl-trend-card h3,
		.ntl-trends-metric h3 {
			margin:0 0 6px;
			font-size:18px;
		}
		.ntl-trend-value {
			font-size:22px;
			font-weight:700;
		}
		.ntl-trend-directions {
			display:flex;
			gap:16px;
			text-align:right;
		}
		.ntl-trend-directions div { min-width:90px; }
		.ntl-trend-directions span {
			display:block;
			font-size:12px;
			color:#66717c;
		}
		.ntl-trend-directions strong {
			display:block;
			font-size:15px;
		}
		.ntl-trend-details { margin-top:14px; }
		.ntl-trend-details summary {
			cursor:pointer;
			font-weight:600;
		}
		.ntl-trend-note { font-size:14px; }
		.ntl-trend-disclaimer {
			margin-top:26px;
			padding:18px 20px;
			border:1px solid #d8dde1;
			border-radius:8px;
			background:#f7f8f9;
		}
		.ntl-trend-disclaimer h3 { margin-top:0; }
		.ntl-trends-category { margin-top:32px; }
		.ntl-trend-location-list {
			margin:12px 0 0;
			padding-left:18px;
		}
		.ntl-trend-location-list li { margin:7px 0; }
		.ntl-trend-location-list span {
			display:block;
			font-size:13px;
			color:#66717c;
		}
		.ntl-trend-empty {
			color:#66717c;
			font-size:14px;
		}
		@media (max-width:800px) {
			.ntl-trend-grid,
			.ntl-trends-category-grid { grid-template-columns:1fr; }
			.ntl-trend-card-head { display:block; }
			.ntl-trend-directions {
				margin-top:12px;
				text-align:left;
			}
		}

/* =========================================================
   STATE VISUAL — LOCAL SVG FILES
   ========================================================= */
.ntl-state-visual {
	display: grid;
	grid-template-columns: minmax(300px, 1.35fr) minmax(220px, .65fr);
	gap: 28px;
	align-items: stretch;
	margin: 22px 0 30px;
	border: 1px solid #dce2e6;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}

.ntl-state-map-panel {
	min-height: 275px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 26px 34px;
	background:
		linear-gradient(135deg, rgba(204,122,22,.055) 25%, transparent 25%) 0 0 / 24px 24px,
		linear-gradient(315deg, rgba(23,33,43,.035) 25%, transparent 25%) 0 0 / 24px 24px,
		#f7f8f9;
}

.ntl-state-map-img {
	display: block;
	width: 100%;
	height: 245px;
	object-fit: contain;
	filter: drop-shadow(4px 5px 2px rgba(23,33,43,.12));
}

.ntl-state-visual-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px 34px 30px 4px;
}

.ntl-state-visual-eyebrow {
	margin-bottom: 7px;
	color: #b96f13;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
}

.ntl-state-visual-abbr {
	font-size: clamp(58px, 7vw, 92px);
	font-weight: 800;
	line-height: .9;
	letter-spacing: -.04em;
	color: #17212b;
}

.ntl-state-visual-name {
	margin-top: 10px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.15;
	color: #26323d;
}

.ntl-state-visual-count {
	margin-top: 18px;
	padding-top: 15px;
	border-top: 1px solid #dce2e6;
	font-size: 14px;
	color: #66717c;
}

.ntl-state-visual-count strong {
	color: #17212b;
	font-size: 18px;
}

@media (max-width: 760px) {
	.ntl-state-visual {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ntl-state-map-panel {
		min-height: 220px;
		padding: 22px 26px;
	}

	.ntl-state-map-img {
		height: 205px;
	}

	.ntl-state-visual-copy {
		padding: 22px 26px 26px;
		border-top: 1px solid #dce2e6;
	}

	.ntl-state-visual-abbr {
		font-size: 62px;
	}
}

/* =========================================================
   TRENDS DASHBOARD + RANKING VISUALS
   Version 0.12.2
   ========================================================= */

.ntl-trends-page,
.ntl-trends-page * { box-sizing: border-box; }

.ntl-trends-page {
	--ntl-trend-dark: #17212b;
	--ntl-trend-text: #26323d;
	--ntl-trend-muted: #66717c;
	--ntl-trend-border: #dce2e6;
	--ntl-trend-light: #f7f8f9;
	--ntl-trend-accent: #cc7a16;
	--ntl-trend-gold: #e6a24c;
	width: min(1260px, calc(100% - 40px));
	max-width: 1260px;
	margin: 0 auto;
	color: var(--ntl-trend-text);
}

body.page .ntl-trends-page h1,
body.page .ntl-trends-page h2,
body.page .ntl-trends-page h3 { color: var(--ntl-trend-dark); }

.ntl-trends-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr);
	gap: 34px;
	align-items: center;
	margin: 18px 0 34px;
	padding: 34px 38px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 14px;
	background:
		linear-gradient(135deg, rgba(204,122,22,.055) 25%, transparent 25%) 0 0 / 24px 24px,
		linear-gradient(315deg, rgba(23,33,43,.035) 25%, transparent 25%) 0 0 / 24px 24px,
		#fff;
}

.ntl-trends-hero h1 {
	margin: 5px 0 10px;
	font-size: clamp(32px, 3.2vw, 48px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.ntl-trends-hero p {
	max-width: 770px;
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ntl-trend-muted);
}

.ntl-trends-kicker {
	display: inline-block;
	color: #b96f13;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.ntl-trends-hero-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.ntl-trends-hero-stats div {
	padding: 17px 10px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 9px;
	background: rgba(255,255,255,.92);
	text-align: center;
}

.ntl-trends-hero-stats strong {
	display: block;
	font-size: 27px;
	line-height: 1;
	color: var(--ntl-trend-dark);
}

.ntl-trends-hero-stats span {
	display: block;
	margin-top: 7px;
	font-size: 11px;
	line-height: 1.25;
	color: var(--ntl-trend-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.ntl-trends-section {
	margin: 0 0 34px;
	padding: 30px 0 0;
	border-top: 1px solid var(--ntl-trend-border);
}

.ntl-trends-section-head {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: end;
	margin-bottom: 20px;
}

.ntl-trends-section-head h2,
.ntl-ranking-page .ntl-trends-section h2 {
	margin: 4px 0 7px;
	font-size: clamp(26px, 2.5vw, 34px);
	line-height: 1.15;
}

.ntl-trends-section-head p,
.ntl-trends-section-intro {
	max-width: 850px;
	margin: 0;
	color: var(--ntl-trend-muted);
}

.ntl-trends-preview-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.ntl-trends-preview-card {
	padding: 24px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(23,33,43,.045);
}

.ntl-trends-card-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 19px;
}

.ntl-trends-card-title h3 {
	margin: 0;
	font-size: 22px;
}

.ntl-live-badge,
.ntl-status-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef1f3;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	color: #58636e;
	white-space: nowrap;
}

.ntl-live-badge,
.ntl-status-next {
	background: #fff1dc;
	color: #94560b;
}

.ntl-ranking-chart {
	display: grid;
	gap: 13px;
	margin: 4px 0 22px;
}

.ntl-ranking-bar-row {
	display: grid;
	grid-template-columns: minmax(125px, .9fr) minmax(150px, 1.45fr) 58px;
	gap: 12px;
	align-items: center;
}

.ntl-ranking-bar-label {
	min-width: 0;
	font-size: 14px;
	font-weight: 650;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ntl-ranking-bar-label > span {
	display: inline-block;
	min-width: 22px;
	color: #8b949c;
	font-weight: 700;
}

.ntl-ranking-bar-label a { font-weight: 700; text-decoration: none; }
.ntl-ranking-bar-label a:hover { text-decoration: underline; }

.ntl-ranking-bar-track {
	height: 13px;
	border-radius: 999px;
	background: #edf0f2;
	overflow: hidden;
}

.ntl-ranking-bar-track span {
	display: block;
	height: 100%;
	min-width: 7px;
	border-radius: inherit;
	background: linear-gradient(90deg, #d78622, #e6a24c);
}

.ntl-trends-preview-card.is-decline .ntl-ranking-bar-track span {
	background: linear-gradient(90deg, #5f6a73, #8b949c);
}

.ntl-ranking-bar-row > strong {
	font-size: 14px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.ntl-trends-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 5px;
	font-weight: 700;
	text-decoration: none;
}

.ntl-trends-button:hover { text-decoration: underline; }

.ntl-trends-topic-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.ntl-trends-topic-grid article {
	position: relative;
	min-height: 175px;
	padding: 22px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 11px;
	background: #fff;
}

.ntl-trends-topic-grid h3 {
	margin: 14px 0 8px;
	font-size: 20px;
}

.ntl-trends-topic-grid p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--ntl-trend-muted);
}

.ntl-trends-source-note {
	margin: 30px 0 10px;
	padding: 15px 18px;
	border-left: 4px solid var(--ntl-trend-accent);
	background: #f8fafb;
	font-size: 13px;
	line-height: 1.55;
	color: #59646e;
}

/* Full ranking pages */
.ntl-ranking-page { padding-top: 6px; }

.ntl-trends-breadcrumb {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--ntl-trend-muted);
}

.ntl-ranking-hero {
	margin: 0 0 26px;
	padding: 22px 24px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 12px;
	background: #fafbfc;
}

.ntl-ranking-hero .ntl-trends-lead {
	max-width: 900px;
	margin: 8px 0 0;
	font-size: 17px;
	line-height: 1.55;
}

.ntl-ranking-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 12px;
	margin-top: 20px;
}

.ntl-ranking-summary div {
	padding: 15px 17px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 8px;
	background: #fff;
}

.ntl-ranking-summary span {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ntl-trend-muted);
}

.ntl-ranking-summary strong {
	display: block;
	margin-top: 5px;
	font-size: 20px;
	color: var(--ntl-trend-dark);
}

.ntl-ranking-page .ntl-ranking-chart {
	max-width: 1000px;
	padding: 20px 22px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 11px;
	background: #fff;
}

.ntl-ranking-table-wrap {
	width: 100%;
	overflow-x: auto;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 10px;
	background: #fff;
}

.ntl-ranking-table {
	width: 100%;
	min-width: 790px;
	border-collapse: collapse;
}

.ntl-ranking-table th,
.ntl-ranking-table td {
	padding: 13px 15px;
	border-bottom: 1px solid #e7ebee;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.ntl-ranking-table th {
	background: #f5f7f8;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .035em;
	color: #59646e;
}

.ntl-ranking-table th:nth-child(1),
.ntl-ranking-table td:nth-child(1),
.ntl-ranking-table th:nth-child(2),
.ntl-ranking-table td:nth-child(2) { text-align: left; }

.ntl-ranking-table tbody tr:last-child td { border-bottom: 0; }

.ntl-history-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.ntl-history-card {
	padding: 20px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 11px;
	background: #fff;
}

.ntl-history-card h3 { margin: 0 0 15px; font-size: 20px; }

.ntl-history-chart {
	display: flex;
	align-items: end;
	gap: 7px;
	height: 180px;
	padding-top: 29px;
	border-bottom: 1px solid #ccd3d8;
}

.ntl-history-column {
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: end;
	align-items: stretch;
	height: 100%;
	min-width: 0;
}

.ntl-history-value {
	position: absolute;
	top: -26px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 10px;
	color: #65707a;
	white-space: nowrap;
}

.ntl-history-bar-wrap {
	display: flex;
	align-items: end;
	height: 100%;
}

.ntl-history-bar-wrap span {
	display: block;
	width: 100%;
	min-height: 8px;
	border-radius: 5px 5px 0 0;
	background: linear-gradient(180deg, #e6a24c, #c97a17);
}

.ntl-history-year {
	padding-top: 6px;
	font-size: 10px;
	text-align: center;
	color: #66717c;
}

.ntl-trend-disclaimer {
	margin-top: 26px;
	padding: 18px 20px;
	border: 1px solid var(--ntl-trend-border);
	border-radius: 9px;
	background: #f7f8f9;
}

.ntl-trend-disclaimer h3 { margin-top: 0; }

@media (max-width: 1000px) {
	.ntl-trends-hero { grid-template-columns: 1fr; }
	.ntl-trends-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.ntl-trends-page { width: min(100% - 28px, 1260px); }
	.ntl-trends-hero { padding: 25px 22px; }
	.ntl-trends-hero-stats { grid-template-columns: 1fr 1fr 1fr; }
	.ntl-trends-preview-grid,
	.ntl-history-grid,
	.ntl-trends-topic-grid { grid-template-columns: 1fr; }
	.ntl-ranking-bar-row { grid-template-columns: minmax(110px, .95fr) minmax(90px, 1.1fr) 52px; gap: 8px; }
	.ntl-ranking-summary { grid-template-columns: 1fr; }
	.ntl-history-value { display: none; }
}

/* =========================================================
   TRENDING AREAS
   ========================================================= */

.ntl-trending-state-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 22px 0 24px;
}

.ntl-trending-state-card {
	padding: 22px 24px;
	border: 1px solid var(--ntl-trend-border, #dce2e6);
	border-radius: 11px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(23, 33, 43, .045);
}

.ntl-trending-rank {
	display: inline-block;
	margin-bottom: 9px;
	color: #b96f13;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.ntl-trending-state-card h3 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.2;
}

.ntl-trending-state-card h3 a {
	text-decoration: none;
}

.ntl-trending-state-card h3 a:hover {
	text-decoration: underline;
}

.ntl-trending-state-card > strong {
	display: block;
	margin-bottom: 4px;
	font-size: 25px;
	line-height: 1.1;
	color: #b96f13;
}

.ntl-trending-state-card p {
	margin: 0;
	font-size: 14px;
	color: var(--ntl-trend-muted, #66717c);
}

.ntl-trending-areas-master .ntl-trends-section:first-of-type {
	margin-top: 22px;
}

@media (max-width: 900px) {
	.ntl-trending-state-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ntl-trending-state-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   POPULATION STATE FINDER
   ========================================================= */

.ntl-state-jump {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0 16px;
}

.ntl-state-jump select {
	min-width: 240px;
	padding: 9px 12px;
	border: 1px solid #cfd6dc;
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
}

.ntl-ranking-table tr {
	scroll-margin-top: 100px;
}

.ntl-ranking-table tr.ntl-state-highlight td {
	background: #fff2dc;
	transition: background .25s ease;
}

@media (max-width: 600px) {

	.ntl-state-jump {
		display: block;
	}

	.ntl-state-jump label {
		display: block;
		margin-bottom: 7px;
	}

	.ntl-state-jump select {
		width: 100%;
		min-width: 0;
	}

}