/* Base Theme */
:root{
  --primary:#1579FF; /* 清洁能源蓝 */
  --secondary:#00C38A; /* 绿色 */
  --text:#1d2a38;
  --muted:#4b5b70;
  --bg:#f7fafc;
  --card:#ffffff;
  --border:#e6edf5;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Microsoft Yahei",sans-serif;color:var(--text);background:var(--bg);}
a{color:var(--primary);text-decoration:none}
img{max-width:100%;display:block}

/* Language toggle */
body.lang-zh .lang-en{display:none}
body.lang-en .lang-zh{display:none}

/* Header */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:20}
.site-header .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.logo{display:flex;align-items:center;gap:10px;color:var(--text)}
.logo img{width:32px;height:32px}
.brand-name{font-weight:700}
.main-nav{display:flex;gap:18px;flex-wrap:wrap}
.main-nav a{padding:8px 10px;border-radius:8px;color:var(--text)}
.main-nav a.active,.main-nav a:hover{background:rgba(21,121,255,.08)}
.lang-switch button{background:none;border:none;color:var(--muted);cursor:pointer}
.lang-switch button.active{color:var(--primary);font-weight:600}

/* Footer */
.site-footer{background:#0c1520;color:#d4dde8;margin-top:40px}
.site-footer .container{padding:24px}
.site-footer .columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.site-footer a{color:#b9d7ff}
.copyright{border-top:1px solid #1f2a3a;padding:14px 0;margin-top:14px;font-size:12px;color:#9db0c7}

/* Layout */
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.section{padding:40px 0}
.section.alt{background:#fff}
.section-title{margin:0 0 18px 0}
.grid{display:grid;gap:18px}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 4px 10px rgba(0,0,0,.03)}
.card h4{margin:10px 0 8px}
.feature{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}

/* Hero Banner */
.hero{position:relative}
.banner{position:relative;overflow:hidden;border-radius:16px;margin:20px 0;background:#fff}
.banner .slide{min-height:360px;display:none;align-items:center;background-image:var(--bg);background-size:cover;background-position:center;padding:36px}
.banner .slide.active{display:flex}
.banner .slide-content{max-width:760px;background:rgba(255,255,255,.85);padding:22px;border-radius:12px}
.banner .btn{margin-top:8px}
.banner-controls{position:absolute;right:16px;bottom:16px;display:flex;gap:8px}
.banner-controls button{background:rgba(12,21,32,.65);border:none;color:#fff;padding:8px;border-radius:8px;cursor:pointer}

/* CTA */
.cta{margin-top:40px}
.cta .cta-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:18px}

/* Buttons */
.btn{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid var(--border);color:var(--text)}
.btn.primary{background:linear-gradient(90deg,var(--primary),var(--secondary));color:#fff;border:none}
.btn:hover{opacity:.92}

/* Page Hero */
.page-hero{background:#fff;border-bottom:1px solid var(--border)}
.page-hero .container{padding:24px 20px}

/* Timeline */
.timeline{position:relative;border-left:3px solid var(--border);padding-left:16px}
.tl-item{position:relative;margin:14px 0}
.tl-dot{position:absolute;left:-10px;top:8px;width:12px;height:12px;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:50%}
.tl-content{margin-left:12px}
.tl-content h4{margin:0 0 6px}

/* Filters */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.filters .filter-btn{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;cursor:pointer}
.filters .filter-btn.active{background:rgba(21,121,255,.09);color:var(--primary);border-color:rgba(21,121,255,.2)}

/* News */
.news-list{display:grid;grid-template-columns:1fr;gap:16px}
.news-item{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}
.news-item h4{margin:0 0 6px}
.news-meta{color:var(--muted);font-size:12px}

/* Contact */
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.contact-info ul{list-style:none;margin:0;padding:0}
.contact-info li{padding:6px 0;border-bottom:1px dashed var(--border)}
.contact-form .form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.contact-form input,.contact-form textarea{border:1px solid var(--border);border-radius:8px;padding:10px}
.contact-form .checkbox{display:flex;align-items:center;gap:8px}
.submit-status{margin-top:8px;color:var(--muted)}

/* Responsive */
@media (max-width:960px){
  .grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .grid.cols-3{grid-template-columns:repeat(2,1fr)}
  .contact{grid-template-columns:1fr}
}
@media (max-width:640px){
  .grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}
  .banner .slide{min-height:280px;padding:20px}
  .tl-content{margin-left:10px}
}

/* Notice Section */
.notice-section { background: #fff; border-bottom: 1px solid var(--border); }
.notice-list ul { list-style: none; padding: 0; margin: 0; }
.notice-list li { padding: 12px 0; border-bottom: 1px dashed var(--border); }
.notice-list li:last-child { border-bottom: none; }
.notice-list a { display: flex; color: var(--text); font-weight: 500; transition: color 0.2s; align-items: flex-start; }
.notice-list a:hover { color: var(--primary); }
.notice-list a::before { content: "•"; color: var(--primary); margin-right: 10px; font-weight: bold; }