/*
Theme Name: NewsDeck
Theme URI: https://example.com/newsdeck
Author: Your Studio
Author URI: https://example.com
Description: A premium, fast, SEO-optimized WordPress news/magazine theme with breaking news ticker, featured slider, mega menu, dark/light mode, AJAX search, ad management, schema markup and full Gutenberg support. No page builder required.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: newsdeck
Tags: news, magazine, blog, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, rtl-language-support, translation-ready, threaded-comments, sticky-post, theme-options, footer-widgets, block-styles, wide-blocks
*/

/* =========================================================
   CSS RESET (minimal)
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;}
img,svg,video{max-width:100%;display:block;height:auto;}
a{text-decoration:none;color:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
input,textarea,select,button{font-family:inherit;}

/* =========================================================
   THEME COLOR SYSTEM (Unlimited colors via CSS variables,
   values are written by inc/class-customizer.php)
   ========================================================= */
:root{
	--nd-primary: #d12626;
	--nd-secondary: #1a1a2e;
	--nd-accent: #ffb400;
	--nd-bg: #ffffff;
	--nd-surface: #f5f6f8;
	--nd-text: #1a1a1a;
	--nd-muted: #6b7280;
	--nd-border: #e5e7eb;
	--nd-header-bg: #ffffff;
	--nd-footer-bg: #14141f;
	--nd-footer-text: #d7d7df;
	--nd-radius: 8px;
	--nd-maxw: 1280px;
	--nd-font-body: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--nd-font-heading: Georgia,"Times New Roman",serif;
}
html[data-theme="dark"]{
	--nd-bg: #121218;
	--nd-surface: #1b1b24;
	--nd-text: #ecedf0;
	--nd-muted: #a0a3ad;
	--nd-border: #2a2a35;
	--nd-header-bg: #16161e;
	--nd-footer-bg: #0c0c12;
	--nd-footer-text: #c7c8d0;
}

/* =========================================================
   BASE
   ========================================================= */
body{
	font-family: var(--nd-font-body);
	color: var(--nd-text);
	background: var(--nd-bg);
	font-size: 16px;
	line-height: 1.65;
	transition: background .25s ease,color .25s ease;
}
h1,h2,h3,h4,h5,h6{font-family:var(--nd-font-heading);line-height:1.25;margin:0 0 .5em;}
p{margin:0 0 1em;}
.container{max-width:var(--nd-maxw);margin:0 auto;padding:0 16px;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--nd-primary);color:#fff;padding:10px 16px;z-index:10000;}
.skip-link:focus{left:8px;top:8px;}

/* =========================================================
   BREAKING NEWS TICKER
   ========================================================= */
