/*
Theme Name: 智擎 GEO
Theme URI: https://www.codebuddy.cn
Description: 仿 GEOFlow 默认站（今日头条资讯风）的本地企业 GEO 获客主题。蓝主色 #2563eb，带分类导航、首页轮播、文章卡片网格、侧边栏、真实分类/标签归档分页、文章详情相关推荐与 JSON-LD。AI 友好（语义化、面包屑、结构化数据）。
Version: 1.0.0
Author: 智擎 GEO 团队
Tags: news, magazine, geo, seo, ai-friendly
Text Domain: zhijing-geo
*/

:root{
  --zj-accent:#2563eb;
  --zj-accent-dark:#1d4ed8;
  --zj-accent-soft:#eff4ff;
  --zj-text:#1a1a1a;
  --zj-text-2:#374151;
  --zj-text-3:#6b7280;
  --zj-border:#f3f4f6;
  --zj-bg:#ffffff;
  --zj-bg-subtle:#fafafa;
  --zj-bg-card:#ffffff;
  --zj-radius:14px;
  --zj-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);
  --zj-shadow-hover:0 4px 12px rgba(16,24,40,.08),0 16px 40px rgba(16,24,40,.10);
  --zj-maxw:1180px;
  --zj-font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--zj-font);
  color:var(--zj-text);
  background:var(--zj-bg-subtle);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--zj-accent);}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4,h5,h6{line-height:1.3;color:var(--zj-text);margin:0 0 .5em;font-weight:700;}
.container{max-width:var(--zj-maxw);margin:0 auto;padding:0 20px;}

