/* =============================================================================
   Newsify — Main Stylesheet
   Mobile-first. Colors/typography come from CSS custom properties injected
   by Newsify_Customizer::generate_css() (see inc/class-enqueue.php). This
   file only ever references var(--nf-*) tokens so Customizer live preview
   updates the whole site instantly.
   ========================================================================== */

:root {
	--nf-primary: #d92626;
	--nf-secondary: #1a1a2e;
	--nf-text: #1c1c1c;
	--nf-text-light: #6b6b6b;
	--nf-bg: #ffffff;
	--nf-bg-alt: #f5f5f7;
	--nf-border: #e5e5e5;
	--nf-breaking: #d92626;
	--nf-font-heading: 'Poppins', sans-serif;
	--nf-font-body: 'Inter', sans-serif;
	--nf-font-size-base: 17px;
	--nf-radius: 10px;
	--nf-radius-sm: 6px;
	--nf-shadow: 0 2px 14px rgba(0,0,0,.06);
	--nf-shadow-lg: 0 8px 30px rgba(0,0,0,.12);
	--nf-container: 1280px;
	--nf-transition: .2s ease;
}

/* -------------------------------------------------------------------------
   Base
   ------------------------------------------------------------------------- */
html { scroll-behavior: smooth; }
body {
	font-family: var(--nf-font-body);
	font-size: var(--nf-font-size-base);
	line-height: 1.65;
	color: var(--nf-text);
	background: var(--nf-bg);
	transition: background var(--nf-transition), color var(--nf-transition);
}
body.newsify-dark-mode { color-scheme: dark; }

h1, h2, h3, h4, h5, h6 { font-family: var(--nf-font-heading); font-weight: 700; line-height: 1.25; margin: 0 0 .5em; color: inherit; }
p { margin: 0 0 1.2em; }
a { color: var(--nf-primary); text-decoration: none; transition: color var(--nf-transition); }
a:hover { color: var(--nf-secondary); }
body.newsify-dark-mode a:hover { color: #fff; }
ul, ol { padding-left: 1.2em; }
figure { margin: 0; }
button { font-family: inherit; cursor: pointer; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px);
}
.skip-link {
	position: absolute; top: -100px; left: 0; background: var(--nf-primary); color: #fff; padding: .75em 1.2em; z-index: 10000;
}
.skip-link:focus { top: 0; }

:focus-visible { outline: 3px solid var(--nf-primary); outline-offset: 2px; }

.newsify-container {
	max-width: var(--nf-container);
	margin: 0 auto;
	padding: 0 1.25rem;
}
body.newsify-layout-boxed {
	max-width: calc(var(--nf-container) + 40px);
	margin: 0 auto;
	box-shadow: var(--nf-shadow-lg);
}

img { display: block; }
.site-content { min-height: 40vh; }

/* -------------------------------------------------------------------------
   Breaking News Ticker
   ------------------------------------------------------------------------- */
.newsify-breaking-ticker {
	background: var(--nf-breaking);
	color: #fff;
}
.ticker-inner { display: flex; align-items: center; gap: 1rem; padding: .5rem 1.25rem; overflow: hidden; }
.ticker-label {
	flex: none;
	font-weight: 800; text-transform: uppercase; font-size: .78rem; letter-spacing: .05em;
	background: rgba(0,0,0,.2); padding: .3em .8em; border-radius: 999px;
}
.ticker-track { overflow: hidden; flex: 1; }
.ticker-list { display: flex; gap: 2.5rem; list-style: none; margin: 0; padding: 0; white-space: nowrap; animation: newsify-ticker 30s linear infinite; }
.ticker-list a { color: #fff; font-size: .92rem; }
.ticker-list a:hover { text-decoration: underline; }
@keyframes newsify-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ticker-track:hover .ticker-list { animation-play-state: paused; }

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */
.site-header { background: var(--nf-bg); border-bottom: 1px solid var(--nf-border); position: relative; z-index: 100; }
body.newsify-sticky-header-on .site-header { position: sticky; top: 0; }

.header-topbar { background: var(--nf-bg-alt); border-bottom: 1px solid var(--nf-border); font-size: .82rem; }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .4rem 1.25rem; }
.topbar-menu ul { display: flex; gap: 1rem; list-style: none; margin: 0; padding: 0; }

.header-main { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.25rem; flex-wrap: wrap; }

