/* ==========================================================================
   Nepal Log — Noto Serif Devanagari headings, Noto Sans Devanagari body; Tailwind slate neutrals,
   #C20012 red, #013687 blue, #2e2e2e text black.
   ========================================================================== */

:root {
	--nl-blue: #013687;
	--nl-blue-dark: #012a6b;
	--nl-red: #c20012;
	--nl-navy: #013687;   /* navbar: brand blue */
	--nl-photo: #1e293b;
	--nl-panel: #334155;  /* slate-700: title panel under विशेष photos */
	--nl-ink: #2e2e2e;
	--nl-text: #475569;   /* slate-600 */
	--nl-muted: #64748b;  /* slate-500 */
	--nl-line: #e2e8f0;   /* slate-200 */
	--nl-divider: #cbd5e1; /* slate-300: ad stack dividers */
	--nl-soft: #f1f5f9;   /* slate-100: section heads */
	--nl-footer: #f0f6fc;
	--nl-white: #fff;
	--nl-bg: #fff;
	--nl-surface: #fff;
	--nl-shadow: 0 4px 18px rgba(15, 23, 42, .12);
	--nl-radius: 8px;
	--nl-r-lg: 10px;  /* large images */
	--nl-r-md: 8px;   /* regular cards */
	--nl-r-sm: 6px;   /* small thumbnails */
	--nl-f-head: "Noto Serif Devanagari", serif; /* weights 400 / 500 / 700 (600 → 700) */
	--nl-f-body: "Noto Sans Devanagari", "Mukta", system-ui, sans-serif;
	--nl-f-small: "Noto Sans Devanagari", "Mukta", system-ui, sans-serif;
	--nl-f-meta: "Noto Sans Devanagari", "Mukta", system-ui, sans-serif; /* dates, times, author names */
	--nl-container: 1180px; /* 1440 px design */
	--nl-gutter: 20px;
}

/* Base ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--nl-bg);
	color: var(--nl-text);
	font-family: var(--nl-f-body);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s; }
a:hover { color: var(--nl-blue); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--nl-f-head);
	color: var(--nl-ink);
	font-weight: 600;
	line-height: 1.5;
	margin: 0;
}
p { margin: 0 0 1em; }
button { font: inherit; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.nl-skip:focus {
	clip: auto; width: auto; height: auto;
	z-index: 1000; top: 8px; left: 8px;
	padding: 8px 16px; background: var(--nl-surface); color: var(--nl-ink);
}
:focus-visible { outline: 2px solid var(--nl-blue); outline-offset: 2px; }

.nl-container {
	width: 100%;
	max-width: calc(var(--nl-container) + var(--nl-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--nl-gutter);
}

.nl-icon { display: inline-flex; width: 1em; height: 1em; flex: none; }
.nl-icon svg { width: 100%; height: 100%; }

/* Images: fixed ratios so the grids stay even with mixed uploads. */
.nl-media { display: block; overflow: hidden; border-radius: var(--nl-radius); background: var(--nl-soft); }
.nl-media img,
.nl-overlay-card__link img,
.nl-slide__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nl-media img { transition: transform .4s ease; }
.nl-media:hover img { transform: scale(1.03); }

/* Meta ------------------------------------------------------------------- */
.nl-meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--nl-f-meta);
	font-size: 16px;
	font-weight: 400;
	color: var(--nl-muted);
}
.nl-meta .nl-icon { width: 15px; height: 15px; }
.nl-meta--full { gap: 22px; justify-content: center; flex-wrap: wrap; margin: 6px 0 12px; }
.nl-meta--full > span { display: inline-flex; align-items: center; gap: 7px; }
.nl-meta__avatar { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--nl-divider); object-fit: cover; background: #fff; }
.nl-card .nl-meta--full { justify-content: flex-start; margin: 10px 0 4px; }

/* "सबै पढ्नुहोस्" link */
.nl-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--nl-f-body);
	font-size: 15px;
	font-weight: 600;
	color: var(--nl-ink);
	white-space: nowrap;
}
.nl-more .nl-icon { width: 16px; height: 16px; transition: transform .2s; }
.nl-more:hover .nl-icon { transform: translateX(3px); }
.nl-more--light { color: var(--nl-white); border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.nl-more--light:hover { color: var(--nl-white); opacity: .85; }
.nl-more--button {
	justify-content: center;
	background: var(--nl-blue);
	color: var(--nl-white);
	padding: 9px 20px 7px;
	border-radius: 4px;
	font-family: var(--nl-f-head);
	font-size: 17px;
	font-weight: 500;
}
.nl-more--button:hover { background: var(--nl-blue-dark); color: var(--nl-white); }

/* Sections --------------------------------------------------------------- */
.nl-section { padding-block: 32px; }

.nl-sec-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 52px;
	background: var(--nl-soft);
	border-radius: 6px;
	padding: 6px 14px;
	margin-bottom: 22px;
}
.nl-sec-head__badge {
	font-size: 27px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}
.nl-sec-head__badge > a,
.nl-sec-head__badge > span { display: block; color: var(--nl-blue); padding-top: 4px; }
.nl-sec-head__badge > a:hover { color: var(--nl-red); }
.nl-sec-head .nl-more { font-weight: 400; color: var(--nl-ink); }
.nl-sec-head .nl-more:hover { color: var(--nl-blue); }
.nl-sec-head--short .nl-sec-head__badge { font-size: 23px; }

.nl-empty {
	margin: 16px 0;
	padding: 12px 16px;
	border: 1px dashed #d39b00;
	background: #fff8e1;
	color: #6b5200;
	border-radius: 4px;
	font-size: 15px;
}

