/* ============================================================
   陶醉科技 前台样式（响应式 / 现代企业风）
   ============================================================ */
:root {
  --primary: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-light: #eff6ff;
  --text: #1f2937;
  --text-light: #6b7280;
  --bg: #ffffff;
  --bg-gray: #f8fafc;
  --border: #e5e7eb;
  --dark: #0f172a;
  --radius: 12px;
  --shadow: 0 10px 30px rgba(15,23,42,.08);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:"PingFang SC","Microsoft YaHei",-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--text); background:var(--bg); font-size:15px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
ul { list-style:none; }
.container { width:100%; max-width:1200px; margin:0 auto; padding:0 20px; }
h1,h2,h3,h4 { line-height:1.3; }

/* ---------- 顶部信息条 ---------- */
.topbar { background:var(--dark); color:#cbd5e1; font-size:13px; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; height:36px; }
.topbar a:hover { color:#fff; }
.topbar .tb-item { display:inline-flex; align-items:center; gap:6px; margin-right:18px; }

/* ---------- 头部导航 ---------- */
.site-header { position:sticky; top:0; z-index:100; background:#fff; box-shadow:0 1px 4px rgba(15,23,42,.08); }
.header-in { display:flex; align-items:center; height:72px; gap:32px; }
.logo { display:flex; align-items:center; gap:10px; }
.logo img { height:42px; width:auto; }
.logo-text { font-size:22px; font-weight:800; color:var(--primary); letter-spacing:1px; }
.nav { flex:1; }
.nav-list { display:flex; gap:6px; justify-content:flex-end; }
.nav-item { position:relative; }
.nav-link { display:block; padding:10px 15px; border-radius:8px; font-size:15px; font-weight:500; color:var(--text); }
.nav-link:hover, .nav-link.active { color:var(--primary); background:var(--primary-light); }
.nav-sub { display:none; position:absolute; top:100%; left:0; min-width:180px; background:#fff;
  border-radius:10px; box-shadow:var(--shadow); padding:8px; z-index:200; }
.nav-item:hover .nav-sub { display:block; }
.nav-sub a { display:block; padding:9px 14px; border-radius:8px; color:var(--text); font-size:14px; }
.nav-sub a:hover, .nav-sub a.active { background:var(--primary-light); color:var(--primary); }
.header-cta { display:flex; align-items:center; gap:14px; }
.header-cta .phone { text-align:right; font-size:13px; color:var(--text-light); }
.header-cta .phone strong { display:block; font-size:16px; color:var(--primary); }
.btn-primary {
  display:inline-flex; align-items:center; gap:6px; background:var(--primary); color:#fff;
  padding:11px 24px; border-radius:30px; font-size:15px; font-weight:600; transition:all .2s; border:0; cursor:pointer;
}
.btn-primary:hover { background:var(--primary-dark); transform:translateY(-1px); box-shadow:0 8px 20px rgba(37,99,235,.3); }
.btn-outline { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--primary); color:var(--primary);
  padding:10px 22px; border-radius:30px; font-size:15px; font-weight:600; transition:all .2s; background:transparent; }
.btn-outline:hover { background:var(--primary); color:#fff; }

/* 移动端菜单 */
.nav-toggle { display:none; background:none; border:0; width:40px; height:40px; cursor:pointer; position:relative; }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--text); margin:5px auto; transition:.3s; }

/* ---------- 首页 Hero 轮播 ---------- */
.hero { position:relative; overflow:hidden; background:var(--dark); }
.hero-slide { display:none; position:relative; min-height:520px; align-items:center; }
.hero-slide.active { display:flex; }
.hero-slide .bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.4; }
.hero-slide .bg::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(15,23,42,.9),rgba(37,99,235,.55)); }
.hero-content { position:relative; z-index:2; color:#fff; max-width:640px; padding:60px 0; }
.hero-content h1 { font-size:44px; font-weight:800; margin-bottom:16px; }
.hero-content p { font-size:18px; color:#e2e8f0; margin-bottom:28px; }
.hero-dots { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.hero-dots button { width:30px; height:4px; border-radius:2px; border:0; background:rgba(255,255,255,.4); cursor:pointer; transition:.3s; }
.hero-dots button.active { background:#fff; }

/* ---------- 区块通用 ---------- */
.section { padding:80px 0; }
.section-alt { background:var(--bg-gray); }
.section-head { text-align:center; max-width:720px; margin:0 auto 48px; }
.section-head .eyebrow { color:var(--primary); font-weight:600; letter-spacing:2px; font-size:14px; text-transform:uppercase; }
.section-head h2 { font-size:34px; font-weight:800; color:var(--dark); margin:10px 0 12px; }
.section-head p { color:var(--text-light); font-size:16px; }

/* ---------- 服务 ---------- */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.svc { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:28px 22px;
  text-align:center; transition:.25s; }
.svc:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.svc .icon { width:64px; height:64px; margin:0 auto 16px; border-radius:16px; background:var(--primary-light);
  display:flex; align-items:center; justify-content:center; font-size:28px; color:var(--primary); }
.svc h4 { font-size:17px; margin-bottom:10px; color:var(--dark); }
.svc p { font-size:13.5px; color:var(--text-light); }
.svc-card { position:relative; background:linear-gradient(180deg,#ffffff,#fbfdff); border:1px solid rgba(37,99,235,.14);
  border-radius:18px; padding:34px 26px 30px; text-align:center; transition:.3s; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center; }
.svc-card::before { content:''; position:absolute; left:18px; right:18px; top:0; height:4px; border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,#2563eb,#06b6d4); opacity:0; transition:.3s; }
.svc-card:hover { transform:translateY(-8px); box-shadow:0 18px 42px rgba(37,99,235,.14); border-color:transparent; }
.svc-card:hover::before { opacity:1; }
.svc-card .icon { width:78px; height:78px; margin:0 auto 20px; border-radius:22px;
  background:linear-gradient(135deg,#2563eb,#06b6d4); color:#fff; font-size:32px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px rgba(37,99,235,.25); transition:.3s; }
.svc-card:hover .icon { transform:scale(1.06); }
.svc-card h4 { font-size:19px; margin-bottom:12px; color:var(--dark); letter-spacing:.3px; }
.svc-card p { font-size:14px; color:var(--text-light); line-height:1.7; max-width:260px; }
.service-matrix { margin-bottom:38px; }
.service-matrix .svc-card { height:100%; box-sizing:border-box; }
.service-detail { margin-top:30px; padding-top:28px; border-top:1px solid var(--border); color:var(--text); line-height:1.8; }
.service-detail h3 { font-size:20px; color:var(--dark); margin:20px 0 12px; }
.service-detail ul { padding-left:20px; }
.service-detail li { margin-bottom:8px; }

/* ---------- 关于预览 ---------- */
.about-wrap { display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.about-media img { border-radius:var(--radius); box-shadow:var(--shadow); }
.about-content h3 { font-size:28px; font-weight:800; color:var(--dark); margin-bottom:18px; }
.about-content .rich { color:var(--text-light); }
.about-features { margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.about-features li { display:flex; gap:10px; align-items:flex-start; color:var(--text); }
.about-features li::before { content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; color:var(--primary); font-size:14px; line-height:1.5; }

/* ---------- 案例 ---------- */
.cases-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.case-card { background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:0 2px 12px rgba(15,23,42,.06); transition:.25s; }
.case-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.case-card .cover { height:190px; background:var(--primary-light); }
.case-card .cover img { width:100%; height:100%; object-fit:cover; }
.case-card .body { padding:18px; }
.case-card h4 { font-size:16px; color:var(--dark); margin-bottom:6px; }
.case-card p { font-size:13.5px; color:var(--text-light); }

/* ---------- 新闻 ---------- */
.news-list { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.news-item { background:#fff; border-radius:var(--radius); padding:22px; border:1px solid var(--border); transition:.2s; }
.news-item:hover { border-color:var(--primary); box-shadow:var(--shadow); }
.news-item .date { font-size:13px; color:var(--text-light); margin-bottom:8px; }
.news-item h4 { font-size:16.5px; color:var(--dark); margin-bottom:8px; }
.news-item p { font-size:14px; color:var(--text-light); }

/* ---------- CTA ---------- */
.cta { background:linear-gradient(120deg,var(--primary),#0ea5e9); color:#fff; text-align:center; }
.cta h2 { font-size:32px; font-weight:800; margin-bottom:12px; }
.cta p { opacity:.9; margin-bottom:28px; font-size:17px; }
.cta .btn-white { background:#fff; color:var(--primary); }

/* ---------- 页脚 ---------- */
.site-footer { background:var(--dark); color:#94a3b8; padding:60px 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.9fr; gap:40px; padding-bottom:40px; }
.footer-brand .logo-text { color:#fff; }
.footer-brand p { margin-top:16px; font-size:14px; line-height:1.9; }
.footer-col h5 { color:#fff; font-size:16px; margin-bottom:18px; }
.footer-col li { margin-bottom:11px; font-size:14px; }
.footer-col a:hover { color:#fff; }
.footer-contact li { display:flex; gap:8px; margin-bottom:12px; font-size:14px; white-space:nowrap; }
.footer-qr { display:flex; gap:14px; margin-top:20px; flex-wrap:wrap; }
.qr-item { text-align:center; }
.qr-item img { width:88px; height:88px; object-fit:cover; border-radius:6px; border:1px solid rgba(255,255,255,.14); background:#fff; padding:4px; }
.qr-item span { display:block; margin-top:6px; font-size:12px; color:#cbd5e1; }
.footer-meta { margin-top:18px; border-top:1px dashed rgba(255,255,255,.1); padding-top:14px; }
.footer-meta .meta-item { font-size:13px; color:#cbd5e1; margin-bottom:6px; line-height:1.8; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:20px 0; text-align:center; font-size:13px; }
.footer-bottom .fb-line { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; }
.footer-bottom .fb-sep { color:rgba(255,255,255,.25); }
.footer-bottom .fb-since { margin-top:8px; color:rgba(255,255,255,.45); font-size:12px; letter-spacing:.5px; }
.footer-bottom a:hover { color:#fff; }

/* ---------- 内页通用（高科技 Hero） ---------- */
.page-hero {
  position:relative; overflow:hidden;
  background:
    radial-gradient(900px 460px at 82% -18%, rgba(56,189,248,.26), transparent 62%),
    radial-gradient(680px 360px at 8% 130%, rgba(37,99,235,.38), transparent 60%),
    radial-gradient(420px 260px at 55% 140%, rgba(14,165,233,.22), transparent 65%),
    linear-gradient(120deg, #0b1220 0%, #10224a 52%, #1d4ed8 100%);
  color:#fff; padding:76px 0;
}
.page-hero::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.75), transparent 82%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,.75), transparent 82%);
}
.page-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(2.5px 2.5px at 18% 32%, rgba(255,255,255,.75), transparent),
    radial-gradient(2px 2px at 76% 22%, rgba(255,255,255,.6), transparent),
    radial-gradient(1.5px 1.5px at 46% 74%, rgba(125,211,252,.65), transparent),
    radial-gradient(2.5px 2.5px at 88% 58%, rgba(125,211,252,.7), transparent),
    radial-gradient(2px 2px at 30% 82%, rgba(255,255,255,.4), transparent),
    radial-gradient(1.5px 1.5px at 60% 16%, rgba(255,255,255,.35), transparent);
}
.page-hero .container { position:relative; z-index:2; }
.page-hero h1 {
  font-size:38px; font-weight:800; letter-spacing:1px;
  position:relative; display:inline-block; padding-bottom:16px;
  text-shadow:0 2px 24px rgba(56,189,248,.25);
}
.page-hero h1::after {
  content:""; position:absolute; left:0; bottom:0; width:56px; height:3px; border-radius:3px;
  background:linear-gradient(90deg,#38bdf8,#2563eb); box-shadow:0 0 14px rgba(56,189,248,.7);
}
.page-hero .crumb {
  margin-top:12px; color:rgba(203,213,225,.92); font-size:22px; font-weight:600;
  letter-spacing:6px; text-transform:capitalize; text-shadow:0 0 20px rgba(56,189,248,.35);
}
.page-hero .crumb a:hover { color:#fff; }
.breadcrumb { font-size:13px; color:var(--text-light); margin-bottom:20px; }
.breadcrumb a { color:var(--text-light); }
.breadcrumb a:hover { color:var(--primary); }
.breadcrumb .sep { margin:0 8px; color:var(--border); }

/* 文章列表 */
.list-layout { display:grid; grid-template-columns:1fr 300px; gap:36px; margin:40px 0; }
.article-row { display:flex; gap:20px; background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:18px; margin-bottom:18px; transition:.2s; }
.article-row:hover { box-shadow:var(--shadow); border-color:var(--primary); }
.article-row .cover { width:220px; height:130px; flex-shrink:0; border-radius:8px; overflow:hidden; background:var(--primary-light); }
.article-row .cover img { width:100%; height:100%; object-fit:cover; }
.article-row h3 { font-size:18px; color:var(--dark); margin-bottom:8px; }
.article-row p { font-size:14px; color:var(--text-light); }
.article-row .meta { margin-top:10px; font-size:13px; color:var(--text-light); }
.sidebar .card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-bottom:20px; }
.sidebar h3 { font-size:16px; color:var(--dark); margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.sidebar .card li { margin-bottom:12px; font-size:14px; }
.sidebar .card a:hover { color:var(--primary); }
.sidebar .side-contact li { display:flex; gap:6px; align-items:flex-start; }
.sidebar .side-contact span { color:var(--text-light); flex-shrink:0; }
.sidebar .side-contact a { color:var(--primary); word-break:break-all; }
.sidebar .addr { line-height:1.5; }
.sidebar .side-news li { border-bottom:1px dashed var(--border); padding-bottom:9px; }
.sidebar .side-news li:last-child { border-bottom:0; padding-bottom:0; }
.sidebar .side-news a { display:block; line-height:1.5; }
.sidebar .side-btn { display:block; text-align:center; margin-top:18px; background:var(--primary); color:#fff;
  padding:10px 0; border-radius:8px; font-weight:600; transition:.2s; }
.sidebar .side-btn:hover { background:var(--primary-dark); color:#fff; }

/* 分页 */
.pagination { display:flex; gap:8px; justify-content:center; margin:36px 0; flex-wrap:wrap; }
.pagination ul { display:flex; gap:8px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.pagination li { list-style:none; }
.pagination li a,.pagination li span { display:inline-flex; min-width:38px; height:38px; padding:0 10px; align-items:center; justify-content:center;
  border:1px solid var(--border); border-radius:8px; color:var(--text); font-size:14px; background:#fff; box-sizing:border-box; transition:all .15s; }
.pagination li a:hover { border-color:var(--primary); color:var(--primary); }
.pagination li.active span { background:var(--primary); color:#fff; border-color:var(--primary); box-shadow:0 3px 10px rgba(37,99,235,.25); }
.pagination li.disabled span { color:var(--border); pointer-events:none; }

/* 文章详情 */
.article-detail { background:#fff; border-radius:var(--radius); border:1px solid var(--border); padding:40px; margin:40px 0; }
.article-detail h1 { font-size:28px; color:var(--dark); margin-bottom:14px; }
.article-detail .meta { display:flex; flex-wrap:wrap; gap:18px; color:var(--text-light); font-size:13px;
  padding-bottom:18px; border-bottom:1px solid var(--border); margin-bottom:26px; }
.article-detail .rich { font-size:16px; color:var(--text); }
.article-detail .rich p { margin-bottom:16px; }
.article-detail .rich img { border-radius:8px; margin:14px auto; }
.article-detail .rich h2,.article-detail .rich h3 { margin:24px 0 12px; color:var(--dark); }
.article-pager { display:flex; justify-content:space-between; margin-top:32px; padding-top:22px; border-top:1px solid var(--border); font-size:14px; }
.article-pager a { color:var(--primary); }
.article-pager .off { color:var(--border); }

/* 单页 */
.page-content { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:40px; margin:40px 0; }
.page-content .rich { font-size:16px; }
.page-content .rich p { margin-bottom:16px; }
.page-content .rich img { border-radius:8px; margin:14px 0; }
.page-content .rich h2,.page-content .rich h3 { margin:24px 0 12px; color:var(--dark); }

/* 联系页 */
.contact-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:40px; margin:40px 0; }
.contact-info .card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:24px; margin-bottom:20px; }
.contact-info h3 { font-size:16px; color:var(--dark); margin-bottom:16px; }
.contact-info li { display:flex; gap:12px; margin-bottom:14px; font-size:15px; }
.contact-form .card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:28px; }
.contact-form h3 { font-size:18px; color:var(--dark); margin-bottom:20px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .full { grid-column:1/-1; }
.form-field label { display:block; font-size:14px; margin-bottom:6px; color:var(--text); }
.form-field label em { color:#ef4444; font-style:normal; }
.form-field input,.form-field textarea,.form-field select { width:100%; border:1px solid var(--border); border-radius:8px;
  padding:11px 14px; font-size:15px; outline:none; background:#fff; transition:.2s; font-family:inherit; }
.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(37,99,235,.1); }
.form-field textarea { min-height:130px; resize:vertical; }

/* 搜索 */
.search-box { max-width:640px; margin:40px auto 10px; }
.search-box form { display:flex; gap:10px; }
.search-box input { flex:1; border:1px solid var(--border); border-radius:30px; padding:13px 22px; font-size:16px; outline:none; }
.search-box input:focus { border-color:var(--primary); }

/* 无内容 */
.empty { text-align:center; padding:60px 20px; color:var(--text-light); }

/* ---------- 响应式 ---------- */
@media (max-width:1024px) {
  .services-grid { grid-template-columns:repeat(3,1fr); }
  .cases-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:900px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .topbar { display:none; }
  .header-in { height:60px; gap:12px; }
  .header-cta { display:none; }
  .nav-toggle { display:block; }
  .nav { position:fixed; top:0; right:-280px; width:280px; height:100vh; background:#fff; box-shadow:var(--shadow);
    padding:20px; transition:.3s; z-index:300; overflow-y:auto; }
  .nav.open { right:0; }
  .nav-list { flex-direction:column; gap:4px; }
  .nav-sub { position:static; display:none; box-shadow:none; padding-left:16px; }
  .nav-item.open .nav-sub { display:block; }
  .hero-slide { min-height:420px; }
  .hero-content h1 { font-size:30px; }
  .hero-content p { font-size:16px; }
  .section { padding:52px 0; }
  .section-head h2 { font-size:26px; }
  .about-wrap { grid-template-columns:1fr; gap:32px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .news-list { grid-template-columns:1fr; }
  .footer-contact li { white-space:normal; }
  .list-layout,.contact-layout { grid-template-columns:1fr; }
  .page-hero { padding:54px 0; }
  .page-hero h1 { font-size:28px; }
  .page-hero .crumb { font-size:18px; letter-spacing:4px; }
  .article-row { flex-direction:column; }
  .article-row .cover { width:100%; height:180px; }
  .form-grid { grid-template-columns:1fr; }
  .page-content,.article-detail { padding:24px; }
}
@media (max-width:480px) {
  .services-grid { grid-template-columns:1fr; }
  .cases-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
}
