/*
Theme Name: Dnyandeep AI
Theme URI: https://dnyandeepcollege.in
Description: An enterprise-grade, fully-automatic AI-driven education portal theme for dnyandeepcollege.in. Powered by Amazon Bedrock (API-key auth), it monitors official Maharashtra education sources, researches, writes E-E-A-T / Helpful-Content SEO articles, generates AI images, adds schema + meta, and auto-publishes on a 10-minute schedule. SEO, Google Discover, AdSense and Core Web Vitals optimized. Standalone theme (no parent required).
Author: Dnyandeep College
Author URI: https://dnyandeepcollege.in
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dnyandeep
Tags: education, news, blog, custom-menu, featured-images, threaded-comments, translation-ready, ai
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --dc-primary:#0d47a1;
  --dc-primary-d:#08306b;
  --dc-primary-l:#1565c0;
  --dc-primary-xl:#e8f0fe;
  --dc-accent:#f9a825;
  --dc-accent-d:#c17900;
  --dc-red:#c62828;
  --dc-red-l:#ffebee;
  --dc-green:#2e7d32;
  --dc-green-l:#e8f5e9;
  --dc-orange:#e65100;
  --dc-bg:#f4f6fb;
  --dc-card:#ffffff;
  --dc-border:#d7deea;
  --dc-text:#16202c;
  --dc-muted:#4a5568;
  --dc-link:#0d47a1;
  --dc-font:'Noto Sans Devanagari','Hind','Segoe UI',Roboto,Verdana,Arial,sans-serif;
  --dc-radius:8px;
  --dc-shadow:0 1px 3px rgba(13,71,161,.10),0 1px 2px rgba(0,0,0,.04);
  --dc-shadow-lg:0 6px 24px rgba(13,71,161,.12);
  --dc-max:1180px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--dc-font);font-size:16px;line-height:1.7;color:var(--dc-text);background:var(--dc-bg);overflow-x:hidden}
a{color:var(--dc-link);text-decoration:none}
a:hover{text-decoration:underline;color:var(--dc-primary-d)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
h1,h2,h3,h4{line-height:1.3;font-weight:700;color:var(--dc-text)}
button{font-family:inherit;cursor:pointer}

.dc-wrap{max-width:var(--dc-max);margin:0 auto;padding:0 16px}
.dc-skip{position:absolute;left:-9999px}
.dc-skip:focus{left:8px;top:8px;z-index:100000;background:#fff;padding:8px 14px;border-radius:6px;box-shadow:var(--dc-shadow-lg)}

/* ============================================================
   TOP BAR
   ============================================================ */
