/* Newsam district landing page (/district/<slug>/) — namespaced .nsd-* */
.newsam-district-landing { --nsd-accent: #b32d2e; }
.newsam-district-landing .nsd-wrap { max-width: 1200px; margin: 0 auto; padding: 20px 16px 48px; }

/* Header */
.nsd-head { display: flex; gap: 24px; align-items: center; justify-content: space-between;
	flex-wrap: wrap; padding: 18px 0 20px; border-bottom: 3px solid #1d2327; margin-bottom: 24px; }
.nsd-head__kicker { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em;
	text-transform: uppercase; color: var(--nsd-accent); }
.nsd-head__hi { font-size: 2.4rem; line-height: 1.15; margin: 4px 0 2px; font-weight: 800; }
.nsd-head__en { color: #646970; font-size: 1rem; }
.nsd-head__count { display: block; color: #787c82; font-size: .85rem; margin-top: 6px; }
.nsd-head__weather { flex: none; }

/* Section titles */
.nsd-strip__title, .nsd-latest > .nsd-strip__title { font-size: 1.15rem; font-weight: 700; margin: 0 0 14px;
	padding-bottom: 8px; border-bottom: 2px solid #e2e4e7; display: flex; align-items: baseline; gap: 10px; }
.nsd-strip__title::before { content: ""; width: 4px; height: 1em; background: var(--nsd-accent); display: inline-block;
	align-self: center; border-radius: 2px; }
.nsd-strip__more { margin-left: auto; font-size: .8rem; font-weight: 600; text-decoration: none; color: var(--nsd-accent); }

/* Rows (strips) and the main grid */
.nsd-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.nsd-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }

/* Card */
.nsd-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e6e7e9;
	border-radius: 8px; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.nsd-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.10); transform: translateY(-2px); }
.nsd-card__media { display: block; aspect-ratio: 16 / 10; background: #eceef0; overflow: hidden; }
.nsd-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nsd-card__ph { display: block; width: 100%; height: 100%;
	background: repeating-linear-gradient(45deg, #eceef0, #eceef0 10px, #e4e6e8 10px, #e4e6e8 20px); }
.nsd-card__body { padding: 12px 13px 14px; display: flex; flex-direction: column; gap: 6px; }
.nsd-card__cat { color: var(--nsd-accent); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.nsd-card__title { font-size: .98rem; line-height: 1.35; margin: 0; font-weight: 700; }
.nsd-card__title a { color: #1d2327; text-decoration: none; }
.nsd-card__title a:hover { color: var(--nsd-accent); }
.nsd-card__date { color: #8a8f94; font-size: .78rem; }

/* Hero = first card in the main grid spans two columns and two rows */
.nsd-grid .nsd-card--hero { grid-column: span 2; grid-row: span 2; }
.nsd-grid .nsd-card--hero .nsd-card__title { font-size: 1.5rem; }
.nsd-grid .nsd-card--hero .nsd-card__media { aspect-ratio: 16 / 9; }

/* Heading area: Hindi district branding (left) + pinned weather cube (right) */
.newsam-district-landing .nsd-head { display: flex; align-items: center; justify-content: space-between;
	gap: 24px; flex-wrap: wrap; padding: 4px 0 18px; margin-bottom: 20px; border-bottom: 0; }
.nsd-head__weather { flex: none; }

/* Sidebar box: Other districts (injected before Recent Posts) */
.nsd-od-widget .nsd-od-widget__title { font-size: 1rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .03em; margin: 0 0 12px; }
.nsd-od-list { list-style: none; margin: 0; padding: 0; }
.nsd-od-list__item + .nsd-od-list__item { border-top: 1px solid #eceef0; }
.nsd-od-list__item a { display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 9px 2px; text-decoration: none; color: #1d2327; font-size: .92rem; font-weight: 600; }
.nsd-od-list__item a:hover { color: var(--nsd-accent); }
.nsd-od-count { background: #f0f1f2; color: #646970; font-size: .72rem; font-weight: 700;
	border-radius: 999px; padding: 2px 9px; min-width: 20px; text-align: center; }

/* Featured hero (one story before the theme grid) */
.nsd-hero { display: grid; grid-template-columns: 1.35fr 1fr; gap: 20px; background: #fff; border: 1px solid #e6e7e9;
	border-radius: 10px; overflow: hidden; margin: 0 0 20px; }
.nsd-hero__media { display: block; aspect-ratio: 16 / 10; background: #eceef0; overflow: hidden; }
.nsd-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nsd-hero__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.nsd-hero__title { font-size: 1.7rem; line-height: 1.2; margin: 0; font-weight: 800; }
.nsd-hero__title a { color: #1d2327; text-decoration: none; }
.nsd-hero__title a:hover { color: var(--nsd-accent); }
.nsd-hero__dek { color: #50575e; font-size: .95rem; line-height: 1.5; margin: 0; }

/* Infinite scroll spinner */
.nsd-infinite-spinner { display: flex; justify-content: center; padding: 24px 0; }
.nsd-infinite-spinner span { width: 26px; height: 26px; border-radius: 50%;
	border: 3px solid #e2e4e7; border-top-color: var(--nsd-accent); animation: nsd-spin .8s linear infinite; }
@keyframes nsd-spin { to { transform: rotate(360deg); } }
.nsd-infinite-sentinel { height: 1px; }

/* Local ad slots (full-width blocks between hero/grids) */
.nsd-ad { margin: 4px 0 22px; }
.nsd-ad__ph { border: 2px dashed #c3c4c7; border-radius: 8px; padding: 26px; text-align: center;
	color: #8a8f94; font-size: .85rem; letter-spacing: .05em; text-transform: uppercase; background: #fafafa; }

.nsd-empty { color: #787c82; font-style: italic; padding: 24px 0; }
.nsd-pagination { margin-top: 22px; }

/* Responsive */
@media (max-width: 1000px) {
	.nsd-row, .nsd-grid { grid-template-columns: repeat(3, 1fr); }
	.nsd-grid .nsd-card--hero { grid-column: span 3; grid-row: auto; }
}
@media (max-width: 680px) {
	.nsd-row, .nsd-grid { grid-template-columns: repeat(2, 1fr); }
	.nsd-head__hi { font-size: 1.9rem; }
	.nsd-hero { grid-template-columns: 1fr; }
	.nsd-hero__title { font-size: 1.35rem; }
}
@media (max-width: 440px) {
	.nsd-row, .nsd-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
	.nsd-row, .nsd-grid { grid-template-columns: repeat(2, 1fr); }
	.nsd-head__hi { font-size: 1.9rem; }
	.nsd-grid .nsd-card--hero { grid-column: span 2; }
	.nsd-grid .nsd-card--hero .nsd-card__title { font-size: 1.2rem; }
}
@media (max-width: 440px) {
	.nsd-row, .nsd-grid { grid-template-columns: 1fr; }
	.nsd-grid .nsd-card--hero { grid-column: span 1; }
}