.nd-ticker{background:var(--nd-primary);color:#fff;display:flex;align-items:center;overflow:hidden;}
.nd-ticker__label{flex:0 0 auto;background:rgba(0,0,0,.2);font-weight:700;text-transform:uppercase;font-size:12px;padding:8px 14px;letter-spacing:.05em;}
.nd-ticker__track{flex:1 1 auto;overflow:hidden;position:relative;height:36px;}
.nd-ticker__list{display:flex;position:absolute;white-space:nowrap;animation:nd-ticker-scroll 30s linear infinite;align-items:center;height:36px;}
.nd-ticker__list a{color:#fff;padding:0 28px;font-size:14px;}
.nd-ticker:hover .nd-ticker__list{animation-play-state:paused;}
@keyframes nd-ticker-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* =========================================================
   HEADER / STICKY / MEGA MENU
   ========================================================= */
.nd-header{background:var(--nd-header-bg);border-bottom:1px solid var(--nd-border);position:relative;z-index:500;}
.nd-header.is-sticky{position:sticky;top:0;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.nd-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px;}
.nd-logo img{max-height:52px;width:auto;}
.nd-logo{font-size:24px;font-weight:800;font-family:var(--nd-font-heading);}
.nd-header__actions{display:flex;align-items:center;gap:14px;}
.nd-theme-toggle,.nd-search-toggle,.nd-mobile-toggle{background:none;border:1px solid var(--nd-border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--nd-text);}

.nd-nav{background:var(--nd-secondary);}
.nd-nav__list{display:flex;flex-wrap:wrap;}
.nd-nav__list>li{position:relative;}
.nd-nav__list>li>a{display:block;padding:14px 16px;color:#fff;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.03em;}
.nd-nav__list>li:hover>a,.nd-nav__list>li.current-menu-item>a{background:var(--nd-primary);}
.nd-nav .mega-menu{position:absolute;left:0;top:100%;min-width:680px;background:var(--nd-bg);color:var(--nd-text);box-shadow:0 12px 30px rgba(0,0,0,.18);padding:24px;display:none;grid-template-columns:repeat(3,1fr);gap:20px;border-radius:0 0 var(--nd-radius) var(--nd-radius);}
.nd-nav .menu-item-has-children:hover>.mega-menu{display:grid;}
.nd-nav .sub-menu:not(.mega-menu){position:absolute;left:0;top:100%;min-width:220px;background:var(--nd-bg);color:var(--nd-text);box-shadow:0 12px 30px rgba(0,0,0,.18);display:none;border-radius:0 0 var(--nd-radius) var(--nd-radius);}
.nd-nav .menu-item-has-children:hover>.sub-menu{display:block;}
.nd-nav .sub-menu li a{display:block;padding:10px 16px;color:var(--nd-text);font-size:13px;}
.nd-nav .sub-menu li a:hover{background:var(--nd-surface);}
.mega-menu__col h4{font-size:13px;text-transform:uppercase;color:var(--nd-primary);margin-bottom:10px;}
.mega-menu__col img{width:100%;border-radius:var(--nd-radius);margin-bottom:8px;}

/* AJAX Search overlay */
.nd-search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;display:none;align-items:flex-start;justify-content:center;padding-top:10vh;}
.nd-search-overlay.is-active{display:flex;}
.nd-search-overlay__inner{width:100%;max-width:700px;padding:0 16px;}
.nd-search-overlay input[type="search"]{width:100%;font-size:24px;padding:14px 16px;border-radius:var(--nd-radius);border:none;}
.nd-search-overlay__results{background:var(--nd-bg);margin-top:10px;border-radius:var(--nd-radius);max-height:60vh;overflow:auto;}
.nd-search-overlay__results a{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--nd-border);align-items:center;}
.nd-search-overlay__results img{width:50px;height:50px;object-fit:cover;border-radius:6px;flex:0 0 auto;}
.nd-search-close{position:absolute;top:20px;right:24px;color:#fff;font-size:28px;background:none;border:none;}

/* =========================================================
   FEATURED SLIDER
   ========================================================= */
.nd-slider{position:relative;overflow:hidden;border-radius:var(--nd-radius);margin:24px 0;}
.nd-slider__track{display:flex;transition:transform .5s ease;}
.nd-slider__slide{position:relative;min-width:100%;aspect-ratio:16/7;}
.nd-slider__slide img{width:100%;height:100%;object-fit:cover;}
.nd-slider__caption{position:absolute;left:0;bottom:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.85));padding:40px 28px 22px;color:#fff;}
.nd-slider__caption .cat{background:var(--nd-primary);padding:3px 10px;border-radius:4px;font-size:12px;text-transform:uppercase;}
.nd-slider__caption h2{font-size:28px;margin:10px 0 6px;}
.nd-slider__caption h2 a{color:#fff;}
.nd-slider__nav{position:absolute;bottom:16px;right:20px;display:flex;gap:8px;z-index:5;}
.nd-slider__dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);border:none;}
.nd-slider__dot.is-active{background:#fff;}
.nd-slider__arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);color:#fff;border:none;width:40px;height:40px;border-radius:50%;z-index:5;}
.nd-slider__arrow--prev{left:14px;}
.nd-slider__arrow--next{right:14px;}