/* Grid + cards ----------------------------------------------------------- */
.nl-grid { display: grid; gap: 24px; }
.nl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.nl-card { display: flex; flex-direction: column; min-width: 0; }
.nl-card__media { aspect-ratio: 16 / 9; }
.nl-card__body { padding-top: 12px; }
.nl-card__title {
	font-size: 21px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nl-card__excerpt { font-size: 16px; line-height: 1.7; color: var(--nl-text); margin: 8px 0 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nl-card .nl-meta { margin-top: 6px; }

.nl-card--boxed { background: var(--nl-surface); border-radius: var(--nl-radius); overflow: hidden; box-shadow: 0 4px 18px rgba(0, 0, 0, .12); }
.nl-card--boxed .nl-card__media { border-radius: 0; aspect-ratio: 16 / 8.5; }
.nl-card--boxed .nl-card__body { padding: 12px 16px 14px; }
.nl-card--boxed .nl-card__title { -webkit-line-clamp: 2; }

.nl-card--lead .nl-card__media { aspect-ratio: 2 / 1; }
.nl-card--lead .nl-card__title { font-size: clamp(26px, 2vw, 29px); line-height: 1.6; -webkit-line-clamp: 2; }
.nl-card--small .nl-card__media { aspect-ratio: 2 / 1; }
.nl-card--small .nl-card__title { font-size: 19px; line-height: 1.55; -webkit-line-clamp: 2; }
.nl-card--side .nl-card__media { aspect-ratio: 2 / 1.05; }
.nl-card--side .nl-card__title { font-size: 19px; line-height: 1.55; -webkit-line-clamp: 2; }

.nl-list { display: grid; grid-template-columns: 175px minmax(0, 1fr); gap: 20px; align-items: start; }
.nl-list__media { aspect-ratio: 7 / 5; }
.nl-list__body { display: flex; flex-direction: column; gap: 8px; }
.nl-list__title {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Header ----------------------------------------------------------------- */
.nl-topbar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	padding-block: 11px; /* 64px logo: the bar stays 86px tall */
}
.nl-topbar__info { display: flex; align-items: center; gap: 22px; font-family: var(--nl-f-meta); font-size: 15px; font-weight: 400; color: var(--nl-text); }
.nl-topbar__info > span { display: inline-flex; align-items: center; gap: 8px; }
.nl-topbar__info .nl-icon { width: 17px; height: 17px; color: var(--nl-muted); }
.nl-clock { font-variant-numeric: tabular-nums; }
.nl-logo { display: flex; justify-content: center; }
.nl-logo img { max-height: 64px; width: auto; }
.nl-topbar__social { display: flex; justify-content: flex-end; }

/* Social icons: brand colour on hover. */
.nl-social { display: flex; align-items: center; gap: 4px; }
.nl-social a {
	--brand: var(--nl-blue);
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	color: var(--nl-ink);
	transition: color .15s, background-color .15s;
}
.nl-social a:hover,
.nl-social a:focus-visible { color: var(--brand); background: color-mix(in srgb, var(--brand) 12%, transparent); }
.nl-social .nl-icon { width: 18px; height: 18px; }
/* Same specificity as ".nl-social a" so these override its default. */
.nl-social a.nl-social__link--facebook { --brand: #1877F2; }
.nl-social a.nl-social__link--x { --brand: #000000; }
.nl-social a.nl-social__link--youtube { --brand: #FF0000; }
.nl-social a.nl-social__link--instagram { --brand: #E4405F; }
.nl-social a.nl-social__link--tiktok { --brand: #FE2C55; }
:root[data-theme="dark"] .nl-social a.nl-social__link--x { --brand: #ffffff; }

.nl-nav { background: var(--nl-navy); color: var(--nl-white); position: relative; }
.admin-bar .nl-header { top: 32px; }
.nl-nav__inner { display: flex; align-items: stretch; min-height: 54px; }
.nl-nav__home {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	background: var(--nl-red);
	color: var(--nl-white);
	flex: none;
}
.nl-nav__home:hover { color: var(--nl-white); background: #a3000f; }
.nl-nav__home .nl-icon { width: 24px; height: 24px; }

.nl-nav__menu { flex: 1; display: flex; }
.nl-menu { display: flex; align-items: stretch; padding-left: 26px; }
.nl-menu > li { position: relative; display: flex; }
.nl-menu a {
	display: flex;
	align-items: center;
	padding: 0 20px;
	font-family: var(--nl-f-head);
	font-size: 18px;
	font-weight: 500;
	color: var(--nl-white);
}
.nl-menu > li > a:hover,
.nl-menu > li.current-menu-item > a,
.nl-menu > li.current-category-ancestor > a,
.nl-menu > li.current-menu-ancestor > a { background: rgba(255, 255, 255, .12); color: var(--nl-white); }
.nl-menu > li.menu-item-has-children > a::after {
	content: "";
	width: 7px; height: 7px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}
.nl-menu .sub-menu {
	position: absolute;
	top: 100%; left: 0;
	min-width: 220px;
	background: var(--nl-surface);
	border-top: 3px solid var(--nl-blue);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
	padding: 6px 0;
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: all .2s;
}
.nl-menu li:hover > .sub-menu,
.nl-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.nl-menu .sub-menu a { color: var(--nl-ink); padding: 8px 18px; font-size: 16px; }
.nl-menu .sub-menu a:hover { color: var(--nl-blue); background: var(--nl-soft); }

.nl-nav__right { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.nl-nav__search-btn,
.nl-nav__toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px;
	background: none; border: 0; color: var(--nl-white);
	align-self: center;
}
.nl-nav__search-btn .nl-icon,
.nl-nav__toggle .nl-icon { width: 22px; height: 22px; }
.nl-nav__toggle { display: none; }
.nl-nav__toggle .nl-icon--close { display: none; }

.nl-searchform { display: flex; max-width: 640px; margin-inline: auto; }
.nl-searchform input {
	flex: 1; min-width: 0;
	border: 1px solid var(--nl-line); border-right: 0;
	border-radius: 4px 0 0 4px;
	padding: 10px 14px;
	font: inherit; font-size: 16px;
}
.nl-searchform button {
	border: 0; background: var(--nl-blue); color: var(--nl-white);
	padding: 0 16px; border-radius: 0 4px 4px 0;
}
.nl-searchform button .nl-icon { width: 20px; height: 20px; }

/* Breaking news 1 -------------------------------------------------------- */
.nl-bn1 { padding-bottom: 8px; }
.nl-bn1__item { text-align: center; padding-block: 28px; border-bottom: 1px solid var(--nl-divider); }
.nl-bn1__item:first-child { padding-top: 20px; }
.nl-bn1__title { font-size: clamp(28px, 3vw, 44px); font-weight: 700; line-height: 1.35; }
.nl-bn1__title a:hover { color: var(--nl-red); }
.nl-bn1 .nl-meta--full { margin: 14px 0 16px; }
.nl-bn1__excerpt { max-width: 1100px; margin: 0 auto; font-size: 17px; line-height: 1.8; color: var(--nl-text); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Breaking news 2 -------------------------------------------------------- */
.nl-bn2 { padding-top: 0; }
.nl-bn2__item { text-align: center; padding-block: 28px; border-bottom: 1px solid var(--nl-divider); }
.nl-bn2__title { font-size: clamp(28px, 3vw, 44px); font-weight: 700; line-height: 1.35; }
.nl-bn2__title a:hover { color: var(--nl-red); }
.nl-bn2 .nl-meta--full { margin: 14px 0 16px; }
.nl-bn2__media { aspect-ratio: 2.08 / 1; margin-top: 4px; }
.nl-bn2__media--pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nl-bn2__media--pair .nl-media { height: 100%; border-radius: var(--nl-r-lg); }
.nl-bn2__media--pair .nl-media:first-child { border-radius: var(--nl-r-lg) 0 0 var(--nl-r-lg); }
.nl-bn2__media--pair .nl-media:last-child { border-radius: 0 var(--nl-r-lg) var(--nl-r-lg) 0; }
.nl-bn2__caption { font-size: 17px; color: var(--nl-text); margin: 14px auto 0; max-width: 1100px; }

/* Main news -------------------------------------------------------------- */
.nl-main-news__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.nl-overlay-card { min-height: 100%; }
.nl-overlay-card__link {
	position: relative;
	display: block;
	height: 100%;
	min-height: 420px;
	border-radius: var(--nl-radius);
	overflow: hidden;
	color: var(--nl-white);
}
.nl-overlay-card__link img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.nl-overlay-card__link:hover img { transform: scale(1.03); }
.nl-overlay-card__body {
	position: absolute;
	inset: auto 0 0;
	padding: 90px 24px 22px;
	background: linear-gradient(to top, rgba(51, 65, 85, .96) 10%, rgba(51, 65, 85, .7) 55%, transparent);
}
.nl-overlay-card__title { color: var(--nl-white); font-size: clamp(28px, 2.6vw, 37px); line-height: 1.5; margin-bottom: 10px; }
.nl-overlay-card .nl-meta { color: rgba(255, 255, 255, .85); }
.nl-overlay-card__link:hover { color: var(--nl-white); }
.nl-main-news__list { display: flex; flex-direction: column; gap: 22px; }
.nl-main-news__list .nl-list__body { justify-content: space-between; min-height: 100%; }
/* Same title style as the small cards in समाचार. */
.nl-list--main .nl-list__title { font-size: 19px; font-weight: 600; line-height: 1.55; }
.nl-main-news__list .nl-more--button { align-self: flex-start; margin-left: 0; width: 175px; }

/* पर्यटन: lead + two side cards ---------------------------------------- */
.nl-catblock__grid { display: grid; grid-template-columns: minmax(0, 2.05fr) minmax(0, 1fr); gap: 24px; }
.nl-catblock__side { display: flex; flex-direction: column; gap: 22px; }

/* समाचार: ad column + lead + three cards -------------------------------- */
.nl-newsblock__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.nl-newsblock__grid.has-ads { grid-template-columns: 250px minmax(0, 1fr); }
/* Lead + side stories line up with each other (not with the ad column). */
.nl-newsblock__pair { display: grid; grid-template-columns: minmax(0, 2.55fr) minmax(0, 1fr); gap: 24px; }
.nl-newsblock__side { display: flex; flex-direction: column; gap: 22px; }
.nl-newsblock__side .nl-card__body { padding-top: 12px; }
.nl-card--feature .nl-card__media { aspect-ratio: 2 / 1; }

/* कर्पोरेट / अर्थ: ad column + lead with two small cards | divider | three cards */
.nl-duo__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.nl-duo__grid.has-second { grid-template-columns: minmax(0, 2.35fr) minmax(0, 1fr); }
.nl-duo__grid.has-ads { grid-template-columns: 250px minmax(0, 1fr); }
.nl-duo__grid.has-ads.has-second { grid-template-columns: 250px minmax(0, 2.35fr) minmax(0, 1fr); }
.nl-duo__main { min-width: 0; display: flex; flex-direction: column; align-self: stretch; }
.nl-duo__main .nl-sec-head,
.nl-duo__aside .nl-sec-head { margin-bottom: 22px; }
.nl-duo__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 22px; }
.nl-duo__aside { display: flex; flex-direction: column; gap: 22px; min-width: 0; position: relative; }
/* Next to कर्पोरेट: stretch to the row's height so the divider always spans the taller of the two columns.
   Grid gap 24px + 8px padding = 16px either side of the divider. */
.nl-duo__grid.has-second .nl-duo__aside { align-self: stretch; padding-left: 8px; }
.nl-duo__aside .nl-sec-head { margin-bottom: 4px; }
.nl-duo__grid.has-second .nl-duo__aside::before { /* vertical divider between the two categories */
	content: ""; position: absolute; left: -8px; top: 0; bottom: 0; border-left: 1px solid var(--nl-divider);
}

/* Homepage sidebar ad column (AdZen "Homepage sidebar" spots) */
.nl-adcol { min-width: 0; }
.nl-adcol .adz-slot { margin: 0; padding: 0; max-width: none; }
.nl-adcol .adz-slot::before,
.nl-adcol .adz-slot::after { display: none; }
.nl-adcol .adz-slot--pos-side .adz-slot__img { width: 100%; max-width: 100%; border-radius: var(--nl-r-md); }
.nl-adcol .adz-slot__label { margin-bottom: 6px; }

/* विशेष: dark band, two-up carousel ------------------------------------- */
.nl-special { background: var(--nl-photo); color: var(--nl-white); padding-block: 44px 48px; margin-block: 24px; }
.nl-special__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding-inline: 14px; }
.nl-special__title { font-size: 30px; font-weight: 700; color: var(--nl-white); }
.nl-special__title a:hover { color: var(--nl-white); opacity: .85; }
.nl-special .nl-more--light { border-bottom: 0; padding-bottom: 0; font-weight: 400; }
.nl-slider { position: relative; }
.nl-slider__viewport { overflow: hidden; }
.nl-slider__track { position: relative; display: flex; gap: 24px; transition: transform .5s ease; }
.nl-slide { flex: 0 0 100%; margin: 0; min-width: 0; }
.nl-slider--duo .nl-slide { flex-basis: calc((100% - 24px) / 2); }
.nl-special__card { display: flex; flex-direction: column; border-radius: var(--nl-r-lg); overflow: hidden; background: var(--nl-panel); color: var(--nl-white); }
.nl-special__link { display: flex; flex-direction: column; color: var(--nl-white); }
.nl-special__link:hover { color: var(--nl-white); }
.nl-special__media { display: block; aspect-ratio: 1.93 / 1; overflow: hidden; background: #0f172a; }
.nl-special__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .4s ease; }
.nl-special__link:hover .nl-special__media img { transform: scale(1.03); }
.nl-special__name {
	padding: 14px 20px 4px;
	color: var(--nl-white);
	font-size: clamp(23px, 1.9vw, 27px);
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* Byline under the title (no date here). */
.nl-special__card .nl-meta--author { margin: 0; padding: 4px 20px 18px; color: rgba(255, 255, 255, .85); }
.nl-special__card a.nl-author-link:hover { color: var(--nl-white); }
.nl-slider__arrow {
	position: absolute;
	top: 0;
	margin-top: calc((100% - 24px) / 7.72); /* middle of the photos: half of (card width ÷ 1.93), 2-up */
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%;
	/* Fixed colours: the arrows sit on the dark band in both light and dark mode. */
	background: #fff; color: #2e2e2e;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	transform: translateY(-50%);
	z-index: 2;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.nl-slider__arrow:hover { background: #013687; color: #fff; }
.nl-slider__arrow:focus-visible { outline: 3px solid #ffd23f; outline-offset: 2px; }
.nl-slider__arrow[hidden] { display: none; }
.nl-slider__arrow .nl-icon { width: 22px; height: 22px; }
.nl-slider__arrow--prev { left: -20px; }
.nl-slider__arrow--next { right: -20px; }

/* Three columns ---------------------------------------------------------- */
.nl-cols__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nl-cols__col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.nl-cols__col .nl-sec-head { margin-bottom: 0; }
.nl-card--col .nl-card__media { aspect-ratio: 1.9 / 1; }
.nl-card--col .nl-card__title { font-size: 19px; line-height: 1.55; -webkit-line-clamp: 2; }
.nl-list--col { grid-template-columns: 95px minmax(0, 1fr); gap: 16px; }
.nl-list--col .nl-list__media { aspect-ratio: 1; }
.nl-list--col .nl-list__title { font-size: 18px; line-height: 1.5; -webkit-line-clamp: 4; }

/* Footer ----------------------------------------------------------------- */
.nl-footer { background: var(--nl-footer); color: var(--nl-ink); padding-top: 32px; margin-top: 48px; }
.nl-footer a:hover { color: var(--nl-blue); }
.nl-footer__row { display: flex; align-items: stretch; padding-bottom: 32px; border-bottom: 1px solid var(--nl-divider); }
.nl-footer__row > * { padding-inline: 24px; border-left: 1px solid var(--nl-line); min-width: 0; }
.nl-footer__row > :first-child { padding-left: 12px; border-left: 0; }
.nl-footer__row > :last-child { padding-right: 0; }
.nl-footer__brand { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.nl-footer__logo { display: flex; align-items: flex-start; }
/* Same styles as the column headings (सम्पादक:) and the text under them. */
.nl-footer__reg { margin: 0; font-size: 16px; line-height: 1.6; color: var(--nl-text); }
.nl-footer__reg-label { font-family: var(--nl-f-head); font-size: 17px; font-weight: 500; color: var(--nl-ink); }
.nl-footer__logo img { width: 220px; max-width: 100%; height: auto; }
.nl-footer__logo-dark { display: none; }
.nl-footer__col { flex: 1 1 0; }
.nl-footer__col--social { flex: 0 0 auto; }
.nl-footer__title { font-family: var(--nl-f-head); font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--nl-ink); margin-bottom: 6px; }
.nl-footer__text { font-size: 16px; color: var(--nl-text); }
.nl-footer__text p { margin: 0 0 4px; }
/* हाम्रो टिम link under सम्पादक. */
.nl-footer__team { display: inline-block; margin-top: 8px; font-family: var(--nl-f-head); font-size: 16px; font-weight: 500; color: var(--nl-blue); }
.nl-footer__team:hover { color: var(--nl-blue); text-decoration: underline; text-underline-offset: 3px; }
.nl-footer__publisher { width: 110px; height: auto; }
.nl-social--footer { gap: 10px; }
.nl-social--footer a { width: 40px; height: 40px; }
.nl-social--footer .nl-icon { width: 22px; height: 22px; }
.nl-footer__bottom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding-block: 22px;
	font-size: 15px;
	color: var(--nl-text);
}

/* Inner pages ------------------------------------------------------------ */
.nl-listing__desc { margin: -6px 0 22px; color: var(--nl-muted); }
.nl-listing__search { margin-bottom: 26px; }
.nl-listing__search .nl-searchform { margin-inline: 0; }
.nl-empty-state { padding: 40px 0; text-align: center; color: var(--nl-muted); }

.nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 36px; font-family: var(--nl-f-small); font-weight: 600; }
.nav-links .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 10px;
	border: 1px solid var(--nl-line); border-radius: 4px; color: var(--nl-ink);
}
.nav-links .page-numbers.current,
.nav-links a.page-numbers:hover { background: var(--nl-blue); border-color: var(--nl-blue); color: var(--nl-white); }

.nl-single__inner { max-width: 900px; }
.nl-single__header { text-align: center; margin-bottom: 18px; }
.nl-single__cat {
	display: inline-block;
	background: var(--nl-blue); color: var(--nl-white);
	padding: 3px 12px; border-radius: 4px;
	font-size: 15px; margin-bottom: 12px;
}
.nl-single__cat:hover { color: var(--nl-white); background: var(--nl-blue-dark); }
.nl-single__title { font-size: clamp(28px, 3.6vw, 42px); font-weight: 700; }
.nl-single__media { margin: 0 0 26px; }
.nl-single__media img { width: 100%; border-radius: var(--nl-radius); }
.nl-single__media figcaption { font-size: 14px; color: var(--nl-muted); text-align: center; margin-top: 8px; }

.nl-content { font-size: 19px; line-height: 1.85; color: var(--nl-ink); }
.nl-content > * { margin-block: 0 1.1em; }
.nl-content h2 { font-size: 32px; margin-top: 1.4em; }
.nl-content h3 { font-size: 27px; margin-top: 1.3em; }
.nl-content a { color: var(--nl-blue); text-decoration: underline; text-underline-offset: 3px; }
.nl-content img { border-radius: var(--nl-radius); }
.nl-content blockquote { margin-inline: 0; padding: 6px 0 6px 22px; border-left: 5px solid var(--nl-red); font-family: var(--nl-f-head); font-size: 21px; }
.nl-content ul, .nl-content ol { padding-left: 1.4em; }
.nl-content ul { list-style: disc; }
.nl-content figcaption, .wp-caption-text { font-size: 14px; color: var(--nl-muted); text-align: center; }
.alignwide { max-width: 1100px; }
.aligncenter { margin-inline: auto; }
.alignleft { float: left; margin: 0 1.2em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.2em; }

.nl-single__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; margin-top: 10px; border-top: 1px solid var(--nl-line); }
.nl-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.nl-tags a { background: var(--nl-soft); padding: 2px 12px; border-radius: 20px; font-size: 15px; }
.nl-share { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.nl-share a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--nl-soft); color: var(--nl-ink);
}
.nl-share a:hover { background: var(--nl-blue); color: var(--nl-white); }
.nl-share .nl-icon { width: 17px; height: 17px; }

.nl-comments { margin-top: 36px; }
.nl-comments__title, .comment-reply-title { font-size: 24px; margin-bottom: 16px; }
.nl-comments__list { padding-left: 0; list-style: none; }
.nl-comments__list .children { list-style: none; padding-left: 28px; }
.comment-body { padding: 14px 0; border-bottom: 1px solid var(--nl-line); }
.comment-author img { display: inline-block; border-radius: 50%; vertical-align: middle; margin-right: 8px; }
.comment-metadata { font-family: var(--nl-f-small); font-size: 14px; color: var(--nl-muted); }
.comment-form input:not([type="submit"]):not([type="checkbox"]),
.comment-form textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--nl-line); border-radius: 4px; font: inherit; }
.comment-form .submit { background: var(--nl-blue); color: var(--nl-white); border: 0; border-radius: 4px; padding: 10px 24px; }


/* Responsive ------------------------------------------------------------- */
@media (max-width: 1260px) {
	.nl-slider__arrow--prev { left: 10px; }
	.nl-slider__arrow--next { right: 10px; }
}
@media (max-width: 1100px) {
	/* Ad column moves under the stories. */
	.nl-newsblock__grid.has-ads { grid-template-columns: minmax(0, 1fr); }
	.nl-duo__grid.has-ads { grid-template-columns: minmax(0, 1fr); }
	.nl-duo__grid.has-ads.has-second { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
	.nl-adcol { grid-column: 1 / -1; order: 9; }
	.nl-adcol .adz-slot__stack { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap: 12px; }
	.nl-adcol .adz-slot__item { flex: 0 1 300px; width: auto; }
	.nl-adcol .adz-slot__item + .adz-slot__item { margin-top: 0; padding-top: 0; border-top: 0; padding-left: 12px; border-left: 1px solid var(--nl-divider); }
	.nl-footer__row { flex-wrap: wrap; row-gap: 24px; }
	.nl-footer__brand { flex-basis: 100%; }
	.nl-footer__row > :nth-child(2) { padding-left: 0; border-left: 0; }
}

@media (max-width: 1024px) {
	.nl-menu a { padding: 0 14px; font-size: 18px; }
	.nl-menu { padding-left: 10px; }
	.nl-list { grid-template-columns: 150px minmax(0, 1fr); gap: 16px; }
	.nl-list__title { font-size: 20px; }
	.nl-cols__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
	.nl-topbar { grid-template-columns: 1fr; justify-items: center; padding-block: 12px; gap: 8px; }
	.nl-topbar__info { order: 2; font-size: 14px; }
	.nl-topbar__social { display: none; }
	.nl-logo img { max-height: 54px; }

	.nl-nav__toggle { display: inline-flex; margin-left: 4px; }
	.nl-nav__menu {
		position: absolute;
		top: 100%; left: 0; right: 0;
		background: var(--nl-navy);
		border-top: 1px solid rgba(255, 255, 255, .1);
		max-height: calc(100vh - 120px);
		overflow-y: auto;
		display: none;
	}
	.nl-nav.is-open .nl-nav__menu { display: block; }
	.nl-nav.is-open .nl-nav__toggle .nl-icon--menu { display: none; }
	.nl-nav.is-open .nl-nav__toggle .nl-icon--close { display: inline-flex; }
	.nl-menu { flex-direction: column; padding: 8px 0; }
	.nl-menu > li { flex-direction: column; }
	.nl-menu a { padding: 11px var(--nl-gutter); }
	.nl-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; background: rgba(255, 255, 255, .04); border: 0; box-shadow: none; padding: 0; }
	.nl-menu .sub-menu a { color: rgba(255, 255, 255, .85); padding-left: calc(var(--nl-gutter) + 18px); }
	.nl-menu .sub-menu a:hover { background: none; color: var(--nl-white); }
	.nl-menu > li.menu-item-has-children > a::after { display: none; }

	.nl-main-news__grid,
	.nl-catblock__grid,
	.nl-newsblock__grid,
	.nl-newsblock__pair,
	.nl-newsblock__grid.has-ads,
	.nl-duo__grid.has-second,
	.nl-duo__grid.has-ads.has-second { grid-template-columns: minmax(0, 1fr); }
	.nl-newsblock__side, .nl-catblock__side { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.nl-duo__grid.has-second .nl-duo__aside::before { display: none; }
	.nl-duo__grid.has-second .nl-duo__aside { padding-left: 0; }
	.nl-slider--duo .nl-slide { flex-basis: 100%; }
	.nl-slider__arrow { margin-top: calc(100% / 3.86); } /* one-up */
	.nl-slider__arrow--prev { left: 8px; }
	.nl-slider__arrow--next { right: 8px; }
	.nl-overlay-card__link { min-height: 0; aspect-ratio: 4 / 3; }
	.nl-grid--3 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 782px) {
	.admin-bar .nl-header { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .nl-header { top: 0; }
}

@media (max-width: 640px) {
	:root { --nl-gutter: 16px; }
	body { font-size: 16px; }
	.nl-section { padding-block: 24px; }
	.nl-grid--3,
	.nl-cols__grid { grid-template-columns: 1fr; }
	.nl-footer__row { flex-direction: column; }
	.nl-footer__row > *, .nl-footer__row > :first-child { padding-inline: 0; border-left: 0; }
	.nl-duo__pair { gap: 16px; }
	/* Phones: sidebar ads stack again (slate-300 divider, 12px either side), at most 300px wide. */
	.nl-adcol .adz-slot__stack { flex-direction: column; align-items: flex-start; gap: 0; }
	.nl-adcol .adz-slot__item { flex: none; width: 100%; max-width: 300px; }
	.nl-adcol .adz-slot__item + .adz-slot__item { margin-top: 12px; padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--nl-divider); }
	.nl-adcol .adz-slot__label { text-align: left; }
	.nl-grid { gap: 20px; }
	.nl-bn1__item, .nl-bn2__item { padding-block: 20px; }
	.nl-bn1__excerpt { font-size: 16px; }
	.nl-sec-head { min-height: 52px; margin-bottom: 22px; }
	.nl-sec-head__badge { font-size: 27px; }
	.nl-special { padding-block: 40px 48px; }
	.nl-slider__arrow { width: 36px; height: 36px; }
	.nl-list { grid-template-columns: 120px minmax(0, 1fr); gap: 16px; }
	.nl-list__title { font-size: 20px; }
	.nl-list--col { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
	.nl-footer__logo img { width: 220px; }
	.nl-footer__bottom { flex-direction: column; }
	.nl-content { font-size: 17px; }
}

/* ==========================================================================
   Dark mode — [data-theme] is set before first paint (see nl_theme_boot_script).
   ========================================================================== */
:root { color-scheme: light; }
:root[data-theme="dark"] {
	color-scheme: dark;
	--nl-bg: #0f172a;      /* slate-900 */
	--nl-surface: #1e293b; /* slate-800 */
	--nl-ink: #f1f5f9;
	--nl-text: #cbd5e1;
	--nl-muted: #94a3b8;
	--nl-line: #334155;
	--nl-divider: #475569;
	--nl-soft: #1e293b;
	--nl-footer: #172033;
	--nl-navy: #020617;
	--nl-photo: #020617;
	--nl-panel: #1e293b;
	--nl-blue: #2f6fd6;
	--nl-blue-dark: #275fb8;
	--nl-shadow: 0 4px 18px rgba(0, 0, 0, .45);
}
:root[data-theme="dark"] a:hover { color: #8cb4ff; }
:root[data-theme="dark"] .nl-sec-head__badge > a,
:root[data-theme="dark"] .nl-sec-head__badge > span { color: #8cb4ff; }
:root[data-theme="dark"] .nl-card--boxed { box-shadow: var(--nl-shadow); }
:root[data-theme="dark"] .nl-empty { background: #3a2f0b; color: #ffe08a; border-color: #8a6d00; }
:root[data-theme="dark"] .nl-footer__logo:has(.nl-footer__logo-dark) > img:not(.nl-footer__logo-dark) { display: none; }
:root[data-theme="dark"] .nl-footer__logo-dark { display: block; }
:root[data-theme="dark"] .nl-footer__publisher { background: #fff; border-radius: 6px; padding: 4px 6px; }
:root[data-theme="dark"] .nl-media,
:root[data-theme="dark"] .nl-palette__thumb { background: var(--nl-soft); }
:root[data-theme="dark"] img.nl-placeholder { filter: brightness(.82); } /* soften the white placeholder on dark backgrounds */

/* Header logo swap. */
.nl-logo { position: relative; }
.nl-logo__dark { display: none; }
:root[data-theme="dark"] .nl-logo:has(.nl-logo__dark) > a:not(.nl-logo__dark),
:root[data-theme="dark"] .nl-logo:has(.nl-logo__dark) > .custom-logo-link { display: none; }
:root[data-theme="dark"] .nl-logo__dark { display: block; }

/* Form fields follow the theme. */
.nl-searchform input,
.comment-form input:not([type="submit"]):not([type="checkbox"]),
.comment-form textarea { background: var(--nl-surface); color: var(--nl-ink); border-color: var(--nl-line); }

/* Nav buttons (theme toggle + search). */
.nl-nav__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px;
	background: none; border: 0; border-radius: 50%;
	color: var(--nl-white);
	align-self: center;
	transition: background .2s;
}
.nl-nav__btn:hover { background: rgba(255, 255, 255, .1); }
.nl-nav__btn .nl-icon { width: 21px; height: 21px; }
.nl-theme-toggle .nl-icon--sun { display: none; }
:root[data-theme="dark"] .nl-theme-toggle .nl-icon--sun { display: inline-flex; }
:root[data-theme="dark"] .nl-theme-toggle .nl-icon--moon { display: none; }

/* ==========================================================================
   Search palette (Raycast-style)
   ========================================================================== */
.nl-lock { overflow: hidden; }
.nl-palette { position: fixed; inset: 0; z-index: 1000; display: flex; justify-content: center; align-items: flex-start; padding: 12vh 16px 16px; }
.nl-palette[hidden] { display: none; }
.nl-palette__backdrop { position: absolute; inset: 0; background: rgba(9, 14, 24, .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: nl-fade .15s ease; }
.nl-palette__box {
	position: relative;
	width: min(760px, 100%);
	max-height: 72vh;
	display: flex; flex-direction: column;
	background: var(--nl-surface);
	color: var(--nl-ink);
	border: 1px solid var(--nl-line);
	border-radius: 16px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
	overflow: hidden;
	animation: nl-pop .18s cubic-bezier(.2, .9, .3, 1.2);
}
@keyframes nl-fade { from { opacity: 0; } }
@keyframes nl-pop { from { opacity: 0; transform: translateY(-8px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .nl-palette__box, .nl-palette__backdrop { animation: none; } }

.nl-palette__field { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--nl-line); margin: 0; }
.nl-palette__field > .nl-icon { width: 22px; height: 22px; color: var(--nl-muted); }
.nl-palette__input {
	flex: 1; min-width: 0;
	border: 0; outline: 0; background: transparent;
	color: var(--nl-ink);
	font-family: var(--nl-f-body); font-size: 20px;
	padding: 4px 0;
}
.nl-palette__input::-webkit-search-cancel-button { display: none; }
.nl-palette__esc {
	border: 1px solid var(--nl-line); background: var(--nl-soft); color: var(--nl-muted);
	border-radius: 6px; padding: 2px 8px; font-family: var(--nl-f-small); font-size: 13px; font-weight: 600;
}
.nl-palette__spinner { width: 18px; height: 18px; border: 2px solid var(--nl-line); border-top-color: var(--nl-blue); border-radius: 50%; animation: nl-spin .7s linear infinite; }
@keyframes nl-spin { to { transform: rotate(360deg); } }

.nl-palette__label { padding: 12px 18px 4px; font-family: var(--nl-f-small); font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--nl-muted); }
.nl-palette__label:empty { display: none; }
.nl-palette__list { overflow-y: auto; padding: 4px 8px 10px; overscroll-behavior: contain; }
.nl-palette__item { display: flex; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 10px; color: var(--nl-ink); }
.nl-palette__item:hover { color: var(--nl-ink); }
[aria-selected="true"] > .nl-palette__item { background: var(--nl-soft); box-shadow: inset 3px 0 0 var(--nl-blue); }
.nl-palette__thumb { flex: none; width: 64px; height: 44px; border-radius: 6px; overflow: hidden; background: var(--nl-soft) url("../images/icon.png") center / 26px no-repeat; }
.nl-palette__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nl-palette__body { display: flex; flex-direction: column; min-width: 0; }
.nl-palette__title { font-family: var(--nl-f-head); font-size: 16px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nl-palette__meta { font-family: var(--nl-f-meta); font-size: 13px; font-weight: 400; color: var(--nl-muted); }
.nl-palette__empty { padding: 28px 10px; text-align: center; color: var(--nl-muted); }
.nl-palette__foot { display: flex; gap: 18px; padding: 10px 18px; border-top: 1px solid var(--nl-line); background: var(--nl-soft); font-family: var(--nl-f-small); font-size: 13px; color: var(--nl-muted); }
.nl-palette__foot kbd {
	display: inline-block; min-width: 20px; padding: 0 5px; margin-right: 3px;
	border: 1px solid var(--nl-line); border-bottom-width: 2px; border-radius: 4px;
	background: var(--nl-surface); color: var(--nl-ink);
	font-family: var(--nl-f-small); font-size: 12px; text-align: center;
}

/* Mobile ------------------------------------------------------------------ */
@media (max-width: 900px) {
}
@media (max-width: 640px) {
	.nl-palette { padding: 0; align-items: stretch; }
	.nl-palette__box { width: 100%; max-height: none; height: 100%; border-radius: 0; border: 0; }
	.nl-palette__field { padding: calc(12px + env(safe-area-inset-top, 0px)) 14px 12px; }
	.nl-palette__input { font-size: 18px; }
	.nl-palette__list { flex: 1; }
	.nl-palette__foot { display: none; }
	.nl-palette__thumb { width: 56px; height: 40px; }
	.nl-nav__btn { width: 40px; height: 40px; }
}

/* ==========================================================================
   Image corner radii — 8px large, 6px regular, 4px small thumbnails.
   ========================================================================== */
.nl-media,
.nl-content img,
.nl-content .wp-block-image img { border-radius: var(--nl-r-md); }
.nl-bn2__media,
.nl-card--lead .nl-card__media,
.nl-card--side .nl-card__media,
.nl-overlay-card__link,
.nl-slide__media,
.nl-catfeat__media,
.nl-single__media img { border-radius: var(--nl-r-lg); }
.nl-card--small .nl-card__media,
.nl-list--col .nl-list__media,
.nl-palette__thumb { border-radius: var(--nl-r-sm); }
.nl-card--boxed { border-radius: var(--nl-r-md); }
.nl-card--boxed .nl-card__media { border-radius: 0; }

/* ==========================================================================
   Category page — 1 featured + 3-column grid (13 per page)
   ========================================================================== */
.nl-catpage { padding-top: 36px; }
.nl-catpage__head { margin-bottom: 22px; }
.nl-catpage__title { font-size: 32px; font-weight: 700; color: var(--nl-blue); line-height: 1.3; padding-bottom: 6px; border-bottom: 1px solid var(--nl-divider); } /* full-width divider 6px under the name */
.nl-catpage__desc { color: var(--nl-muted); margin-top: 10px; max-width: 760px; }
.nl-catpage__desc p { margin: 0; }

.nl-catfeat {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	background: var(--nl-soft);
	border-radius: var(--nl-r-lg);
	overflow: hidden;
	margin-bottom: 28px;
}
.nl-catfeat__media { aspect-ratio: 2 / 1; border-radius: var(--nl-r-lg) 0 0 var(--nl-r-lg); }
.nl-catfeat__body { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 32px 44px; }
.nl-catfeat__title { font-size: clamp(28px, 2.4vw, 35px); line-height: 1.45; font-weight: 700; }
.nl-catfeat__excerpt { margin: 0; font-size: 16px; color: var(--nl-text); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* Lead story: author + date, left-aligned with the title. */
.nl-catfeat .nl-meta--full { justify-content: flex-start; margin: 0; gap: 18px; }

.nl-catpage__grid { row-gap: 30px; }
.nl-card--cat .nl-card__media { aspect-ratio: 2 / 1; } /* 1200 × 600 uploads fill exactly */
.nl-card--cat .nl-card__title { font-size: 20px; -webkit-line-clamp: 2; }

@media (max-width: 900px) {
	.nl-catfeat { grid-template-columns: 1fr; }
	.nl-catfeat__media { border-radius: var(--nl-r-lg) var(--nl-r-lg) 0 0; }
	.nl-catfeat__body { padding: 18px 20px 22px; gap: 8px; }
}
@media (max-width: 640px) {
	.nl-catpage { padding-top: 22px; }
	.nl-catpage__grid { row-gap: 22px; }
}

/* ==========================================================================
   Sticky header — top bar (date, logo, social) + navbar stay pinned.
   Shrinks after scrolling (.is-compact, set in main.js) to save screen space.
   ========================================================================== */
.nl-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--nl-bg);
	transition: box-shadow .25s;
}
.nl-header.is-compact { box-shadow: 0 6px 20px rgba(0, 0, 0, .14); }
.nl-topbar,
.nl-logo img { transition: padding .25s ease, max-height .25s ease; }
.nl-header.is-compact .nl-topbar { padding-block: 6px; }
.nl-header.is-compact .nl-logo img { max-height: 44px; }
.nl-header.is-compact .nl-nav__inner { min-height: 46px; }
.nl-header.is-compact .nl-nav__home { width: 46px; }

@media (max-width: 900px) {
	/* Phones: the compact header keeps only the logo above the navbar. */
	.nl-header.is-compact .nl-topbar__info { display: none; }
	.nl-header.is-compact .nl-topbar { padding-block: 6px; gap: 0; }
	.nl-header.is-compact .nl-logo img { max-height: 36px; }
	.nl-nav__menu { max-height: calc(100dvh - 140px); }
}
@media (prefers-reduced-motion: reduce) {
	.nl-topbar, .nl-logo img, .nl-header { transition: none; }
}

/* Search fields that open the palette. */
.nl-searchform { position: relative; }
.nl-searchform input { cursor: pointer; padding-right: 92px; }
.nl-searchform__kbd { position: absolute; right: 64px; top: 50%; transform: translateY(-50%); display: flex; gap: 3px; pointer-events: none; }
.nl-searchform__kbd kbd {
	border: 1px solid var(--nl-line); border-bottom-width: 2px; border-radius: 4px;
	padding: 0 5px; background: var(--nl-soft); color: var(--nl-muted);
	font-family: var(--nl-f-small); font-size: 12px; line-height: 1.6;
}
@media (hover: none), (max-width: 640px) { .nl-searchform__kbd { display: none; } .nl-searchform input { padding-right: 14px; } }

/* ==========================================================================
   404 — base layout
   ========================================================================== */
.nl-404 { padding-block: 40px 64px; text-align: center; }
.nl-404__inner { max-width: 820px; }
.nl-404__code {
	font-family: var(--nl-f-head); font-weight: 700;
	font-size: clamp(56px, 9vw, 96px); line-height: 1; letter-spacing: .04em;
	color: var(--nl-blue); margin-top: 18px;
}
.nl-404__title { font-size: clamp(28px, 3vw, 38px); margin: 18px 0 8px; }
.nl-404__text { color: var(--nl-muted); max-width: 600px; margin: 0 auto 26px; }

/* ==========================================================================
   Coming soon — one screen, no scrolling
   ========================================================================== */
.nl-cs-body { height: 100vh; height: 100dvh; overflow: hidden; background: var(--nl-bg); color: var(--nl-text); }
.nl-cs {
	box-sizing: border-box; height: 100%; max-width: 880px; margin: 0 auto;
	display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 2vh, 20px);
	padding: max(14px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom));
	text-align: center;
}
.nl-cs__top { position: relative; width: 100%; display: flex; justify-content: center; }
.nl-cs .nl-logo img { max-height: clamp(42px, 8vh, 64px); }
.nl-cs__theme {
	position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
	border: 1px solid var(--nl-line); border-radius: 50%; background: var(--nl-surface); color: var(--nl-ink); cursor: pointer;
}
.nl-cs__theme .nl-icon { width: 18px; height: 18px; }
.nl-cs__title { margin: 0; font-family: var(--nl-f-head); font-size: clamp(28px, 5.5vh, 46px); line-height: 1.25; color: var(--nl-ink); }
.nl-cs__text { margin: 4px auto 0; max-width: 520px; font-size: clamp(14px, 2.1vh, 17px); line-height: 1.5; color: var(--nl-muted); }
.nl-cs__foot { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.nl-cs__copy { margin: 0; font-family: var(--nl-f-meta); font-size: 13px; color: var(--nl-muted); }
@media (max-width: 640px) {
	.nl-cs__theme { width: 36px; height: 36px; }
}
@media (max-height: 620px) {
	.nl-cs__text, .nl-cs__social { display: none; }
}

/* Footer credit link */
.nl-footer__credit a:hover { color: var(--nl-blue); text-decoration: underline; text-underline-offset: 3px; }

/* Photo of the day: pagination dots (white on the always-dark section). */
.nl-slider__dots { display: flex; justify-content: center; align-items: center; gap: 4px; margin-top: 18px; }
.nl-slider__dot {
	position: relative;
	width: 22px; height: 22px;           /* comfortable tap target */
	padding: 0; border: 0; background: none; cursor: pointer;
}
.nl-slider__dot::before {
	content: "";
	position: absolute; left: 50%; top: 50%;
	width: 8px; height: 8px; border-radius: 999px;
	background: rgba(255, 255, 255, .4);
	transform: translate(-50%, -50%);
	transition: width .25s ease, background-color .25s ease;
}
.nl-slider__dot:hover::before { background: rgba(255, 255, 255, .75); }
.nl-slider__dot.is-active { width: 34px; }
.nl-slider__dot.is-active::before { width: 24px; background: #fff; }
.nl-slider__dot:focus-visible { outline: 2px solid #ffd23f; outline-offset: 2px; border-radius: 999px; }
@media (prefers-reduced-motion: reduce) { .nl-slider__dot::before { transition: none; } }

/* Ad slots (AdZen): no second divider where a section already ends with one. */
.nl-bn1 + .adz-slot::before,
.nl-bn2 + .adz-slot::before,
.nl-special + .adz-slot::before { display: none; }
.nl-bn1 + .adz-slot,
.nl-bn2 + .adz-slot { padding-top: 0; }
.nl-catfeat + .adz-slot { margin-top: -6px; margin-bottom: 22px; }

/* ==========================================================================
   Article page — left-aligned content + 300px sidebar
   ========================================================================== */
.nl-article { padding-top: 28px; }
.nl-article__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 96px; /* content column ≈ 784px (1180 − 300 − 96); sidebar stays 300px */
	align-items: start;
}
.nl-article__layout--full { grid-template-columns: minmax(0, 860px); }
.nl-article__main { position: relative; min-width: 0; }

/* Title block */
.nl-article__header { margin-bottom: 22px; }
.nl-article__header .nl-single__cat { margin-bottom: 14px; }
.nl-article__title {
	font-size: clamp(32px, 3.2vw, 44px);
	font-weight: 700;
	line-height: 1.38;
	letter-spacing: -.005em;
	margin: 0;
}
.nl-article__lead {
	margin: 16px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--nl-line);
	font-size: 19px;
	line-height: 1.7;
	color: var(--nl-text);
}

/* Byline row: author + date (left), share (right) */
.nl-article__byline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-top: 18px;
	padding-block: 12px;
	border-top: 1px solid var(--nl-line);
	border-bottom: 1px solid var(--nl-line);
}
.nl-article__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
.nl-article__author,
.nl-article__date {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--nl-f-meta);
	font-size: 15px;
	color: var(--nl-muted);
}
.nl-article__author { color: var(--nl-ink); }
.nl-article__author .nl-meta__avatar { width: 32px; height: 32px; }
.nl-article__date .nl-icon { width: 15px; height: 15px; }
.nl-article__share { margin-left: auto; }
.nl-article__share .nl-share { display: flex; gap: 8px; }

.nl-article__media { margin: 0 0 24px; }
.nl-article__media img { width: 100%; border-radius: var(--nl-r-lg); }
.nl-article__media figcaption { margin-top: 8px; font-size: 14px; color: var(--nl-muted); }
.nl-article__content { text-align: left; }

/* Compact sticky title (overlay — appears once the real title scrolls away; no layout jump) */
.nl-article__sticky {
	position: sticky;
	top: var(--nl-header-h, 0px);
	z-index: 20;
	height: 0;
}
.nl-article__stickybar {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	padding: 14px 0;
	background: var(--nl-bg);
	border-bottom: 1px solid var(--nl-line);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow-x: clip; /* the title's scale-in start would otherwise widen the page on phones */
	transition: opacity .16s ease, visibility 0s linear .16s;
}
.nl-article__stickytitle {
	display: block;
	font-family: var(--nl-f-head);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--nl-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	/* Starts a little larger and settles to its compact size: reads as the heading shrinking into place. */
	transform: translateY(6px) scale(1.18);
	transform-origin: left center;
	transition: transform .22s cubic-bezier(.2, .8, .2, 1);
}
.nl-article__progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; }
.nl-article__progress span { display: block; height: 100%; background: #64748b; /* slate-500 */ transform: scaleX(0); transform-origin: left; }
:root[data-theme="dark"] .nl-article__progress span { background: #94a3b8; } /* slate-400 on dark */

.is-title-stuck .nl-article__stickybar { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .16s ease, visibility 0s; }
.is-title-stuck .nl-article__stickytitle { transform: none; }
/* The full title fades as it slides under the compact bar (never seen going behind the menu). */
.nl-article__title { transition: opacity .16s ease; }
.is-title-stuck .nl-article__title { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
	.nl-article__stickytitle, .nl-article__stickybar, .nl-article__title { transition: none; }
	.nl-article__stickytitle { transform: none; }
}

/* Sidebar */
.nl-article__sidebar { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.nl-side__title {
	margin: 0 0 12px;
	font-size: 26px;
	font-weight: 700;
	color: var(--nl-blue);
	line-height: 1.3;
}

/* लोकप्रिय */
.nl-recs__list { margin: 0; padding: 0; list-style: none; }
.nl-recs__item + .nl-recs__item { border-top: 1px solid var(--nl-line); }
.nl-recs__link { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 12px; align-items: start; padding-block: 12px; color: var(--nl-ink); }
.nl-recs__thumb { display: block; aspect-ratio: 4 / 3; border-radius: var(--nl-r-sm); overflow: hidden; background: var(--nl-soft); }
.nl-recs__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nl-recs__title {
	font-family: var(--nl-f-head);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nl-recs__link:hover .nl-recs__title { color: var(--nl-blue); }


/* Responsive */
@media (max-width: 1100px) {
	.nl-article__layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 56px; }
}
@media (max-width: 900px) {
	.nl-article__layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.nl-article__sidebar { max-width: 520px; width: 100%; }
}
@media (max-width: 640px) {
	.nl-article { padding-top: 18px; }
	.nl-article__lead { font-size: 17px; }
	.nl-article__share { margin-left: 0; width: 100%; }
	.nl-article__stickytitle { font-size: 21px; } /* phones: 24px would cut the title too short */
	.nl-article__stickybar { padding: 12px 0; }
}

/* Sidebar section headings use the site's section-head style (badge on the light bar). */
.nl-article__sidebar .nl-sec-head { margin-bottom: 8px; }
.nl-recs__item:first-child .nl-recs__link { padding-top: 6px; }

/* 4-up grid (सम्बन्धित समाचार) */
.nl-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.nl-grid--4 .nl-card__title { font-size: 19px; }
@media (max-width: 1024px) { .nl-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .nl-grid--4 { grid-template-columns: 1fr; } }
.nl-slider__dots[hidden] { display: none; }

/* ==========================================================================
   Article header — large title; byline: round avatar, bold author, red bar + red date
   ========================================================================== */
.nl-article__header .nl-article__title { font-size: clamp(28px, 3vw, 44px); font-weight: 700; line-height: 1.4; }
.nl-article__header .nl-article__byline { margin-top: 22px; padding-block: 0 20px; border-top: 0; border-bottom: 1px solid var(--nl-line); }
.nl-article__header .nl-article__meta { flex-wrap: nowrap; gap: 14px; }
.nl-article__avatar {
	flex: none;
	width: 56px; height: 56px;
	border-radius: 50%;
	border: 1px solid var(--nl-line);
	object-fit: cover;
	background: #fff;
}
.nl-article__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nl-article__header .nl-article__author {
	font-family: var(--nl-f-head);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--nl-ink);
}
.nl-article__header .nl-article__date {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--nl-f-meta);
	font-size: 16px;
	color: var(--nl-red);
}
.nl-article__header .nl-article__date::before { content: ""; width: 3px; height: 1.05em; background: var(--nl-red); }
:root[data-theme="dark"] .nl-article__header .nl-article__date { color: #ff6b77; }
:root[data-theme="dark"] .nl-article__header .nl-article__date::before { background: #ff6b77; }
@media (max-width: 640px) {
	.nl-article__avatar { width: 46px; height: 46px; }
	.nl-article__header .nl-article__author { font-size: 17px; }
	.nl-article__header .nl-article__date { font-size: 15px; }
}

/* Tagline badge (optional, per post): event label above the headline. */
.nl-tagline {
	display: inline-block;
	margin-bottom: 14px;
	padding: 6px 12px 4px;
	border-radius: 6px;
	background: var(--nl-blue);
	color: #fff;
	font-family: var(--nl-f-head);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}
.nl-tagline--article { margin-bottom: 12px; }
@media (max-width: 640px) {
	.nl-tagline { font-size: 16px; padding: 5px 10px 3px; margin-bottom: 10px; border-radius: 5px; }
}

/* ==========================================================================
   Search results page
   ========================================================================== */
.nl-search { padding-top: 36px; }
.nl-search__inner { max-width: calc(860px + var(--nl-gutter) * 2); }
.nl-search__head { padding-bottom: 14px; border-bottom: 1px solid var(--nl-divider); }
.nl-search__title { font-size: 32px; font-weight: 700; line-height: 1.35; color: var(--nl-ink); word-break: break-word; }
.nl-search__count { margin: 6px 0 0; font-size: 15px; color: var(--nl-muted); }
.nl-search__item {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	padding-block: 28px;
	border-bottom: 1px solid var(--nl-line);
}
.nl-search__media { aspect-ratio: 4 / 3; border-radius: var(--nl-r-md); }
.nl-search__body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
.nl-search__name { font-size: 28px; font-weight: 600; line-height: 1.5; }
.nl-search__name a:hover { color: var(--nl-blue); }
.nl-search__excerpt {
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
	color: var(--nl-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nl-search__empty { padding: 36px 0; color: var(--nl-muted); }
.nl-search__empty .nl-searchform { margin: 16px 0 0; }
.nl-tagline--small { font-size: 14px; padding: 4px 9px 2px; margin-bottom: 0; }
@media (max-width: 640px) {
	.nl-search { padding-top: 22px; }
	.nl-search__item { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding-block: 18px; }
	.nl-search__name { font-size: 20px; }
	.nl-search__excerpt { display: none; }
}

/* Category page: "थप समाचार" (load more) */
.nl-loadmore { display: flex; justify-content: center; margin-top: 36px; }
.nl-loadmore__btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 220px; padding: 11px 28px 9px;
	border-radius: 6px;
	background: var(--nl-blue); color: #fff;
	font-family: var(--nl-f-head); font-size: 18px; font-weight: 600;
	transition: background .15s;
}
.nl-loadmore__btn:hover { background: var(--nl-blue-dark); color: #fff; }
.nl-loadmore__btn.is-loading { opacity: .7; pointer-events: none; }

/* ==========================================================================
   Article image lightbox
   ========================================================================== */
.nl-article__content img.nl-zoomable { cursor: zoom-in; }
.nl-article__content img.nl-zoomable:focus-visible { outline: 3px solid var(--nl-blue); outline-offset: 3px; }
.nl-lb {
	position: fixed; inset: 0; z-index: 1100;
	display: flex; align-items: center; justify-content: center;
	padding: 64px 80px 32px;
	background: rgba(2, 6, 23, .94);
	opacity: 0; transition: opacity .18s ease;
}
.nl-lb[hidden] { display: none; }
.nl-lb.is-open { opacity: 1; }
.nl-lb__stage { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: 100%; max-height: 100%; }
.nl-lb__img {
	display: block; max-width: min(1400px, 100%); max-height: calc(100vh - 160px); width: auto; height: auto;
	border-radius: 6px; object-fit: contain; background: #0f172a;
}
.nl-lb__cap { max-width: 860px; color: rgba(255, 255, 255, .88); font-size: 16px; line-height: 1.6; text-align: center; }
.nl-lb__top { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; }
.nl-lb__count { color: rgba(255, 255, 255, .8); font-family: var(--nl-f-meta); font-size: 16px; }
.nl-lb__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer;
	transition: background .15s;
}
.nl-lb__btn:hover { background: rgba(255, 255, 255, .24); }
.nl-lb__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.nl-lb__btn svg { width: 22px; height: 22px; }
.nl-lb__btn[hidden] { display: none; }
.nl-lb__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; }
.nl-lb__prev { left: 18px; }
.nl-lb__next { right: 18px; }
@media (max-width: 640px) {
	.nl-lb { padding: 56px 10px 24px; }
	.nl-lb__nav { top: auto; bottom: 18px; transform: none; width: 46px; height: 46px; }
	.nl-lb__prev { left: calc(50% - 56px); }
	.nl-lb__next { right: calc(50% - 56px); }
	.nl-lb__img { max-height: calc(100vh - 200px); }
	.nl-lb__stage { margin-bottom: 56px; }
}
@media (prefers-reduced-motion: reduce) { .nl-lb { transition: none; } }

/* ==========================================================================
   Even sections: lead story and side stories always end on the same line.
   - Side/small headlines always take exactly 2 lines (shorter ones keep the space, longer ones get "…").
   - पर्यटन / ओपेड: the lead photo stays 2:1 and the side photos absorb the difference.
   - समाचार: the side photos stay 2:1 like other small cards and the lead photo grows taller instead.
   ========================================================================== */
.nl-card--small .nl-card__title,
.nl-card--side .nl-card__title,
.nl-card--col .nl-card__title,
.nl-card--cat .nl-card__title { min-height: 3.1em; } /* 2 lines × line-height 1.55 */

@media (min-width: 901px) {
	/* The lead photo keeps its natural 2:1 shape (never enlarged). The side column stretches to the lead's
	   height and its photos share the leftover space: they come from the same 1200 × 600 uploads but show at
	   ~330 px wide, so cropping them taller or shorter never makes them blurry. */
	.nl-catblock__side,
	.nl-duo__grid.has-second .nl-duo__aside { align-self: stretch; }
	.nl-catblock__side > .nl-card,
	.nl-duo__aside > .nl-card { flex: 1 1 0; display: flex; flex-direction: column; } /* never smaller than its own text */
	.nl-catblock__side > .nl-card .nl-card__media,
	.nl-duo__aside > .nl-card .nl-card__media { flex: 1 1 0; aspect-ratio: auto; min-height: 90px; }
	/* Lead excerpt always reserves 3 lines, so a short excerpt doesn't leave the side column short of room. */
	.nl-newsblock__pair > .nl-card--lead .nl-card__excerpt,
	.nl-catblock__grid > .nl-card--lead .nl-card__excerpt { min-height: 5.1em; }
	.nl-catblock__side > .nl-card .nl-card__media img,
	.nl-duo__aside > .nl-card .nl-card__media img { height: 100%; }
	/* समाचार: the three side stories keep 2:1 photos; the lead card stretches to the side column's height and
	   its photo (never shorter than 2:1) takes up the extra room. */
	.nl-newsblock__pair > .nl-card--lead { display: flex; flex-direction: column; }
	.nl-newsblock__pair > .nl-card--lead .nl-card__media { flex: 1 0 auto; }
	.nl-newsblock__pair > .nl-card--lead .nl-card__media img { height: 100%; }
}

/* Author-only byline (ओपेड column). */
.nl-meta--author { gap: 8px; margin-top: 8px; color: var(--nl-ink); }
.nl-meta--author .nl-meta__avatar { width: 28px; height: 28px; }
/* ओपेड column: slate-300 divider between stories, 16px either side. */
.nl-duo__aside { gap: 16px; }
.nl-duo__aside .nl-sec-head { margin-bottom: 6px; }
.nl-duo__aside > .nl-card + .nl-card { padding-top: 16px; border-top: 1px solid var(--nl-divider); }
/* Cards with a byline: the byline sits right under the headline (same gap for 1- and 2-line titles);
   any spare space falls below it instead of between title and byline. */
.nl-card__body:has(> .nl-meta) > .nl-card__title { min-height: 0; }

/* ==========================================================================
   404 — lost in the mountains (inline SVG, CSS-only loops)
   ========================================================================== */
.nl-404__scene { max-width: 760px; margin: 0 auto; border-radius: 18px; overflow: hidden; box-shadow: 0 18px 40px rgba(15, 23, 42, .12); }
.nl-404__scene svg { display: block; width: 100%; height: auto; }
.nl404-sky-top { stop-color: #dbeafe; } .nl404-sky-bottom { stop-color: #f8fafc; }
.nl404-sun { fill: #fde68a; }
.nl404-far { fill: #94a3b8; } .nl404-snow { fill: #fff; }
.nl404-mid { fill: #64748b; } .nl404-near { fill: #334155; }
.nl404-trail { stroke: #cbd5e1; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 2 14; opacity: .8; }
.nl404-cloud { fill: #fff; opacity: .9; }
.nl404-cloud--a { animation: nl404-drift 26s linear infinite; }
.nl404-cloud--b { animation: nl404-drift 34s linear infinite -14s; opacity: .75; }
@keyframes nl404-drift { from { transform: translate(-80px, 70px); } to { transform: translate(880px, 70px); } }
.nl-404__scene .nl404-cloud--b { transform: translate(-80px, 120px); }
@keyframes nl404-drift-b { from { transform: translate(-80px, 130px); } to { transform: translate(880px, 130px); } }
.nl404-cloud--b { animation-name: nl404-drift-b; }

.nl404-pole { stroke: #475569; stroke-width: 4; stroke-linecap: round; }
.nl404-string { stroke: #475569; stroke-width: 1.5; }
.nl404-flags path { transform-box: fill-box; transform-origin: top center; animation: nl404-flutter 1.6s ease-in-out infinite alternate; }
.nl404-flags .f1 { fill: #1d4ed8; } .nl404-flags .f2 { fill: #f8fafc; } .nl404-flags .f3 { fill: #dc2626; }
.nl404-flags .f4 { fill: #16a34a; } .nl404-flags .f5 { fill: #facc15; }
.nl404-flags path:nth-child(2n) { animation-delay: -.5s; } .nl404-flags path:nth-child(3n) { animation-delay: -1s; }
@keyframes nl404-flutter { from { transform: skewY(-6deg) scaleX(.92); } to { transform: skewY(6deg) scaleX(1.05); } }

.nl404-post { fill: #78350f; }
.nl404-arrow path { fill: #b45309; }
.nl404-arrow text { fill: #fff; font: 700 17px var(--nl-f-head); text-anchor: middle; }
.nl404-arrow { transform-box: view-box; animation: nl404-sway 3.2s ease-in-out infinite; }
.nl404-arrow--b { animation-delay: -1.6s; }
@keyframes nl404-sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }

.nl404-shadow { fill: rgba(15, 23, 42, .25); }
.nl404-pack { fill: #c20012; } .nl404-body { fill: #013687; } .nl404-head { fill: #f2c7a0; } .nl404-hat { fill: #c20012; }
.nl404-leg { stroke: #1e293b; stroke-width: 7; stroke-linecap: round; }
.nl404-map path:first-child { fill: #fef3c7; stroke: #b45309; stroke-width: 1.5; }
.nl404-map-line { stroke: #b45309; stroke-width: 1.2; }
.nl404-bob { animation: nl404-bob 2.4s ease-in-out infinite; }
@keyframes nl404-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
.nl404-map { transform-box: fill-box; transform-origin: left center; animation: nl404-map 2.4s ease-in-out infinite; }
@keyframes nl404-map { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-8deg); } }
.nl404-q text { fill: #c20012; font: 700 22px var(--nl-f-head); }
.nl404-q { animation: nl404-q 2.4s ease-in-out infinite; }
@keyframes nl404-q { 0%, 100% { opacity: 0; transform: translateY(4px); } 30%, 70% { opacity: 1; transform: translateY(-4px); } }

.nl404-snowfall circle { fill: #fff; opacity: .9; animation: nl404-snow 7s linear infinite; }
.nl404-snowfall circle:nth-child(2n) { animation-duration: 9s; animation-delay: -3s; }
.nl404-snowfall circle:nth-child(3n) { animation-duration: 11s; animation-delay: -6s; }
.nl404-snowfall circle:nth-child(4n) { animation-delay: -1.5s; }
@keyframes nl404-snow { from { transform: translate(0, -10px); } to { transform: translate(-30px, 390px); } }

:root[data-theme="dark"] .nl404-sky-top { stop-color: #0b1530; }
:root[data-theme="dark"] .nl404-sky-bottom { stop-color: #1e293b; }
:root[data-theme="dark"] .nl404-sun { fill: #e2e8f0; } /* moon */
:root[data-theme="dark"] .nl404-far { fill: #475569; }
:root[data-theme="dark"] .nl404-mid { fill: #334155; }
:root[data-theme="dark"] .nl404-near { fill: #0f172a; }
:root[data-theme="dark"] .nl404-cloud { opacity: .35; }
:root[data-theme="dark"] .nl-404__scene { box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }

@media (prefers-reduced-motion: reduce) {
	.nl-404__scene * { animation: none !important; }
	.nl404-cloud--a { transform: translate(180px, 70px); } .nl404-cloud--b { transform: translate(520px, 130px); }
	.nl404-snowfall { display: none; }
}
@media (max-width: 640px) { .nl-404__scene { border-radius: 12px; } }

/* Sidebar ads start at the top-left of their column (1 or 2 ads never float in the middle). */
.nl-adcol .adz-slot,
.nl-article__sidebar .adz-slot--pos-side { text-align: left; }
.nl-adcol .adz-slot__stack,
.nl-article__sidebar .adz-slot--pos-side .adz-slot__stack { justify-content: flex-start; }
.nl-article__sidebar .adz-slot--pos-side .adz-slot__img { margin: 0; }

/* Author links in bylines */
a.nl-author-link { color: inherit; display: inline-flex; align-items: center; gap: 7px; }
a.nl-author-link:hover { color: var(--nl-blue); text-decoration: underline; text-underline-offset: 3px; }
.nl-meta--author a.nl-author-link { gap: 8px; }

/* Author page header */
.nl-authorpage__head { display: flex; align-items: center; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--nl-divider); }
.nl-authorpage__head .nl-catpage__title { border-bottom: 0; padding-bottom: 0; }
.nl-authorpage__avatar { flex: none; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; border: 1px solid var(--nl-line); background: #fff; }
.nl-authorpage__count { margin: 2px 0 0; color: var(--nl-muted); font-size: 16px; }
@media (max-width: 640px) { .nl-authorpage__avatar { width: 64px; height: 64px; } .nl-authorpage__head { gap: 14px; } }

/* मुख्य समाचार side list: short highlight under the headline (max 2 lines). */
.nl-list__excerpt {
	margin: 0; font-size: 15px; line-height: 1.6; color: var(--nl-text);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nl-list--main .nl-list__body { gap: 6px; }
@media (max-width: 640px) { .nl-list--main .nl-list__excerpt { display: none; } }

/* ==========================================================================
   Video: player frame, poster with play button, homepage भिडियो carousel
   ========================================================================== */
.nl-video__frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--nl-r-lg); overflow: hidden; background: #0f172a; }
.nl-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nl-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #0f172a; cursor: pointer; }
.nl-video__poster img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .4s ease, filter .2s; }
.nl-video__poster:hover img { transform: scale(1.02); filter: brightness(.9); }
.nl-video__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 54px; transform: translate(-50%, -50%); filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .35)); transition: transform .15s; }
.nl-video__play svg { width: 100%; height: 100%; display: block; }
.nl-video__poster:hover .nl-video__play, .nl-video__poster:focus-visible .nl-video__play { transform: translate(-50%, -50%) scale(1.08); }
.nl-video__poster:focus-visible { outline: 3px solid #ffd23f; outline-offset: -3px; }
.nl-article__video { margin: 0 0 24px; }

.nl-videoblock .nl-slider--video { max-width: 900px; margin: 0 auto; }
.nl-videoblock .nl-slider__track { gap: 24px; }
.nl-video__title { margin-top: 14px; font-size: clamp(23px, 1.8vw, 28px); line-height: 1.5; text-align: center; }
.nl-video__title a:hover { color: var(--nl-blue); }
.nl-slider--video .nl-slider__arrow { margin-top: calc(100% * 9 / 32); } /* middle of the 16:9 player */
.nl-slider--video .nl-slider__arrow--prev { left: -64px; }
.nl-slider--video .nl-slider__arrow--next { right: -64px; }
.nl-slider--video .nl-slider__dots .nl-slider__dot::before { background: var(--nl-divider); }
.nl-slider--video .nl-slider__dots .nl-slider__dot.is-active::before { background: var(--nl-blue); }
@media (max-width: 1060px) {
	.nl-slider--video .nl-slider__arrow--prev { left: 8px; }
	.nl-slider--video .nl-slider__arrow--next { right: 8px; }
}
@media (max-width: 640px) { .nl-video__play { width: 60px; height: 43px; } }

/* Coming soon — looping newsroom GIF, scaled to fit between the title and the footer (no blank bands). */
.nl-cs__scene { flex: 1 1 auto; min-height: 0; width: 100%; display: flex; align-items: center; justify-content: center; }
.nl-cs__scene img { display: block; width: auto; height: auto; max-width: min(100%, 800px); max-height: 100%; border-radius: 18px; box-shadow: 0 18px 40px rgba(15, 23, 42, .12); }
:root[data-theme="dark"] .nl-cs__scene img { box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }

/* हाम्रो टिम page: layout after setopati.com/our-team (title + share row, full-width name / पद table), in the
   site's own style. */
.nl-team__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-bottom: 18px; margin-bottom: 28px; border-bottom: 1px solid var(--nl-line); }
.nl-team__title { font-size: clamp(30px, 3.6vw, 44px); font-weight: 700; line-height: 1.4; }
.nl-team__share .nls { margin: 0; }
.nl-team .nl-content { max-width: none; margin-bottom: 24px; }
.nl-team__table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--nl-line); border-radius: var(--nl-r-md); overflow: hidden; font-size: 17px; }
.nl-team__table th { padding: 14px 20px; background: var(--nl-blue); color: #fff; font-family: var(--nl-f-head); font-size: 18px; font-weight: 700; text-align: left; }
.nl-team__table td { padding: 10px 20px; border-top: 1px solid var(--nl-line); vertical-align: middle; color: var(--nl-text); }
.nl-team__table td + td, .nl-team__table th + th { border-left: 1px solid var(--nl-line); }
.nl-team__table tbody tr:nth-child(odd) { background: var(--nl-soft); }
.nl-team__table td:first-child { width: 40%; }
.nl-team__who { display: flex; align-items: center; gap: 18px; }
.nl-team__photo { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 6px; object-fit: cover; background: var(--nl-line); }
.nl-team__name { font-family: var(--nl-f-head); font-size: 18px; font-weight: 700; color: var(--nl-ink); }
@media (max-width: 640px) {
	.nl-team__head { padding-bottom: 12px; margin-bottom: 18px; }
	.nl-team__table { font-size: 15px; }
	.nl-team__table th { padding: 10px 12px; font-size: 16px; }
	.nl-team__table td { padding: 8px 12px; }
	.nl-team__table td:first-child { width: 50%; }
	.nl-team__who { gap: 10px; }
	.nl-team__photo { width: 44px; height: 44px; border-radius: 5px; }
	.nl-team__name { font-size: 16px; }
}