/* ===== Top bar ===== */
.zj-topbar{background:var(--zj-text);color:#cbd5e1;font-size:13px;}
.zj-topbar .container{display:flex;justify-content:space-between;align-items:center;height:38px;gap:12px;flex-wrap:wrap;}
.zj-topbar a{color:#cbd5e1;}
.zj-topbar a:hover{color:#fff;}

/* ===== Header ===== */
.zj-header{background:var(--zj-bg);border-bottom:1px solid var(--zj-border);position:sticky;top:0;z-index:50;}
.zj-header .container{display:flex;align-items:center;gap:24px;height:78px;}
.zj-brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.zj-brand img{height:46px;width:auto;}
.zj-brand .zj-brand-text{display:flex;flex-direction:column;line-height:1.1;}
.zj-brand .zj-brand-name{font-size:22px;font-weight:800;letter-spacing:.5px;color:var(--zj-text);}
.zj-brand .zj-brand-name b{color:var(--zj-accent);}
.zj-brand .zj-brand-sub{font-size:12px;color:var(--zj-text-3);letter-spacing:2px;}
.zj-nav{flex:1;display:flex;align-items:center;gap:4px;overflow-x:auto;}
.zj-nav a{padding:8px 14px;border-radius:8px;font-size:15px;font-weight:600;color:var(--zj-text-2);white-space:nowrap;}
.zj-nav a:hover,.zj-nav .current-menu-item>a{background:var(--zj-accent-soft);color:var(--zj-accent);}
.zj-header-cta{flex-shrink:0;}
.zj-btn{display:inline-block;background:var(--zj-accent);color:#fff !important;padding:10px 18px;border-radius:10px;font-weight:700;font-size:14px;box-shadow:var(--zj-shadow);}
.zj-btn:hover{background:var(--zj-accent-dark);}

/* ===== Hero / carousel ===== */
.zj-hero{padding:28px 0 8px;}
.zj-carousel{position:relative;border-radius:var(--zj-radius);overflow:hidden;box-shadow:var(--zj-shadow);background:#0f172a;}
.zj-slides{display:flex;transition:transform .5s ease;}
.zj-slide{min-width:100%;position:relative;aspect-ratio:21/9;background-size:cover;background-position:center;}
.zj-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,0) 40%,rgba(15,23,42,.82) 100%);}
.zj-slide-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 32px;color:#fff;z-index:2;}
.zj-slide-caption .zj-slide-cat{display:inline-block;background:var(--zj-accent);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:6px;margin-bottom:10px;}
.zj-slide-caption h2{color:#fff;font-size:26px;margin:0;max-width:80%;}
.zj-slide-caption h2 a{color:#fff;}
.zj-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.85);border:none;cursor:pointer;font-size:20px;color:#0f172a;z-index:3;display:flex;align-items:center;justify-content:center;box-shadow:var(--zj-shadow);}
.zj-carousel-nav.prev{left:14px;}
.zj-carousel-nav.next{right:14px;}
.zj-carousel-dots{position:absolute;bottom:14px;right:18px;display:flex;gap:8px;z-index:3;}
.zj-carousel-dots button{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.55);cursor:pointer;padding:0;}
.zj-carousel-dots button.active{background:#fff;width:24px;border-radius:5px;}

/* ===== Layout ===== */
.zj-main{padding:24px 0 8px;}
.zj-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;}
.zj-section-title{display:flex;align-items:center;gap:10px;margin:6px 0 18px;}
.zj-section-title h3{font-size:20px;margin:0;}
.zj-section-title .bar{width:5px;height:20px;border-radius:3px;background:var(--zj-accent);}
.zj-section-title .more{margin-left:auto;font-size:13px;color:var(--zj-text-3);}

/* ===== Article cards ===== */
.zj-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.zj-card{background:var(--zj-bg-card);border:1px solid var(--zj-border);border-radius:var(--zj-radius);overflow:hidden;box-shadow:var(--zj-shadow);transition:transform .18s ease,box-shadow .18s ease;display:flex;flex-direction:column;}
.zj-card:hover{transform:translateY(-3px);box-shadow:var(--zj-shadow-hover);}
.zj-card .thumb{aspect-ratio:16/9;background:#eef2f7 center/cover no-repeat;}
.zj-card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.zj-card .meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--zj-text-3);}
.zj-card .cat{color:var(--zj-accent);font-weight:700;}
.zj-card h2{font-size:17px;margin:0;line-height:1.4;}
.zj-card h2 a{color:var(--zj-text);}
.zj-card:hover h2 a{color:var(--zj-accent);}
.zj-card .excerpt{font-size:14px;color:var(--zj-text-2);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.zj-card .read{margin-top:auto;font-size:13px;font-weight:700;color:var(--zj-accent);}

/* ===== Pagination / load more ===== */
.zj-pagination{display:flex;justify-content:center;gap:8px;margin:32px 0 8px;flex-wrap:wrap;}
.zj-pagination a,.zj-pagination span{padding:9px 14px;border-radius:9px;background:#fff;border:1px solid var(--zj-border);font-size:14px;color:var(--zj-text-2);}
.zj-pagination .current{background:var(--zj-accent);color:#fff;border-color:var(--zj-accent);}

/* ===== Sidebar ===== */
.zj-sidebar{display:flex;flex-direction:column;gap:20px;}
.zj-widget{background:#fff;border:1px solid var(--zj-border);border-radius:var(--zj-radius);padding:18px;box-shadow:var(--zj-shadow);}
.zj-widget h4{font-size:16px;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.zj-widget h4 .bar{width:4px;height:16px;border-radius:3px;background:var(--zj-accent);}
.zj-widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.zj-widget li a{display:flex;gap:10px;font-size:14px;color:var(--zj-text-2);}
.zj-widget li a:hover{color:var(--zj-accent);}
.zj-widget li .w-meta{font-size:12px;color:var(--zj-text-3);}
.zj-widget .tagcloud{display:flex;flex-wrap:wrap;gap:8px;}
.zj-widget .tagcloud a{background:var(--zj-accent-soft);color:var(--zj-accent);padding:5px 12px;border-radius:20px;font-size:13px;}
.zj-cta-card{background:linear-gradient(135deg,var(--zj-accent),var(--zj-accent-dark));color:#fff;border:none;}
.zj-cta-card h4{color:#fff;}
.zj-cta-card p{font-size:14px;color:#e0e7ff;margin:0 0 12px;}
.zj-cta-card .phone{font-size:22px;font-weight:800;letter-spacing:1px;}
.zj-cta-card .zj-btn{background:#fff;color:var(--zj-accent) !important;}

/* ===== Single article ===== */
.zj-article-hero{padding:24px 0 0;}
.zj-breadcrumb{font-size:13px;color:var(--zj-text-3);margin-bottom:14px;}
.zj-breadcrumb a{color:var(--zj-text-3);}
.zj-single{max-width:820px;margin:0 auto;}
.zj-single h1{font-size:30px;line-height:1.35;margin:0 0 14px;}
.zj-single .post-meta{display:flex;align-items:center;gap:14px;color:var(--zj-text-3);font-size:14px;margin-bottom:22px;flex-wrap:wrap;border-bottom:1px solid var(--zj-border);padding-bottom:16px;}
.zj-single .post-meta .cat{color:var(--zj-accent);font-weight:700;}
.zj-single .featured{aspect-ratio:16/9;background:#eef2f7 center/cover no-repeat;border-radius:var(--zj-radius);margin-bottom:24px;box-shadow:var(--zj-shadow);}
.zj-single .content{font-size:17px;line-height:1.9;color:var(--zj-text-2);}
.zj-single .content h2,.zj-single .content h3{padding-left:12px;border-left:4px solid var(--zj-accent);margin-top:1.6em;}
.zj-single .content img{border-radius:10px;margin:18px 0;}
.zj-single .content a{color:var(--zj-accent);text-decoration:underline;}
.zj-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0;}
.zj-tags a{background:var(--zj-accent-soft);color:var(--zj-accent);padding:5px 12px;border-radius:20px;font-size:13px;}

/* ===== Related ===== */
.zj-related{margin:36px 0;}
.zj-related .zj-cards{grid-template-columns:repeat(3,1fr);}

/* ===== Footer ===== */
.zj-footer{background:#0f172a;color:#cbd5e1;margin-top:48px;padding:44px 0 0;}
.zj-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;}
.zj-footer h5{color:#fff;font-size:16px;margin:0 0 14px;}
.zj-footer a{color:#cbd5e1;}
.zj-footer a:hover{color:#fff;}
.zj-footer .f-link{display:flex;flex-direction:column;gap:9px;font-size:14px;}
.zj-footer .brand-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.zj-footer .brand-row img{height:38px;background:#fff;padding:4px;border-radius:8px;}
.zj-footer .brand-row .bn{font-size:20px;font-weight:800;color:#fff;}
.zj-footer .brand-row .bn b{color:#60a5fa;}
.zj-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:36px;padding:18px 0;font-size:13px;color:#94a3b8;text-align:center;}

/* ===== Archive header ===== */
.zj-archive-head{background:#fff;border:1px solid var(--zj-border);border-left:5px solid var(--zj-accent);border-radius:12px;padding:18px 22px;margin-bottom:22px;}
.zj-archive-head h1{font-size:22px;margin:0 0 4px;}
.zj-archive-head p{margin:0;color:var(--zj-text-3);font-size:14px;}

/* ===== Responsive ===== */
@media (max-width:960px){
  .zj-grid{grid-template-columns:1fr;}
  .zj-related .zj-cards{grid-template-columns:repeat(2,1fr);}
  .zj-footer .cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .zj-header .container{height:64px;gap:12px;}
  .zj-brand img{height:38px;}
  .zj-brand .zj-brand-name{font-size:18px;}
  .zj-header-cta{display:none;}
  .zj-cards{grid-template-columns:1fr;}
  .zj-related .zj-cards{grid-template-columns:1fr;}
  .zj-footer .cols{grid-template-columns:1fr;}
  .zj-slide-caption h2{font-size:18px;max-width:100%;}
  .zj-single h1{font-size:24px;}
}