/* =========================================================
   CARDS / GRIDS / SECTIONS
   ========================================================= */
.nd-section{margin:36px 0;}
.nd-section__head{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--nd-primary);margin-bottom:18px;padding-bottom:8px;}
.nd-section__head h2{font-size:20px;text-transform:uppercase;margin:0;}
.nd-section__head a{font-size:13px;color:var(--nd-primary);font-weight:600;}
.nd-grid{display:grid;gap:20px;grid-template-columns:repeat(4,1fr);}
.nd-grid--3{grid-template-columns:repeat(3,1fr);}
.nd-grid--2{grid-template-columns:repeat(2,1fr);}
.nd-card{background:var(--nd-surface);border-radius:var(--nd-radius);overflow:hidden;display:flex;flex-direction:column;}
.nd-card__thumb{aspect-ratio:16/10;overflow:hidden;}
.nd-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.nd-card:hover .nd-card__thumb img{transform:scale(1.06);}
.nd-card__body{padding:14px;flex:1;display:flex;flex-direction:column;}
.nd-card__cat{color:var(--nd-primary);font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:6px;}
.nd-card__title{font-size:17px;margin:0 0 8px;}
.nd-card__meta{margin-top:auto;font-size:12px;color:var(--nd-muted);display:flex;gap:10px;align-items:center;}
.nd-card__meta img{width:22px;height:22px;border-radius:50%;}

/* Trending list */
.nd-trending{counter-reset:nd-trend;}
.nd-trending li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--nd-border);align-items:center;}
.nd-trending li::before{counter-increment:nd-trend;content:counter(nd-trend);font-size:22px;font-weight:800;color:var(--nd-border);width:34px;flex:0 0 auto;}
.nd-trending img{width:70px;height:55px;object-fit:cover;border-radius:6px;flex:0 0 auto;}
.nd-trending h4{font-size:14px;margin:0;}

/* =========================================================
   SINGLE POST
   ========================================================= */