.site-branding .site-title { font-family: var(--nf-font-heading); font-size: 1.6rem; font-weight: 800; margin: 0; }
.site-branding .site-title a { color: var(--nf-text); }
.site-branding .site-description { margin: 0; font-size: .8rem; color: var(--nf-text-light); }
.custom-logo { max-height: 52px; width: auto; }

.header-actions { display: flex; align-items: center; gap: .4rem; order: 3; }
.icon-btn {
	background: transparent; border: none; width: 38px; height: 38px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; color: var(--nf-text);
	transition: background var(--nf-transition);
}
.icon-btn:hover { background: var(--nf-bg-alt); }
.menu-toggle { display: flex; }

/* Primary nav — mobile default: hidden off-canvas */
.main-navigation { order: 4; width: 100%; }
.nav-menu { list-style: none; display: none; flex-direction: column; margin: 0; padding: 0; }
.nav-menu.is-open { display: flex; }
.nav-menu .menu-item { border-bottom: 1px solid var(--nf-border); position: relative; }
.nav-menu .menu-link { display: flex; align-items: center; justify-content: space-between; padding: .85rem .25rem; color: var(--nf-text); font-weight: 600; }
.nav-menu .sub-menu { list-style: none; margin: 0; padding: 0 0 0 1rem; display: none; }
.nav-menu .has-dropdown.is-expanded > .sub-menu,
.nav-menu .has-dropdown.is-expanded > .mega-menu-panel { display: block; }
.dropdown-caret { font-size: 14px; transition: transform var(--nf-transition); }
.has-dropdown.is-expanded > .menu-link .dropdown-caret { transform: rotate(180deg); }