.dc-topbar{background:var(--dc-primary-d);color:rgba(255,255,255,.92);font-size:12.5px;padding:6px 0}
.dc-topbar .dc-wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.dc-topbar-tag{background:var(--dc-accent);color:#1a1a1a;font-size:10px;font-weight:800;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}
.dc-topbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dc-topbar-btn{display:inline-flex;align-items:center;gap:5px;color:#fff!important;font-size:11.5px;padding:3px 9px;border:1px solid rgba(255,255,255,.25);border-radius:4px;text-decoration:none!important}
.dc-topbar-btn:hover{background:rgba(255,255,255,.14)}

/* ============================================================
   HEADER
   ============================================================ */
.dc-header{background:var(--dc-primary);padding:14px 0;border-bottom:3px solid var(--dc-accent)}
.dc-header-inner{display:flex;align-items:center;gap:16px}
.dc-logo-link{display:flex;align-items:center;gap:13px;text-decoration:none!important;flex-shrink:0}
.dc-logo-img,.dc-logo-ph{width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.6);object-fit:cover;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dc-site-name{color:#fff;font-size:23px;font-weight:800;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.dc-site-tagline{color:rgba(255,255,255,.82);font-size:12.5px;margin-top:2px}
.dc-header-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.dc-header-search{display:flex;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:6px;overflow:hidden}
.dc-header-search input{background:transparent;border:none;outline:none;color:#fff;padding:8px 12px;font-size:14px;width:200px;font-family:var(--dc-font)}
.dc-header-search input::placeholder{color:rgba(255,255,255,.65)}
.dc-header-search button{background:var(--dc-accent);color:#1a1a1a;border:none;padding:9px 12px;display:flex;align-items:center}

/* ============================================================
   NAVIGATION
   ============================================================ */
.dc-nav{background:var(--dc-primary-d);position:sticky;top:0;z-index:1000;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.dc-nav-inner{display:flex;align-items:stretch;position:relative}
.dc-hamburger{display:none;background:none;border:none;color:#fff;padding:12px 14px;align-items:center;gap:8px;font-size:14px;font-weight:700;width:100%;text-align:left}
.dc-menu{display:flex;flex-wrap:wrap;margin:0;padding:0}
.dc-menu>li{position:relative}
.dc-menu>li>a{display:flex;align-items:center;gap:5px;color:#fff!important;padding:12px 14px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;text-decoration:none!important;border-right:1px solid rgba(255,255,255,.08)}
.dc-menu>li>a:hover,.dc-menu>li.current-menu-item>a{background:var(--dc-primary)}
.dc-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border-top:3px solid var(--dc-accent);min-width:220px;z-index:1001;box-shadow:var(--dc-shadow-lg);border-radius:0 0 6px 6px;padding:6px 0}
.dc-menu>li:hover .sub-menu,.dc-menu>li:focus-within .sub-menu{display:block}
.dc-menu .sub-menu li a{display:block;color:var(--dc-text)!important;padding:9px 16px;font-size:13.5px;text-decoration:none!important}
.dc-menu .sub-menu li a:hover{background:var(--dc-primary-xl);color:var(--dc-primary)!important}
.dc-menu .menu-item-has-children>a::after{content:'▾';font-size:10px;margin-left:3px}

/* ============================================================
   ALERT / TICKER
   ============================================================ */
.dc-alert{background:var(--dc-red);color:#fff;padding:5px 0;font-size:13px}
.dc-alert .dc-wrap{display:flex;align-items:center;gap:10px}
.dc-alert-tag{background:#fff;color:var(--dc-red);font-size:10px;font-weight:800;padding:2px 8px;border-radius:3px;text-transform:uppercase;white-space:nowrap}
.dc-alert-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.dc-ticker{background:var(--dc-primary-xl);border-bottom:1px solid var(--dc-border);display:flex;align-items:center;height:38px;overflow:hidden}
.dc-ticker-lbl{background:var(--dc-primary);color:#fff;font-size:11px;font-weight:800;padding:0 14px;height:100%;display:flex;align-items:center;gap:6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}
.dc-ticker-track{flex:1;overflow:hidden;white-space:nowrap}
.dc-ticker-inner{display:inline-block;white-space:nowrap;animation:dc-tick 40s linear infinite;font-size:13.5px;font-weight:500}
.dc-ticker-inner a{color:var(--dc-primary);padding:0 20px}
@keyframes dc-tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============================================================
   LAYOUT
   ============================================================ */
.dc-body{max-width:var(--dc-max);margin:18px auto;padding:0 16px;display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}
.dc-main{min-width:0}
.dc-sidebar{min-width:0;position:sticky;top:64px}

/* ============================================================
   CARDS
   ============================================================ */
.dc-card{background:var(--dc-card);border:1px solid var(--dc-border);border-radius:var(--dc-radius);margin-bottom:20px;overflow:hidden;box-shadow:var(--dc-shadow)}
.dc-card-hd{background:var(--dc-primary);color:#fff;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.dc-card-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.3px;color:#fff;margin:0}
.dc-card-more a{color:#fff!important;font-size:11.5px;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:4px;text-decoration:none!important;font-weight:600}
.dc-card-body{padding:18px}

/* ============================================================
   HERO
   ============================================================ */
.dc-hero{background:linear-gradient(135deg,var(--dc-primary) 0%,var(--dc-primary-l) 100%);padding:34px 0 30px;border-bottom:4px solid var(--dc-accent);color:#fff}
.dc-hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}
.dc-hero-title{color:#fff;font-size:32px;font-weight:800;line-height:1.25;margin-bottom:12px;text-shadow:0 1px 3px rgba(0,0,0,.2)}
.dc-hero-sub{color:rgba(255,255,255,.9);font-size:16px;margin-bottom:20px;max-width:720px}
.dc-hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.dc-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--dc-radius);font-size:15px;font-weight:700;text-decoration:none!important;border:2px solid transparent;transition:transform .15s}
.dc-btn:hover{transform:translateY(-1px)}
.dc-btn-primary{background:var(--dc-accent);color:#1a1a2e!important;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.dc-btn-outline{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.6)}
.dc-btn-outline:hover{background:rgba(255,255,255,.14)}

/* ============================================================
   CATEGORY GRID
   ============================================================ */
.dc-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.dc-cat-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:16px 10px;border:1px solid var(--dc-border);border-radius:var(--dc-radius);background:#fff;text-decoration:none!important;transition:all .15s}
.dc-cat-tile:hover{background:var(--dc-primary-xl);border-color:var(--dc-primary);transform:translateY(-2px);box-shadow:var(--dc-shadow)}
.dc-cat-ic{width:44px;height:44px;border-radius:12px;background:var(--dc-primary-xl);display:flex;align-items:center;justify-content:center}
.dc-cat-name{font-size:13px;font-weight:600;color:var(--dc-text);line-height:1.35}

/* ============================================================
   POST GRID / LIST
   ============================================================ */
.dc-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.dc-post-card{border:1px solid var(--dc-border);border-radius:var(--dc-radius);overflow:hidden;background:#fff;transition:box-shadow .15s;display:flex;flex-direction:column}
.dc-post-card:hover{box-shadow:var(--dc-shadow-lg)}
.dc-post-thumb{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--dc-primary),var(--dc-primary-l));overflow:hidden}
.dc-post-thumb img{width:100%;height:100%;object-fit:cover}
.dc-post-cardbody{padding:12px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.dc-post-cat{font-size:10.5px;font-weight:700;color:var(--dc-primary);text-transform:uppercase;letter-spacing:.4px}
.dc-post-cardtitle{font-size:15px;font-weight:700;line-height:1.4}
.dc-post-cardtitle a{color:var(--dc-text)}
.dc-post-cardtitle a:hover{color:var(--dc-primary)}
.dc-post-meta{font-size:12px;color:var(--dc-muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.dc-plist li{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #eef1f7}
.dc-plist li:last-child{border-bottom:none}
.dc-plist a{color:var(--dc-text);font-size:14.5px;font-weight:500;line-height:1.5}
.dc-plist a:hover{color:var(--dc-primary)}

/* BADGES */
.dc-badge{font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:3px;text-transform:uppercase;white-space:nowrap;color:#fff}
.dc-badge.new{background:var(--dc-red);animation:dc-pulse 1.3s infinite}
.dc-badge.ai{background:var(--dc-primary-l)}
@keyframes dc-pulse{0%,100%{opacity:1}50%{opacity:.45}}

/* ============================================================
   SINGLE POST
   ============================================================ */
.dc-article{background:#fff;border:1px solid var(--dc-border);border-radius:var(--dc-radius);overflow:hidden;box-shadow:var(--dc-shadow)}
.dc-breadcrumb{font-size:12.5px;color:var(--dc-muted);padding:12px 0;display:flex;gap:6px;flex-wrap:wrap}
.dc-breadcrumb a{color:var(--dc-primary)}
.dc-article-hd{padding:20px 24px;border-bottom:1px solid var(--dc-border)}
.dc-article-title{font-size:27px;font-weight:800;line-height:1.28;margin-bottom:10px}
.dc-article-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--dc-muted)}
.dc-article-meta span{display:flex;align-items:center;gap:5px}
.dc-article-thumb img{width:100%;height:auto;display:block}
.dc-article-body{padding:24px}
.dc-article-body p{margin-bottom:16px;font-size:16.5px;line-height:1.85}
.dc-article-body h2{font-size:22px;margin:26px 0 12px;padding-left:12px;border-left:4px solid var(--dc-primary);color:var(--dc-primary-d)}
.dc-article-body h3{font-size:18.5px;margin:20px 0 10px;color:var(--dc-primary-d)}
.dc-article-body ul,.dc-article-body ol{padding-left:22px;margin-bottom:16px}
.dc-article-body ul li{list-style:disc;margin-bottom:8px}
.dc-article-body ol li{list-style:decimal;margin-bottom:8px}
.dc-article-body a{color:var(--dc-primary);text-decoration:underline}
.dc-article-body img{border-radius:var(--dc-radius);margin:16px auto}
.dc-table-scroll{overflow-x:auto;margin:18px 0}
.dc-article-body table{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--dc-border)}
.dc-article-body th,.dc-article-body td{border:1px solid var(--dc-border);padding:9px 12px;text-align:left}
.dc-article-body thead th{background:var(--dc-primary);color:#fff}
.dc-article-body tbody tr:nth-child(even){background:var(--dc-primary-xl)}

/* SUMMARY / TOC / INFO BOXES */
.dc-summary{background:var(--dc-primary-xl);border-left:4px solid var(--dc-primary);border-radius:0 6px 6px 0;padding:14px 18px;margin:0 0 20px}
.dc-summary strong{color:var(--dc-primary-d)}
.dc-toc{background:#fbfcfe;border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:14px 18px;margin:0 0 20px}
.dc-toc-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--dc-muted);margin-bottom:8px}
.dc-toc ol{padding-left:20px}
.dc-toc ol li{list-style:decimal;margin-bottom:5px}
.dc-toc a{color:var(--dc-primary)}
.dc-notice{display:flex;gap:10px;padding:14px 16px;border-radius:var(--dc-radius);margin:18px 0;font-size:14.5px;line-height:1.7}
.dc-notice.blue{background:var(--dc-primary-xl);border-left:4px solid var(--dc-primary)}
.dc-notice.gold{background:#fff8e1;border-left:4px solid var(--dc-accent)}
.dc-notice.green{background:var(--dc-green-l);border-left:4px solid var(--dc-green)}

/* FAQ */
.dc-faq details{border:1px solid var(--dc-border);border-radius:var(--dc-radius);margin-bottom:8px;overflow:hidden}
.dc-faq summary{padding:13px 16px;font-weight:600;background:var(--dc-primary-xl);color:var(--dc-primary-d);cursor:pointer;list-style:none}
.dc-faq summary::-webkit-details-marker{display:none}
.dc-faq details[open] summary{background:var(--dc-primary);color:#fff}
.dc-faq-a{padding:14px 16px;font-size:14.5px;line-height:1.75}

/* AUTHOR BIO */
.dc-author{display:flex;gap:16px;align-items:flex-start;background:var(--dc-primary-xl);border-radius:var(--dc-radius);padding:18px;margin-top:22px}
.dc-author-avatar{width:64px;height:64px;border-radius:50%;border:3px solid var(--dc-primary);object-fit:cover;flex-shrink:0}
.dc-author-name{font-size:16px;font-weight:700;color:var(--dc-primary-d)}
.dc-author-role{font-size:12.5px;color:var(--dc-muted);margin-bottom:6px}
.dc-author-desc{font-size:13.5px;line-height:1.65}

/* SHARE */
.dc-share{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--dc-border);margin-top:18px}
.dc-share a{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:12.5px;font-weight:600;color:#fff!important;text-decoration:none!important}
.dc-share .wa{background:#25d366}.dc-share .tg{background:#0088cc}.dc-share .fb{background:#1877f2}.dc-share .tw{background:#000}

/* ============================================================
   SIDEBAR WIDGETS
   ============================================================ */
.dc-widget{background:#fff;border:1px solid var(--dc-border);border-radius:var(--dc-radius);margin-bottom:20px;overflow:hidden;box-shadow:var(--dc-shadow)}
.dc-widget-title{background:var(--dc-primary);color:#fff;font-size:13px;font-weight:700;padding:10px 14px;text-transform:uppercase;letter-spacing:.4px}
.dc-widget-body{padding:14px}
.dc-widget .dc-plist{padding:0 14px 8px}

/* AD SLOTS */
.dc-ad{text-align:center;margin:18px 0;overflow:hidden;min-height:1px}
.dc-ad-label{font-size:9.5px;color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}

/* PAGINATION */
.dc-pagination{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:24px 0}
.dc-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--dc-border);border-radius:6px;background:#fff;color:var(--dc-link);font-weight:600}
.dc-pagination .current,.dc-pagination .page-numbers:hover{background:var(--dc-primary);color:#fff;border-color:var(--dc-primary)}

/* ============================================================
   FOOTER
   ============================================================ */
.dc-footer{background:var(--dc-primary-d);color:rgba(255,255,255,.85);border-top:4px solid var(--dc-accent);margin-top:32px}
.dc-footer-top{padding:32px 0 24px}
.dc-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:28px}
.dc-footer h4{color:var(--dc-accent);font-size:13.5px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.15)}
.dc-footer p{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.85)}
.dc-footer-links li{padding:5px 0}
.dc-footer-links a{color:rgba(255,255,255,.85)!important;font-size:13px;text-decoration:none!important}
.dc-footer-links a:hover{color:var(--dc-accent)!important}
.dc-footer-disc{font-size:11.5px;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:6px;margin-top:12px;line-height:1.6}
.dc-footer-bottom{background:rgba(0,0,0,.25);padding:12px 0;font-size:12.5px}
.dc-footer-bottom .dc-wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.dc-footer-nav{display:flex;gap:14px;flex-wrap:wrap}
.dc-footer-nav a{color:rgba(255,255,255,.78)!important;text-decoration:none!important}

/* BACK TO TOP */
#dc-top{position:fixed;bottom:24px;right:24px;width:46px;height:46px;background:var(--dc-primary);color:#fff;border:none;border-radius:50%;display:none;align-items:center;justify-content:center;box-shadow:var(--dc-shadow-lg);z-index:999}
#dc-top.show{display:flex}

/* PROSE HELPERS */
.dc-prose p{margin-bottom:12px;font-size:15.5px;line-height:1.8}
.dc-muted{color:var(--dc-muted);font-size:13px}
.dc-mt{margin-top:16px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
  .dc-body{grid-template-columns:1fr}
  .dc-sidebar{order:2;position:static}
  .dc-footer-grid{grid-template-columns:1fr 1fr}
  .dc-hero-title{font-size:26px}
  .dc-header-search input{width:150px}
}
@media(max-width:640px){
  html,body{font-size:15px}
  .dc-hamburger{display:flex}
  .dc-menu{display:none;flex-direction:column;width:100%;background:var(--dc-primary-d)}
  .dc-menu.open{display:flex}
  .dc-menu>li>a{border-right:none;border-bottom:1px solid rgba(255,255,255,.08);text-transform:none}
  .dc-menu .sub-menu{position:static;box-shadow:none;border-radius:0;background:rgba(0,0,0,.15)}
  .dc-menu .sub-menu li a{color:#fff!important}
  .dc-header-right{display:none}
  .dc-footer-grid{grid-template-columns:1fr}
  .dc-article-title{font-size:22px}
  .dc-hero-title{font-size:22px}
  .dc-topbar-tag,.dc-topbar span.hide-sm{display:none}
}
@media print{.dc-topbar,.dc-nav,.dc-alert,.dc-ticker,.dc-sidebar,.dc-share,.dc-footer,#dc-top{display:none!important}.dc-body{display:block}}