.nd-breadcrumb{font-size:13px;color:var(--nd-muted);margin:16px 0;}
.nd-breadcrumb a{color:var(--nd-primary);}
.nd-single__header{margin-bottom:18px;}
.nd-single__cat{display:inline-block;background:var(--nd-primary);color:#fff;font-size:12px;padding:4px 10px;border-radius:4px;text-transform:uppercase;margin-bottom:10px;}
.nd-single__title{font-size:32px;}
.nd-single__meta{display:flex;gap:16px;align-items:center;color:var(--nd-muted);font-size:13px;flex-wrap:wrap;}
.nd-single__meta img.avatar{width:32px;height:32px;border-radius:50%;}
.nd-single__thumb{margin:20px 0;border-radius:var(--nd-radius);overflow:hidden;}
.nd-content{font-size:18px;line-height:1.8;}
.nd-content img{border-radius:var(--nd-radius);}
.nd-content blockquote{border-left:4px solid var(--nd-primary);margin:20px 0;padding:8px 20px;font-style:italic;background:var(--nd-surface);}

/* Social share */
.nd-share{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap;}
.nd-share a{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;color:#fff;font-size:13px;font-weight:600;}
.nd-share .fb{background:#1877f2;} .nd-share .tw{background:#000;} .nd-share .wa{background:#25d366;}
.nd-share .li{background:#0a66c2;} .nd-share .pin{background:#e60023;} .nd-share .cp{background:var(--nd-muted);}

/* Author box */
.nd-author{display:flex;gap:16px;background:var(--nd-surface);padding:20px;border-radius:var(--nd-radius);margin:30px 0;}
.nd-author img{width:80px;height:80px;border-radius:50%;flex:0 0 auto;}
.nd-author h4{margin:0 0 6px;}
.nd-author .socials{display:flex;gap:8px;margin-top:10px;}

/* Related posts */
.nd-related{margin:36px 0;}

/* Tags */
.nd-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;}
.nd-tags a{background:var(--nd-surface);padding:6px 12px;border-radius:20px;font-size:13px;}

/* Comments */
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list .children{margin-left:40px;}
.comment-body{background:var(--nd-surface);padding:16px;border-radius:var(--nd-radius);margin-bottom:16px;}
.comment-form input,.comment-form textarea{width:100%;padding:10px;border:1px solid var(--nd-border);border-radius:6px;background:var(--nd-bg);color:var(--nd-text);margin-bottom:10px;}
.comment-form .form-submit input{background:var(--nd-primary);color:#fff;border:none;padding:10px 24px;border-radius:6px;width:auto;}

/* =========================================================
   PAGINATION
   ========================================================= */
.nd-pagination{display:flex;justify-content:center;gap:8px;margin:30px 0;flex-wrap:wrap;}
.nd-pagination a,.nd-pagination span{padding:8px 14px;border-radius:6px;background:var(--nd-surface);font-size:14px;}
.nd-pagination .current{background:var(--nd-primary);color:#fff;}

/* =========================================================
   SIDEBAR / WIDGETS
   ========================================================= */
.nd-layout{display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:start;}
.widget{background:var(--nd-surface);padding:18px;border-radius:var(--nd-radius);margin-bottom:24px;}
.widget h2.widget-title,.widget .widgettitle{font-size:16px;text-transform:uppercase;border-bottom:2px solid var(--nd-primary);padding-bottom:8px;margin-bottom:14px;}
.nd-ad-slot{margin:20px 0;text-align:center;}
.nd-ad-slot ins,.nd-ad-slot img{max-width:100%;}

/* =========================================================
   FOOTER
   ========================================================= */
.nd-footer{background:var(--nd-footer-bg);color:var(--nd-footer-text);margin-top:60px;}
.nd-footer__widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:50px 0;}
.nd-footer__widgets .widget{background:transparent;padding:0;}
.nd-footer__widgets .widget h2{color:#fff;border-color:var(--nd-primary);}
.nd-footer a{color:var(--nd-footer-text);}
.nd-footer a:hover{color:#fff;}
.nd-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;font-size:13px;flex-wrap:wrap;gap:10px;}
.nd-footer__socials{display:flex;gap:10px;}
.nd-footer__socials a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;}

/* =========================================================
   GUTENBERG / WIDE & FULL ALIGN
   ========================================================= */
.alignwide{max-width:calc(var(--nd-maxw) - 60px);margin-left:calc(50% - (var(--nd-maxw) - 60px)/2);}
.alignfull{width:100vw;margin-left:calc(50% - 50vw);max-width:100vw;}
.wp-block-quote{border-left:4px solid var(--nd-primary);padding-left:20px;}

/* =========================================================
   LAZY LOAD
   ========================================================= */
img[loading="lazy"]{background:var(--nd-surface);}

/* =========================================================
   RESPONSIVE
   ========================================================= */
.nd-mobile-toggle{display:none;}
@media (max-width: 991px){
	.nd-grid{grid-template-columns:repeat(2,1fr);}
	.nd-layout{grid-template-columns:1fr;}
	.nd-footer__widgets{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 767px){
	.nd-mobile-toggle{display:flex;}
	.nd-nav{display:none;}
	.nd-nav.is-open{display:block;}
	.nd-nav__list{flex-direction:column;}
	.nd-nav .mega-menu{position:static;display:none!important;min-width:100%;grid-template-columns:1fr;}
	.nd-nav .menu-item-has-children.is-open>.mega-menu,
	.nd-nav .menu-item-has-children.is-open>.sub-menu{display:block!important;position:static;box-shadow:none;}
	.nd-grid{grid-template-columns:1fr;}
	.nd-footer__widgets{grid-template-columns:1fr;}
	.nd-single__title{font-size:24px;}
}

/* =========================================================
   RTL
   ========================================================= */
html[dir="rtl"] .nd-ticker__list a{direction:rtl;}
html[dir="rtl"] .nd-trending li::before{margin-left:14px;margin-right:0;}