.mega-menu-panel { display: none; padding: 1rem 0; }
.mega-menu-inner { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.mega-featured { position: relative; border-radius: var(--nf-radius-sm); overflow: hidden; }
.mega-featured img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.mega-featured-title { display: block; padding: .5rem 0; font-weight: 700; color: var(--nf-text); }
.mega-list-item { display: block; padding: .4rem 0; color: var(--nf-text); border-bottom: 1px dashed var(--nf-border); }

/* Search panel */
.newsify-search-panel { display: none; background: var(--nf-bg-alt); border-bottom: 1px solid var(--nf-border); padding: 1rem 0; }
.newsify-search-panel.is-open { display: block; }
.search-form { display: flex; gap: .5rem; }
.search-field { flex: 1; padding: .75rem 1rem; border: 1px solid var(--nf-border); border-radius: var(--nf-radius-sm); background: var(--nf-bg); color: var(--nf-text); font-size: 1rem; }
.search-submit { background: var(--nf-primary); border: none; color: #fff; padding: 0 1.2rem; border-radius: var(--nf-radius-sm); }
.live-search-results { margin-top: .75rem; background: var(--nf-bg); border: 1px solid var(--nf-border); border-radius: var(--nf-radius-sm); max-height: 400px; overflow-y: auto; }
.live-search-result { display: flex; gap: .75rem; padding: .6rem .75rem; border-bottom: 1px solid var(--nf-border); }
.live-search-result img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; flex: none; }
.live-search-result .lsr-title { font-weight: 600; font-size: .92rem; color: var(--nf-text); }
.live-search-result .lsr-meta { font-size: .75rem; color: var(--nf-text-light); }

/* -------------------------------------------------------------------------
   Buttons / badges / ads
   ------------------------------------------------------------------------- */
.newsify-badges { position: absolute; top: .5rem; left: .5rem; display: flex; gap: .35rem; }
.badge { font-size: .68rem; font-weight: 800; text-transform: uppercase; padding: .3em .6em; border-radius: 4px; background: var(--nf-primary); color: #fff; }
.badge-editors-pick { background: var(--nf-secondary); }
.badge-format { background: #333; }

.newsify-ad-slot { display: flex; justify-content: center; align-items: center; margin: 1.5rem 0; overflow: hidden; grid-column: 1 / -1; }
.newsify-ad-slot:empty { display: none; }

.newsify-load-more-wrap { text-align: center; margin: 2rem 0; }
.newsify-load-more {
	background: var(--nf-primary); color: #fff; border: none; padding: .8em 2em; border-radius: 999px; font-weight: 700; font-size: .95rem;
	transition: transform var(--nf-transition), opacity var(--nf-transition);
}
.newsify-load-more:hover { transform: translateY(-2px); }
.newsify-load-more[disabled] { opacity: .6; cursor: default; transform: none; }

/* -------------------------------------------------------------------------
   Layout: content + sidebar
   ------------------------------------------------------------------------- */
.has-sidebar-layout { display: flex; flex-direction: column; gap: 2rem; padding: 2rem 0; }
.content-area { min-width: 0; }
@media (min-width: 960px) {
	.has-sidebar-layout { flex-direction: row; align-items: flex-start; }
	.content-area { flex: 1; min-width: 0; }
	.widget-area.sidebar-primary { width: 320px; flex: none; }
	.widget-area.is-sticky { position: sticky; top: 90px; }
	body.newsify-no-sidebar .content-area { flex: 1; }
}

/* -------------------------------------------------------------------------
   Cards / Grids
   ------------------------------------------------------------------------- */
.newsify-card-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .newsify-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .newsify-card-grid { grid-template-columns: repeat(3, 1fr); } }

.newsify-card { background: var(--nf-bg); border-radius: var(--nf-radius); overflow: hidden; box-shadow: var(--nf-shadow); transition: transform var(--nf-transition), box-shadow var(--nf-transition); }
.newsify-card:hover { transform: translateY(-4px); box-shadow: var(--nf-shadow-lg); }
.card-thumb { position: relative; display: block; aspect-ratio: 3/2; overflow: hidden; }
.card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.newsify-card:hover .card-thumb img { transform: scale(1.06); }
.card-body { padding: 1rem 1.1rem 1.2rem; }
.card-category { display: inline-block; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--nf-primary); margin-bottom: .4rem; }
.card-title { font-size: 1.08rem; margin: 0 0 .5rem; }
.card-title a { color: var(--nf-text); }
.card-meta { font-size: .78rem; color: var(--nf-text-light); display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.card-sep { opacity: .5; }

.newsify-card-small { display: flex; gap: .75rem; align-items: flex-start; padding: .5rem 0; }
.card-small-thumb { flex: none; width: 84px; aspect-ratio: 4/3; border-radius: var(--nf-radius-sm); overflow: hidden; }
.card-small-thumb img { width: 100%; height: 100%; object-fit: cover; }
.card-small-title { font-size: .92rem; margin: 0 0 .3rem; line-height: 1.35; }
.card-small-title a { color: var(--nf-text); }
.card-small-meta { font-size: .72rem; color: var(--nf-text-light); }

.newsify-list-item { display: flex; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid var(--nf-border); }
.list-thumb { flex: none; width: 260px; aspect-ratio: 3/2; border-radius: var(--nf-radius); overflow: hidden; }
.list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.list-title { font-size: 1.3rem; margin: .3rem 0; }
.list-title a { color: var(--nf-text); }
.list-category { font-size: .72rem; font-weight: 800; text-transform: uppercase; color: var(--nf-primary); }
.list-meta { font-size: .8rem; color: var(--nf-text-light); margin-bottom: .5rem; }
.list-excerpt { color: var(--nf-text-light); }
@media (max-width: 640px) { .newsify-list-item { flex-direction: column; } .list-thumb { width: 100%; } }

/* -------------------------------------------------------------------------
   Featured Slider
   ------------------------------------------------------------------------- */
.newsify-featured-slider { padding: 1.5rem 0; }
.slider-track { display: flex; overflow: hidden; border-radius: var(--nf-radius); position: relative; aspect-ratio: 16/9; }
.slide { flex: none; width: 100%; position: relative; transition: transform .5s ease; }
.slide-link { display: block; position: relative; width: 100%; height: 100%; }
.slide-link img { width: 100%; height: 100%; object-fit: cover; }
.slide-overlay { position: absolute; left: 0; right: 0; bottom: 0; padding: 2rem 1.5rem 1.5rem; background: linear-gradient(to top, rgba(0,0,0,.85), transparent); color: #fff; }
.slide-category { display: inline-block; background: var(--nf-primary); padding: .3em .8em; border-radius: 4px; font-size: .72rem; font-weight: 800; text-transform: uppercase; margin-bottom: .5rem; }
.slide-title { font-size: 1.4rem; color: #fff; margin: 0 0 .4rem; }
.slide-meta { font-size: .82rem; opacity: .85; }
.slider-controls { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; }
.slider-prev, .slider-next { background: var(--nf-bg-alt); border: none; width: 40px; height: 40px; border-radius: 50%; font-size: 1.1rem; }
.slider-dots { display: flex; gap: .4rem; }
.slider-dots button { width: 8px; height: 8px; border-radius: 50%; border: none; background: var(--nf-border); padding: 0; }
.slider-dots button.is-active { background: var(--nf-primary); width: 22px; border-radius: 4px; transition: width var(--nf-transition); }

/* -------------------------------------------------------------------------
   Trending block
   ------------------------------------------------------------------------- */
.newsify-trending-block { padding: 2rem 0; background: var(--nf-bg-alt); }
.block-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.25rem; }
.block-heading h2 { margin: 0; font-size: 1.5rem; }
.trending-tabs { display: flex; gap: .3rem; background: var(--nf-bg); padding: .3rem; border-radius: 999px; }
.trending-tab { background: transparent; border: none; padding: .4em 1em; border-radius: 999px; font-size: .82rem; font-weight: 700; color: var(--nf-text-light); }
.trending-tab.is-active { background: var(--nf-primary); color: #fff; }
.trending-grid { display: grid; grid-template-columns: 1fr; gap: .25rem; }
@media (min-width: 720px) { .trending-grid { grid-template-columns: repeat(2, 1fr); } }
.trending-item { display: flex; gap: .5rem; align-items: flex-start; }
.trending-rank { font-family: var(--nf-font-heading); font-size: 1.6rem; font-weight: 800; color: var(--nf-border); flex: none; width: 2rem; }
.view-all { font-size: .85rem; font-weight: 700; }

/* -------------------------------------------------------------------------
   Category blocks (homepage)
   ------------------------------------------------------------------------- */
.homepage-category-blocks { display: grid; grid-template-columns: 1fr; gap: 2.5rem; padding: 2rem 0; }
@media (min-width: 900px) { .homepage-category-blocks { grid-template-columns: repeat(2, 1fr); } }
.category-block-grid { display: grid; grid-template-columns: 1fr; gap: .5rem 1.5rem; }
.category-block-featured { grid-column: 1 / -1; margin-bottom: .5rem; }

/* -------------------------------------------------------------------------
   Single Post
   ------------------------------------------------------------------------- */
.newsify-reading-progress { position: sticky; top: 0; height: 3px; background: transparent; z-index: 200; }
.newsify-reading-progress span { display: block; height: 100%; width: 0%; background: var(--nf-primary); transition: width .1s linear; }

.newsify-breadcrumbs { font-size: .82rem; color: var(--nf-text-light); margin-bottom: 1rem; }
.newsify-breadcrumbs .crumb { color: var(--nf-text-light); }
.newsify-breadcrumbs a.crumb:hover { color: var(--nf-primary); }
.newsify-breadcrumbs .sep { margin: 0 .4rem; }

.entry-header { margin-bottom: 1.25rem; }
.entry-category { display: inline-block; background: var(--nf-primary); color: #fff; padding: .3em .9em; border-radius: 999px; font-size: .75rem; font-weight: 800; text-transform: uppercase; margin-bottom: .75rem; }
.entry-title { font-size: clamp(1.7rem, 4vw, 2.6rem); margin: 0 0 .75rem; }
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .85rem; color: var(--nf-text-light); }
.entry-author { display: flex; align-items: center; gap: .5rem; color: var(--nf-text); font-weight: 700; }
.entry-author img { border-radius: 50%; }
.entry-featured-image { margin: 1.5rem 0; border-radius: var(--nf-radius); overflow: hidden; }
.entry-featured-image img { width: 100%; height: auto; }
.entry-featured-image figcaption { font-size: .8rem; color: var(--nf-text-light); padding: .5rem 0; }

.entry-content { font-size: 1.08rem; line-height: 1.8; }
.entry-content h2 { font-size: 1.5rem; margin-top: 2rem; }
.entry-content h3 { font-size: 1.25rem; margin-top: 1.5rem; }
.entry-content img { border-radius: var(--nf-radius-sm); }
.entry-content blockquote { border-left: 4px solid var(--nf-primary); margin: 1.5rem 0; padding: .5rem 0 .5rem 1.25rem; font-style: italic; color: var(--nf-text-light); }
.entry-content a { text-decoration: underline; }

.entry-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0; }
.tag-pill { background: var(--nf-bg-alt); padding: .35em 1em; border-radius: 999px; font-size: .82rem; color: var(--nf-text); }
.tag-pill:hover { background: var(--nf-primary); color: #fff; }

.newsify-share-buttons { display: flex; gap: .5rem; margin: 1.5rem 0; flex-wrap: wrap; }
.share-btn { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--nf-bg-alt); border: none; color: var(--nf-text); }
.share-btn:hover { background: var(--nf-primary); color: #fff; }
.share-bookmark[aria-pressed="true"] { background: var(--nf-primary); color: #fff; }
@media (min-width: 1280px) {
	.newsify-share-buttons.is-floating { position: sticky; top: 120px; flex-direction: column; float: left; margin-left: -70px; width: 44px; }
}

.newsify-author-box { display: flex; gap: 1.25rem; background: var(--nf-bg-alt); padding: 1.5rem; border-radius: var(--nf-radius); margin: 2rem 0; }
.newsify-author-box .author-avatar img { border-radius: 50%; }
.author-name { margin: 0 0 .4rem; }
.author-social { display: flex; gap: .75rem; margin-top: .5rem; font-size: .85rem; }

.newsify-post-navigation { margin: 2rem 0; }
.nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nav-links a { display: block; padding: 1rem; background: var(--nf-bg-alt); border-radius: var(--nf-radius); }
.nav-next { text-align: right; }
.nav-label { display: block; font-size: .72rem; font-weight: 800; text-transform: uppercase; color: var(--nf-primary); margin-bottom: .3rem; }
.nav-title { font-weight: 700; color: var(--nf-text); }

.newsify-related-posts { margin: 2.5rem 0; }
.related-heading { font-size: 1.4rem; margin-bottom: 1.25rem; }
.related-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 720px) { .related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .related-grid { grid-template-columns: repeat(4, 1fr); } }

/* -------------------------------------------------------------------------
   Comments
   ------------------------------------------------------------------------- */
.newsify-comments { margin: 2.5rem 0; }
.comments-title { font-size: 1.4rem; }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .comment { border-bottom: 1px solid var(--nf-border); padding: 1.25rem 0; }
.comment-list .children { list-style: none; padding-left: 2rem; }
.comment-author .avatar { border-radius: 50%; float: left; margin-right: 1rem; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
	width: 100%; padding: .75rem 1rem; border: 1px solid var(--nf-border); border-radius: var(--nf-radius-sm); background: var(--nf-bg); color: var(--nf-text); margin-bottom: 1rem;
}
.comment-form .form-submit input {
	background: var(--nf-primary); color: #fff; border: none; padding: .8em 2em; border-radius: var(--nf-radius-sm); font-weight: 700;
}

/* -------------------------------------------------------------------------
   Sidebar widgets
   ------------------------------------------------------------------------- */
.widget { margin-bottom: 2rem; background: var(--nf-bg); }
.widget-title { font-size: 1.15rem; margin-bottom: 1rem; padding-bottom: .6rem; border-bottom: 2px solid var(--nf-primary); display: inline-block; }
.newsify-popular-list, .newsify-editors-pick-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.newsify-popular-item, .newsify-editors-pick-list li { display: flex; gap: .75rem; align-items: flex-start; }
.newsify-popular-item .thumb, .newsify-editors-pick-list .thumb { flex: none; width: 64px; height: 64px; border-radius: var(--nf-radius-sm); overflow: hidden; }
.newsify-popular-item .thumb img, .newsify-editors-pick-list .thumb img { width: 100%; height: 100%; object-fit: cover; }
.newsify-popular-item .meta a, .newsify-editors-pick-list .meta a { font-size: .9rem; font-weight: 600; color: var(--nf-text); }
.newsify-popular-item .views { display: block; font-size: .72rem; color: var(--nf-text-light); }
.newsify-social-counter { display: flex; flex-wrap: wrap; gap: .5rem; }
.social-btn { display: flex; align-items: center; gap: .4rem; padding: .5em 1em; border-radius: var(--nf-radius-sm); background: var(--nf-bg-alt); font-size: .82rem; font-weight: 700; color: var(--nf-text); }

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.site-footer { background: var(--nf-secondary); color: #d8d8e0; margin-top: 3rem; }
.footer-columns { display: grid; grid-template-columns: 1fr; gap: 2rem; padding: 3rem 1.25rem; }
@media (min-width: 720px) { .footer-columns-2 { grid-template-columns: repeat(2, 1fr); } .footer-columns-3 { grid-template-columns: repeat(3, 1fr); } .footer-columns-4 { grid-template-columns: repeat(4, 1fr); } }
.site-footer .widget-title { color: #fff; border-bottom-color: var(--nf-primary); }
.site-footer a { color: #d8d8e0; }
.site-footer a:hover { color: #fff; }
.footer-site-title { color: #fff; font-family: var(--nf-font-heading); font-size: 1.4rem; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 1.25rem; }
.footer-bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: .82rem; }
.newsify-social-links { display: flex; gap: .6rem; margin-top: 1rem; }
.social-icon { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; color: #fff; }

/* -------------------------------------------------------------------------
   Back to top / Mobile bottom nav
   ------------------------------------------------------------------------- */
.back-to-top {
	position: fixed; right: 1.25rem; bottom: 5.5rem; width: 46px; height: 46px; border-radius: 50%;
	background: var(--nf-primary); color: #fff; border: none; box-shadow: var(--nf-shadow-lg); z-index: 300;
	opacity: 0; pointer-events: none; transition: opacity var(--nf-transition), transform var(--nf-transition);
}
.back-to-top.is-visible { opacity: 1; pointer-events: auto; }

.mobile-bottom-nav {
	position: fixed; left: 0; right: 0; bottom: 0; background: var(--nf-bg); border-top: 1px solid var(--nf-border);
	display: flex; z-index: 250; padding-bottom: env(safe-area-inset-bottom);
}
.mobile-bottom-nav .mobile-nav-list { display: flex; width: 100%; list-style: none; margin: 0; padding: 0; }
.mobile-nav-item {
	flex: 1; display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .6rem 0;
	background: none; border: none; color: var(--nf-text-light); font-size: .68rem;
}
@media (min-width: 960px) { .mobile-bottom-nav { display: none; } }

/* -------------------------------------------------------------------------
   Modals (newsletter popup, bookmarks)
   ------------------------------------------------------------------------- */
.newsify-modal { position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; }
.newsify-modal[hidden] { display: none; }
.newsify-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.newsify-modal-panel { position: relative; background: var(--nf-bg); color: var(--nf-text); padding: 2rem; border-radius: var(--nf-radius); max-width: 420px; width: 90%; text-align: center; }
.newsletter-form { display: flex; flex-direction: column; gap: .75rem; margin-top: 1rem; }
.newsletter-form input { padding: .75rem 1rem; border: 1px solid var(--nf-border); border-radius: var(--nf-radius-sm); }
.newsletter-form button { background: var(--nf-primary); color: #fff; border: none; padding: .8em; border-radius: var(--nf-radius-sm); font-weight: 700; }
.modal-close { position: absolute; top: .75rem; right: .9rem; background: none; border: none; font-size: 1.5rem; line-height: 1; color: var(--nf-text-light); }

/* -------------------------------------------------------------------------
   404 / No results
   ------------------------------------------------------------------------- */
.newsify-404 { text-align: center; padding: 4rem 0; max-width: 560px; margin: 0 auto; }
.error-code { font-size: 6rem; margin: 0; color: var(--nf-primary); }
.newsify-404 .search-form { margin: 1.5rem 0; }
.btn-home { display: inline-block; font-weight: 700; margin-bottom: 3rem; }
.error-404-trending { text-align: left; }

.newsify-no-results { text-align: center; padding: 3rem 0; }

/* -------------------------------------------------------------------------
   Portal Card (full-width list style — Customize → Layout → Archive Card
   Style). This is the default and produces a classic single-column news
   portal listing: big thumbnail, corner category badge, bold title, icon
   meta row, red "Read More »" pill.
   ------------------------------------------------------------------------- */
.newsify-cardstyle-list .newsify-card-grid,
.newsify-list { grid-template-columns: 1fr !important; max-width: 900px; }

.newsify-portal-card {
	background: var(--nf-bg);
	border: 1px solid var(--nf-border);
	border-radius: var(--nf-radius);
	overflow: hidden;
	margin-bottom: 1.75rem;
	box-shadow: var(--nf-shadow);
	transition: box-shadow var(--nf-transition);
}
.newsify-portal-card:hover { box-shadow: var(--nf-shadow-lg); }

.portal-card-thumb { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; }
.portal-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.portal-badge {
	position: absolute; right: .75rem; bottom: .75rem;
	color: #fff; font-size: .72rem; font-weight: 800; text-transform: uppercase;
	padding: .35em .9em; border-radius: 5px; letter-spacing: .03em;
	box-shadow: 0 2px 8px rgba(0,0,0,.25);
}

.portal-card-body { padding: 1.1rem 1.3rem 1.3rem; }
.portal-card-title { font-size: 1.3rem; line-height: 1.4; margin: 0 0 .6rem; }
.portal-card-title a { color: var(--nf-secondary); }
.portal-card-title a:hover { color: var(--nf-primary); }
.portal-card-excerpt { color: var(--nf-text-light); font-size: .95rem; margin-bottom: .9rem; }

.portal-card-meta { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; font-size: .8rem; color: var(--nf-text-light); margin-bottom: 1rem; }
.portal-card-meta .meta-item { display: inline-flex; align-items: center; gap: .3rem; }
.portal-card-meta .dashicons { font-size: 16px; width: 16px; height: 16px; opacity: .7; }
.meta-views .dashicons { color: #e08a00; opacity: 1; }
.meta-comments .dashicons { color: #1e6fd9; opacity: 1; }

.portal-read-more {
	display: inline-block; background: var(--nf-primary); color: #fff; font-size: .82rem; font-weight: 700;
	padding: .5em 1.3em; border-radius: 4px;
}
.portal-read-more:hover { background: var(--nf-secondary); color: #fff; }

@media (min-width: 640px) {
	.portal-card-thumb { float: none; }
}

/* -------------------------------------------------------------------------
   Colorful primary nav (category links each get a distinct hue, echoing
   classic Indian news-portal navigation bars) + red underline on the
   active/current item.
   ------------------------------------------------------------------------- */
.nav-menu > .menu-item:nth-child(6n+1) > .menu-link { color: #1c1c1c; }
.nav-menu > .menu-item:nth-child(6n+2) > .menu-link { color: #0f9e6e; }
.nav-menu > .menu-item:nth-child(6n+3) > .menu-link { color: var(--nf-primary); }
.nav-menu > .menu-item:nth-child(6n+4) > .menu-link { color: #1e6fd9; }
.nav-menu > .menu-item:nth-child(6n+5) > .menu-link { color: #8c3fc9; }
.nav-menu > .menu-item:nth-child(6n+6) > .menu-link { color: #164b8f; }
.nav-menu > .menu-item.current-menu-item > .menu-link,
.nav-menu > .menu-item.current-menu-ancestor > .menu-link {
	position: relative;
}
.nav-menu > .menu-item.current-menu-item > .menu-link::after,
.nav-menu > .menu-item.current-menu-ancestor > .menu-link::after {
	content: ''; position: absolute; left: .9rem; right: .9rem; bottom: .9rem; height: 3px; background: var(--nf-primary); border-radius: 2px;
}

/* -------------------------------------------------------------------------
   Twin header banner ads (logo banner + subscribe/YouTube banner side by
   side, like the reference site). Editors simply add two image/HTML
   widgets — or paste two <a><img></a> blocks — into the "Header
   Advertisement" ad slot / widget area and they lay out responsively.
   ------------------------------------------------------------------------- */
.newsify-ad-slot.ad-header { flex-wrap: wrap; gap: 1rem; }
.newsify-ad-slot.ad-header > * { flex: 1 1 320px; max-width: 100%; }
.newsify-ad-slot.ad-header img { width: 100%; height: auto; border-radius: var(--nf-radius-sm); }

/* -------------------------------------------------------------------------
   Sidebar: YouTube subscribe promo box
   ------------------------------------------------------------------------- */
.newsify-youtube-promo {
	background: var(--nf-secondary); border-radius: var(--nf-radius); overflow: hidden; text-align: center; padding: 1.75rem 1.25rem; color: #fff;
}
.newsify-youtube-promo .yt-play-icon {
	width: 64px; height: 64px; border-radius: 50%; background: var(--nf-primary); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem;
}
.newsify-youtube-promo .yt-play-icon .dashicons { font-size: 32px; width: 32px; height: 32px; color: #fff; }
.newsify-youtube-promo h3 { color: #fff; margin-bottom: .3rem; }
.newsify-youtube-promo p { color: #b8b9c2; font-size: .85rem; margin-bottom: 1rem; }
.newsify-youtube-promo .yt-subscribe-btn {
	display: inline-block; background: var(--nf-primary); color: #fff; font-weight: 800; text-transform: uppercase; font-size: .8rem; letter-spacing: .04em;
	padding: .7em 1.6em; border-radius: 999px;
}
.newsify-youtube-promo .yt-subscribe-btn:hover { background: #fff; color: var(--nf-secondary); }

/* Sidebar Popular Posts refined to look like a "Trending" module with a
   small numbered/flame indicator, matching the reference layout. */
.newsify-popular-item { position: relative; padding: .5rem; border-radius: var(--nf-radius-sm); transition: background var(--nf-transition); }
.newsify-popular-item:hover { background: var(--nf-bg-alt); }

/* -------------------------------------------------------------------------
   Breaking News Ticker — fixed bottom bar variant, with a live clock on
   the left (mirrors the reference site's black time chip).
   ------------------------------------------------------------------------- */
.newsify-breaking-ticker.is-fixed-bottom {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 400;
	box-shadow: 0 -4px 14px rgba(0,0,0,.25);
}
body.newsify-ticker-bottom .mobile-bottom-nav { bottom: 34px; }
body.newsify-ticker-bottom { padding-bottom: 34px; }
@media (min-width: 960px) { body.newsify-ticker-bottom { padding-bottom: 40px; } }

.ticker-clock {
	flex: none; background: #000; color: #fff; font-weight: 800; font-variant-numeric: tabular-nums;
	padding: .3em .9em; border-radius: 4px; font-size: .82rem;
}

@media (prefers-contrast: more) {
	:root { --nf-border: #000; --nf-text-light: #333; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* -------------------------------------------------------------------------
   Print
   ------------------------------------------------------------------------- */
@media print {
	.site-header, .site-footer, .newsify-share-buttons, .newsify-breaking-ticker, .back-to-top, .mobile-bottom-nav, .newsify-ad-slot, .sidebar-primary, .newsify-related-posts, .newsify-comments { display: none !important; }
	body { font-size: 12pt; }
}

/* -------------------------------------------------------------------------
   Desktop nav overrides
   ------------------------------------------------------------------------- */
@media (min-width: 960px) {
	.header-main { flex-wrap: nowrap; }
	.menu-toggle { display: none; }
	.main-navigation { order: 2; width: auto; }
	.nav-menu { display: flex !important; flex-direction: row; gap: .25rem; position: relative; }
	.nav-menu .menu-item { border-bottom: none; }
	.nav-menu .menu-link { padding: 1.6rem .9rem; white-space: nowrap; }
	.nav-menu .sub-menu {
		display: block; position: absolute; top: 100%; left: 0; min-width: 220px; background: var(--nf-bg);
		box-shadow: var(--nf-shadow-lg); border-radius: 0 0 var(--nf-radius-sm) var(--nf-radius-sm); padding: .5rem 0;
		opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--nf-transition), transform var(--nf-transition);
	}
	.nav-menu .sub-menu .menu-link { padding: .6rem 1.25rem; }
	.nav-menu .has-dropdown:hover > .sub-menu,
	.nav-menu .has-dropdown:focus-within > .sub-menu,
	.nav-menu .has-dropdown.is-expanded > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
	.nav-menu .sub-menu .sub-menu { top: 0; left: 100%; }

	.mega-menu-panel {
		display: block; position: absolute; top: 100%; left: 0; right: 0; background: var(--nf-bg); box-shadow: var(--nf-shadow-lg);
		padding: 1.5rem; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--nf-transition), transform var(--nf-transition);
		z-index: 50;
	}
	.has-mega-menu:hover > .mega-menu-panel,
	.has-mega-menu:focus-within > .mega-menu-panel,
	.has-mega-menu.is-expanded > .mega-menu-panel { opacity: 1; visibility: visible; transform: translateY(0); }
	.mega-menu-inner { grid-template-columns: 1fr 2fr; }

	.header-actions { order: 3; }
	.newsify-search-panel { position: absolute; left: 0; right: 0; top: 100%; box-shadow: var(--nf-shadow-lg); }
}

/* Header layout variants */
.header-layout-2 .header-main { flex-direction: column; text-align: center; }
.header-layout-2 .header-actions { order: 1; align-self: flex-end; }
