/*
Theme Name: 二维码导航
Theme URI: https://www.i049.com/
Description: 基于 prototype/index.html 现代化原型全新重写的网址导航 WordPress 主题（方案C）。玻璃态顶栏、多引擎聚合搜索、深浅色一键切换、移动端适配，导航数据使用 WordPress 自带链接(Blogroll)与链接分类(link_category)。
Version: 1.0.0
Author: i049
Text Domain: ewm-pro
Tags: navigation, dark-mode, responsive, search
*/

/* ============================================================
   设计变量（浅色 / 深色），与 prototype 保持一致
   ============================================================ */
:root{
  --bg:#f4f5f7;
  --surface:#ffffff;
  --surface-2:#f7f8fa;
  --muted:#8a93a3;      /* 原 :root 漏定义，导致多处 var(--muted) 声明失效 */
  --text-2:#4b5563;
  --ok:#2e9e5b;
  --danger:#c0392b;
  --danger-weak:#fde8e8;
  --highlight:#fff3bf;  /* 搜索/标签命中高亮底色 */
  --info:#1a73e8;
  --info-weak:#e8f0fe;
  --text:#1f2330;
  --text-weak:#6b7280;
  --border:#e7e9ee;
  --primary:#e91e63;
  --primary-weak:#fbe7ef;
  --primary-2:#7c4dff;
  --accent:#ff4d6a;
  --glass:rgba(255,255,255,.62);
  --glass-strong:rgba(255,255,255,.82);
  --shadow:0 6px 24px rgba(20,23,40,.08);
  --shadow-hover:0 14px 38px rgba(20,23,40,.16);
  --radius:18px;
  --radius-sm:12px;
}
[data-theme="dark"]{
  --bg:#0e1014;
  --surface:#171a21;
  --surface-2:#1d212b;
  --text:#e8eaf0;
  --text-weak:#9aa1ad;
  --muted:#8b92a0;
  --text-2:#c7cddb;
  --ok:#4ade80;
  --danger:#ff6b6b;
  --danger-weak:#3a1f22;
  --highlight:#4a3f1a;
  --info:#7ab8ff;
  --info-weak:#1e2a3a;
  --border:#2a2f3a;
  --primary:#ff5c8a;
  --primary-weak:#3a1f29;
  --primary-2:#9a7bff;
  --accent:#ff7a9f;
  --glass:rgba(23,26,33,.6);
  --glass-strong:rgba(23,26,33,.82);
  --shadow:0 6px 24px rgba(0,0,0,.4);
  --shadow-hover:0 14px 38px rgba(0,0,0,.55);
}

/* ============================================================
   基础重置
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-tap-highlight-color:transparent;transition:background .35s,color .35s}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
img{max-width:100%;display:block}
ul,ol{list-style:none}

/* ============================================================
   玻璃态顶栏
   ============================================================ */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--glass);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid transparent;transition:all .3s}
header.scrolled{background:var(--glass-strong);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;height:66px;gap:24px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;white-space:nowrap}
.logo img{height:34px;width:auto}
.logo .mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-size:16px;flex:none}
nav.pc{display:flex;gap:6px;margin-left:8px}
/* 主导航：一级横向，二级下拉（修复二级菜单错乱） */
nav.pc>ul{display:flex;gap:6px}
nav.pc ul ul{display:none}
nav.pc li{list-style:none;position:relative}
nav.pc a{padding:8px 14px;border-radius:10px;color:var(--text-weak);font-size:15px;transition:.2s;display:block;white-space:nowrap}
nav.pc a:hover,nav.pc li.current-menu-item>a,nav.pc li.current-menu-ancestor>a{color:var(--primary);background:var(--primary-weak)}
/* 二级菜单：绝对定位下拉，父级 hover 显示 */
nav.pc li.menu-item-has-children>ul.sub-menu{
	position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:170px;
	display:none;flex-direction:column;gap:2px;padding:6px;
	background:var(--surface);border:1px solid var(--border);border-radius:12px;
	box-shadow:var(--shadow);
}
nav.pc li.menu-item-has-children:hover>ul.sub-menu{display:flex}
nav.pc li.menu-item-has-children>a::after{content:"▾";font-size:10px;margin-left:4px;opacity:.6}
nav.pc li.menu-item-has-children>ul.sub-menu a{padding:7px 12px;border-radius:8px;font-size:14px}
nav.pc li.menu-item-has-children>ul.sub-menu li{width:100%}
/* 三级及以上：在父级右侧展开 */
nav.pc li.menu-item-has-children>ul.sub-menu li.menu-item-has-children:hover>ul.sub-menu{top:0;left:calc(100% + 6px)}
.header-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--text-weak);transition:.2s}
.icon-btn:hover{color:var(--primary);border-color:var(--primary)}
.i049-user-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);padding:0;cursor:pointer;overflow:hidden;display:grid;place-items:center;transition:.2s}
.i049-user-btn:hover{border-color:var(--primary)}
.i049-user-btn img{width:100%;height:100%;object-fit:cover;display:block}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border:0;padding:9px 18px;border-radius:12px;font-size:14px;cursor:pointer;font-weight:600;transition:.2s;display:inline-block;line-height:1.4}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.hamburger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;flex-direction:column;gap:4px;align-items:center;justify-content:center}
.hamburger span{width:18px;height:2px;background:var(--text);border-radius:2px}

/* 移动端抽屉 */
.drawer{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.3s}
.drawer.open{opacity:1;pointer-events:auto}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:78%;max-width:320px;background:var(--surface);padding:24px;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.drawer.open .drawer-panel{transform:translateX(0)}
.drawer-panel a{padding:14px 12px;border-radius:12px;color:var(--text);font-size:16px}
.drawer-panel a:hover{background:var(--primary-weak);color:var(--primary)}
.drawer-panel .drawer-apply{margin-top:8px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;text-align:center;font-weight:600}

/* ============================================================
   主区域 / Hero / 搜索（双层：分类标签 + 引擎）
   ============================================================ */
main{padding-top:66px;min-height:60vh}
.hero{position:relative;padding:64px 0 26px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto -10%;height:420px;background:radial-gradient(60% 80% at 20% 0,rgba(233,30,99,.18),transparent),radial-gradient(60% 80% at 85% 10%,rgba(124,77,255,.18),transparent);filter:blur(10px);z-index:0}
.hero .container{position:relative;z-index:1;text-align:center}
.hero h1{font-size:34px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}
.hero p{color:var(--text-weak);margin-bottom:22px;font-size:15px}
/* 注意：必须写成 div.search——WordPress 在搜索结果页会给 <body> 加 .search 类，
   若用裸 .search 会把 body 套成 max-width:660px 的居中 Flex，导致整页被压窄。 */
div.search{display:flex;max-width:660px;margin:0 auto;background:var(--glass-strong);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:8px;gap:8px}
.engine-ind{display:flex;align-items:center;gap:8px;padding:0 14px;height:46px;border-radius:10px;color:var(--text);font-size:15px;font-weight:600;white-space:nowrap;background:var(--surface-2);flex:none}
.engine-ind .dot{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}
div.search input{flex:1;height:46px;border:0;background:transparent;color:var(--text);font-size:16px;outline:0;padding:0 8px;min-width:120px}
div.search .go{height:46px;padding:0 28px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:600;cursor:pointer;font-size:15px;flex:none}
div.search .go:hover{transform:translateY(-1px)}

.search-panel{margin:18px auto 0;max-width:760px}
.search-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.search-tabs button{padding:7px 16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text-weak);font-size:14px;cursor:pointer;transition:.2s}
.search-tabs button:hover{color:var(--text)}
.search-tabs button.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent;box-shadow:var(--shadow)}
.search-engines{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.engine-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);cursor:pointer;font-size:14px;color:var(--text);transition:.2s;box-shadow:var(--shadow)}
.engine-chip:hover{transform:translateY(-2px);border-color:var(--primary)}
.engine-chip.active{border-color:var(--primary);background:var(--primary-weak);color:var(--primary);font-weight:600}
.engine-chip .e-ico{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;flex:none}

/* ============================================================
   站点动态（替代原 article swiper，置于搜索框下方）
   ============================================================ */
.dynamics{margin-top:30px}
.dyn-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;scrollbar-width:none}
.dyn-track::-webkit-scrollbar{display:none}
.dyn-card{flex:0 0 auto;width:300px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:flex-start;transition:.22s;cursor:pointer}
.dyn-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:transparent}
.dyn-card .badge{font-size:22px;flex:none;width:42px;height:42px;border-radius:12px;background:var(--primary-weak);display:grid;place-items:center}
.dyn-card .txt h4{font-size:15px;font-weight:700;margin-bottom:3px}
.dyn-card .txt p{font-size:12.5px;color:var(--text-weak);line-height:1.5}
.dyn-card .txt time{font-size:11px;color:var(--text-weak);opacity:.7}
.empty-tip{color:var(--text-weak);font-size:14px;padding:24px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface)}

/* ============================================================
   区块 / 卡片
   ============================================================ */
section.block{margin-top:34px;animation:fade .4s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.block-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.block-head h2{font-size:20px;font-weight:700;position:relative;padding-left:14px}
.block-head h2::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:20px;border-radius:4px;background:linear-gradient(var(--primary),var(--primary-2))}
.block-head .more{margin-left:auto;color:var(--text-weak);font-size:14px}
.block-head .more:hover{color:var(--primary)}
.block-head .apply{margin-left:auto;color:var(--primary);font-size:13px;padding:5px 12px;border:1px solid var(--primary);border-radius:20px;transition:.2s}
.block-head .apply:hover{background:var(--primary);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}
.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;display:flex;gap:12px;align-items:flex-start;transition:.22s;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:transparent}
.card .ico{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:17px;position:relative;overflow:hidden}
.card h3{font-size:15px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.card p{font-size:12.5px;color:var(--text-weak);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .direct{position:absolute;top:14px;right:12px;color:var(--text-weak);opacity:0;transition:.2s;font-size:13px}
.card:hover .direct{opacity:1}
.tag-promo{font-size:11px;background:var(--primary);color:#fff;padding:1px 7px;border-radius:8px;font-weight:600}
/* 序号：角标样式，悬浮于 logo 左上角，不占文字区空间 */
.rank{position:absolute;left:-6px;top:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--surface-2);color:var(--text-weak);font-size:11px;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.08);line-height:1}
.rank.top{background:var(--primary-weak);color:var(--primary)}
.rank.top1{background:linear-gradient(135deg,#ff7a45,#ff4d4f);color:#fff}
.rank.top2{background:linear-gradient(135deg,#ffd666,#ff7a45);color:#fff}
.rank.top3{background:linear-gradient(135deg,#ffc53d,#ffa940);color:#fff}
.hot .card p{color:var(--primary-2);font-weight:600}

/* 友情链接 */
.friends{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.friends a{font-size:13px;color:var(--text-weak);padding:5px 14px;border:1px solid var(--border);border-radius:20px;transition:.2s;line-height:1.6;white-space:nowrap;display:inline-block}
.friends a:hover{color:var(--primary);border-color:var(--primary);background:var(--surface-2)}
.friends .empty-tip{width:100%}

/* ============================================================
   网址详情/文章页（single）
   ============================================================ */
.crumbs{margin:22px 0 14px;color:var(--text-weak);font-size:13px}
.crumbs a:hover{color:var(--primary)}
.detail-hero{display:flex;gap:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.shot{width:300px;height:190px;border-radius:14px;flex:none;background:linear-gradient(135deg,var(--surface-2),var(--border));display:grid;place-items:center;color:var(--muted);font-size:15px;font-weight:600;text-align:center;padding:10px}
.detail-info{flex:1;min-width:0}
.detail-info h1{font-size:24px;font-weight:800;margin-bottom:14px}
.detail-info ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.detail-info li{font-size:14px;color:var(--text-weak)}
.detail-info li b{color:var(--text);font-weight:600;margin-right:6px}
.visit{margin-top:16px;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;padding:11px 22px;border-radius:12px;font-weight:600}
.visit:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-top:18px;box-shadow:var(--shadow)}
.panel h2{font-size:18px;font-weight:700;margin-bottom:12px;padding-left:14px;position:relative}
.panel h2::before{content:"";position:absolute;left:0;top:3px;width:5px;height:18px;border-radius:4px;background:linear-gradient(var(--primary),var(--primary-2))}
.panel p{color:var(--text-weak);font-size:14.5px;line-height:1.8}

/* ============================================================
   分类列表页（历史分类归档，现链接分类无单页）
   ============================================================ */
.cat-banner{height:200px;border-radius:var(--radius);margin-top:18px;background:linear-gradient(120deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-size:26px;font-weight:800;box-shadow:var(--shadow);padding:0 20px;text-align:center}
.list-item{display:flex;gap:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;margin-top:14px;box-shadow:var(--shadow);transition:.22s}
.list-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.list-item .thumb{width:140px;aspect-ratio:1/1;height:auto;border-radius:12px;flex:none;background:linear-gradient(135deg,var(--surface-2),var(--border));display:grid;place-items:center;color:var(--muted);font-weight:700;font-size:20px;overflow:hidden}
.list-item .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.list-item .body{flex:1;min-width:0}
.list-item h3{font-size:18px;font-weight:700;margin-bottom:8px}
.list-item p{color:var(--text-weak);font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.list-item .meta{margin-top:10px;color:var(--text-weak);font-size:13px;display:flex;gap:18px;flex-wrap:wrap}
.pager{display:flex;justify-content:center;gap:8px;margin:22px 0;flex-wrap:wrap}
.pager a,.pager span{padding:8px 14px;border:1px solid var(--border);border-radius:10px;color:var(--text-weak);font-size:14px}
.pager .cur,.pager a.current,.pager a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* 分类区块操作组（查看更多 + 申请收录） */
.block-head .head-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.block-head .head-actions .more{margin-left:0;font-size:13px;padding:5px 12px;border:1px solid var(--border);border-radius:20px;color:var(--text-weak);transition:.2s}
.block-head .head-actions .more:hover{color:var(--primary);border-color:var(--primary)}
.block-head .head-actions .apply{margin-left:0}

/* 分类归档页 */
.cat-head{margin-top:20px}
.cat-desc{color:var(--text-weak);font-size:13px;margin:-8px 0 16px}

/* ============================================================
   文章阅读页（single 站点动态）
   ============================================================ */
.article-page{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-top:18px;box-shadow:var(--shadow)}
.article-page h1{font-size:27px;font-weight:800;margin-bottom:14px;letter-spacing:-.3px;line-height:1.35}
.article-meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--text-weak);font-size:13.5px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:20px}
.article-meta b{color:var(--text);font-weight:600}
.article-body{font-size:15.5px;line-height:1.9;color:var(--text)}
.article-body h2{font-size:20px;font-weight:700;margin:24px 0 10px}
.article-body p{margin-bottom:14px}
.article-body blockquote{margin:18px 0;padding:12px 18px;border-left:4px solid var(--primary);background:var(--primary-weak);border-radius:0 10px 10px 0;color:var(--text-weak)}
/* 该选择器在「正文图片幻灯」段已有完整定义（合并去重，避免两处冲突） */
.article-body a{color:var(--primary);text-decoration:underline}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.article-tags span{font-size:13px;color:var(--primary);background:var(--primary-weak);padding:5px 12px;border-radius:20px}

/* 文章互动栏：点赞 / 分享 */
.article-engage{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 6px}
.engage-btn{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:22px;font-size:14px;cursor:pointer;font-weight:600;transition:.2s}
.engage-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}
.engage-btn .e-ico{font-size:15px;line-height:1}
.engage-like.is-liked{background:var(--primary-weak);border-color:var(--primary);color:var(--primary)}
.engage-like.is-liked .e-ico{color:var(--primary)}
.engage-share{position:relative}
.share-menu{position:absolute;top:calc(100% + 8px);left:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-hover);padding:6px;display:none;flex-direction:column;min-width:140px;z-index:20}
.share-menu.open{display:flex}
.share-item{background:none;border:0;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text)}
.share-item:hover{background:var(--surface-2)}

/* 文章底部版权/留言提示 */
.ewm-copyright{margin-top:28px;padding:14px 16px;border-left:3px solid var(--primary);background:var(--surface-2);border-radius:0 12px 12px 0;color:var(--text-weak);font-size:13.5px;line-height:2}
.ewm-copyright .ec-line{padding:2px 0}
.ewm-copyright .ec-link{color:var(--primary);text-decoration:none;font-weight:600}
.ewm-copyright .ec-link:hover{text-decoration:underline}
.ewm-copyright .ec-copy{color:var(--muted)}

/* 文章内嵌联盟商品卡（CPS 导购） */
.ewm-union-card{margin-top:28px;border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface-2)}
.euc-head{font-weight:700;margin-bottom:12px;color:var(--text)}
.euc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.euc-item{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;text-decoration:none;color:var(--text);transition:.2s}
.euc-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--primary)}
.euc-img{height:90px;border-radius:8px;background-size:cover;background-position:center;background-color:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--muted)}
.euc-title{font-size:13px;line-height:1.4;height:36px;overflow:hidden}
.euc-price{color:var(--primary);font-weight:700}

/* 提交页付费套餐 */
.paid-tiers{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.pt-opt{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer}
.pt-opt .pt-name{font-weight:600}
.pt-opt .pt-price{color:var(--primary);font-weight:700}
.pt-opt .pt-desc{color:var(--text-weak);font-size:13px}
@media (max-width:600px){.euc-grid{grid-template-columns:repeat(2,1fr)}}
.back-home{display:inline-block;margin-top:22px;color:var(--primary);font-size:14px;font-weight:600}

/* ============================================================
   评论区（comments.php）—— 紧凑排版，参考 CorePress
   要点：表单置顶、字段 placeholder 化、一条评论 = 头像左 + 名称/时间/回复同一行 + 正文
   ============================================================ */
.comments-area{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-top:18px;box-shadow:var(--shadow)}
.comments-area .comments-title{position:relative;padding-left:14px;font-size:16px;font-weight:700;margin:16px 0 10px}
.comments-area .comments-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;border-radius:3px;background:linear-gradient(var(--primary),var(--primary-2))}

/* 列表 */
.comments-area .comment-list{list-style:none;margin:0;padding:0}
.comments-area .comment-body{position:relative;padding:10px 0 10px 42px;border-bottom:1px dashed var(--border)}
.comments-area .comment-list > li:last-child > .comment-body:last-child{border-bottom:0}
.comments-area .comment-meta .avatar{position:absolute;left:0;top:10px;width:32px;height:32px;border-radius:50%;object-fit:cover;margin:0}
/* 元信息一行：名称 + 说道 + 时间（重置 WP 默认的块级堆叠，并抵消主题里 footer 元素选择器的影响） */
.comments-area .comment-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0;padding:0;font-size:13px;text-align:left;background:none;border:0;min-height:20px}
.comments-area .comment-meta .comment-author{display:flex;align-items:baseline;gap:6px}
.comments-area .comment-meta .fn{font-style:normal;font-weight:600;font-size:13.5px}
.comments-area .comment-meta .says{color:var(--text-weak)}
.comments-area .comment-metadata,.comments-area .comment-metadata a{font-size:12px;color:var(--text-weak)}
.comments-area .comment-metadata a:hover{color:var(--primary)}
.comments-area .comment-content{font-size:14.5px;line-height:1.7;margin-top:3px;color:var(--text)}
.comments-area .comment-content p{margin:0 0 6px}
.comments-area .comment-content p:last-child{margin:0}
/* 「回复」固定在右上角，不单独占一行 */
.comments-area .comment-body > .reply{position:absolute;right:0;top:9px}
.comments-area .comment-body > .reply a{font-size:12.5px;color:var(--text-weak);padding:2px 8px;border:1px solid var(--border);border-radius:8px;transition:.15s}
.comments-area .comment-body > .reply a:hover{color:#fff;background:var(--primary);border-color:var(--primary)}
/* 子评论：每级缩进克制（约 10px），层级靠左侧细线区分，深嵌套也不会把正文挤窄 */
.comments-area .comment-list > .children{margin:0 0 0 12px;padding-left:10px;border-left:2px solid var(--border)}
.comments-area .comment-list .children .children{margin-left:10px;padding-left:0;border-left:0}

/* 表单：头像与输入区并排，字段一行，按钮右对齐 */
.comments-area .comment-respond{margin-bottom:4px}
.comments-area .comment-reply-title{font-size:15px;font-weight:700;margin:0 0 10px}
.comments-area .comment-reply-title small{font-size:12px;font-weight:400}
.comments-area .comment-reply-title small a{color:var(--primary)}
.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:14.5px;line-height:1.6;font-family:inherit;outline:0;resize:vertical;transition:border-color .15s,box-shadow .15s}
.comments-area .comment-form input:focus,.comments-area .comment-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-weak)}
.comments-area .cmt-compose{display:flex;gap:10px;align-items:flex-start}
.comments-area .cmt-compose .cmt-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none;margin-top:5px}
.comments-area .cmt-compose textarea{flex:1;min-width:0}
.comments-area .cmt-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}
.comments-area .cmt-actions .cmt-submit{padding:8px 20px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:filter .15s}
.comments-area .cmt-actions .cmt-submit:hover{filter:brightness(1.07)}
.comments-area .comment-form-cookies-consent{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;color:var(--text-weak)}
.comments-area .comment-form-cookies-consent input{width:auto;margin:0}
/* 未登录且后台要求登录时：紧凑引导卡片（替代默认整块表单） */
.comments-area .cmt-login{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px dashed var(--border);border-radius:12px;background:var(--surface-2)}
.comments-area .cmt-login-text{font-size:14px;color:var(--text-weak)}
.comments-area .cmt-login-btn{padding:7px 18px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:13.5px;font-weight:600;cursor:pointer}
/* 空态 / 已关闭 / 分页 */
.comments-area .cmt-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 0 4px;color:var(--text-weak);font-size:14px}
.comments-area .no-comments{color:var(--text-weak);font-size:13px}
.comments-area .comment-navigation .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.comments-area .comment-navigation a,.comments-area .comment-navigation span{padding:6px 12px;border:1px solid var(--border);border-radius:9px;font-size:13px;color:var(--text-weak)}
.comments-area .comment-navigation a:hover{border-color:var(--primary);color:var(--primary)}
@media(max-width:560px){
  .comments-area{padding:16px 14px}
  .comments-area .comment-body{padding-left:38px}
  .comments-area .comment-meta .avatar,
  .comments-area .cmt-compose .cmt-avatar{width:28px;height:28px}
  .comments-area .cmt-actions .cmt-submit{width:100%}
}

/* ============================================================
 * 登录弹窗（template-parts/login-modal.php + js/ewm-auth.js）
 * ============================================================ */
.ewm-login{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.45);padding:16px}
.ewm-login-card{position:relative;width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 22px}
.ewm-login-close{position:absolute;top:10px;right:12px;width:30px;height:30px;border:0;background:transparent;color:var(--muted,#8a90a0);font-size:24px;line-height:1;cursor:pointer;border-radius:8px}
.ewm-login-close:hover{background:var(--bg)}
.ewm-tabs{display:flex;gap:6px;margin-bottom:18px;margin-top:18px}
.ewm-tab{flex:1;padding:9px 0;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;border-radius:8px;cursor:pointer;transition:.15s}
.ewm-tab-active{border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}
.ewm-field{margin-bottom:14px}
.ewm-field label{display:block;font-size:13px;margin-bottom:5px;color:var(--text)}
.ewm-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box}
.ewm-field input:focus{outline:none;border-color:var(--primary)}
.ewm-btn{display:block;width:100%;padding:10px 0;border:0;border-radius:8px;font-size:15px;cursor:pointer;box-sizing:border-box}
.ewm-btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}
.ewm-btn-primary:hover{opacity:.92}
.ewm-switch-line{text-align:center;margin:14px 0 0;font-size:13px;color:var(--muted,#8a90a0)}
.ewm-switch-line a{color:var(--primary);text-decoration:none}

/* 微信扫码面板（erphp-weixin-scan 渲染，覆写其内联默认样式以贴合主题） */
.ewm-scan{margin:0 auto;max-width:300px;text-align:center}
.ewm-scan .ews-title{text-align:center;font-size:16px;font-weight:600;margin-bottom:10px;color:var(--text)}
.ewm-scan img{max-width:200px;height:auto;border:1px solid var(--border);border-radius:8px;margin: 0 auto}
.ewm-scan .ews-box{margin-top:12px}
.ewm-scan .ews-input{border:1px solid var(--border);border-radius:8px;padding:8px 12px;width:140px;height:38px;box-sizing:border-box;background:var(--bg);color:var(--text)}
.ewm-scan .ews-button{background:#07C160;border:0;padding:8px 16px;color:#fff;border-radius:8px;font-size:14px;cursor:pointer;height:38px;box-sizing:border-box}
.ewm-scan .ews-tips{text-align:center;font-size:13px;color:var(--muted,#8a90a0);margin-top:10px}
.ewm-scan-empty{text-align:center;color:var(--muted,#8a90a0);font-size:14px;padding:30px 0}

/* 社交登录（复用 Erphplogin get_erphplogin() 输出，仅覆写外观） */
.ewm-social{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border);text-align:center}
.ewm-social .erphplogin-box{display:inline-flex;gap:14px;justify-content:center;margin:0}
.ewm-social .erphplogin-box a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:#fff;text-decoration:none;transition:.15s}
.ewm-social .erphplogin-box a:hover{opacity:.88;transform:translateY(-1px)}
.ewm-social .erphplogin-qq-a{background:#12B7F5}
.ewm-social .erphplogin-weibo-a{background:#E6162D}
.ewm-social .erphplogin-weixin-a{background:#07C160}
.ewm-social .erphploginfont{font-size:20px !important;color:#fff}

/* 已登录账户视图 */
.ewm-loggedin{text-align:center;padding:10px 0}
.ewm-loggedin-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid var(--primary)}
.ewm-loggedin-name{margin:12px 0 18px;font-size:16px;font-weight:600;color:var(--text)}

/* toast */
.ewm-toast{display:none;position:fixed;left:50%;top:24px;transform:translateX(-50%);z-index:10000;max-width:80%;padding:10px 18px;border-radius:8px;background:rgba(0,0,0,.82);color:#fff;font-size:14px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.ewm-toast-error{background:#e74c3c}
.ewm-toast-success{background:#1d9e75}
/* 名称/邮箱/网址 三个字段排成一行（flex，无空白缝隙；评论区用 placeholder 代替 label） */
.cf-row{display:flex;gap:10px;margin:10px 0 0}
.cf-row .comment-form-author,
.cf-row .comment-form-email,
.cf-row .comment-form-url{flex:1;min-width:0;margin:0}
.cf-row input{width:100%}
@media(max-width:560px){
  .cf-row{flex-direction:column;gap:0;margin-bottom:0}
  .cf-row .comment-form-author,
  .cf-row .comment-form-email,
  .cf-row .comment-form-url{margin:0 0 12px}
}

/* ============================================================
   普通页面 / 404 / 申请收录
   ============================================================ */
.page-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-top:18px;box-shadow:var(--shadow)}
.page-wrap h1{font-size:26px;font-weight:800;margin-bottom:16px}
.page-wrap p{color:var(--text-weak);line-height:1.8;margin-bottom:12px}
.entry-content{font-size:15.5px;line-height:1.9;color:var(--text)}
.entry-content h2{font-size:20px;font-weight:700;margin:22px 0 10px}
.entry-content p{margin-bottom:14px}
.entry-content a{color:var(--primary);text-decoration:underline}

.submit-form{display:grid;gap:16px;max-width:560px;margin-top:10px}
.submit-form label{font-size:14px;font-weight:600;display:block;margin-bottom:6px}
.submit-form input,.submit-form textarea,.submit-form select{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:15px;outline:0;font-family:inherit}
.submit-form input:focus,.submit-form textarea:focus,.submit-form select:focus{border-color:var(--primary)}
.submit-form .hint{font-size:12.5px;color:var(--text-weak);font-weight:400;margin-top:4px}
.submit-note{margin-top:18px;padding:12px 16px;border-radius:12px;font-size:14px}
.submit-note.ok{background:var(--primary-weak);color:var(--primary)}
.submit-note.err{background:var(--danger-weak);color:var(--danger)}


/* ============================================================
   页脚
   ============================================================ */
/* 站点页脚是 <body> 的直接子元素，必须限定作用域：裸 footer 选择器会命中评论的
   <footer class="comment-meta">（给它套上 50px 外边距 + 30px 上下内边距 + 居中对齐，
   这正是评论条目被撑高的元凶） */
body > footer{margin-top:50px;background:var(--surface);border-top:1px solid var(--border);padding:30px 0;color:var(--text-weak);font-size:13.5px;text-align:center}
body > footer a{color:var(--text-weak)}
body > footer a:hover{color:var(--primary)}
body > footer .foot-links{margin-top:8px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* WordPress 对齐与构件 */
.aligncenter{margin:0 auto}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* 「跳到主内容」链接：平时视觉隐藏，键盘聚焦时显形 */
.skip-link:focus{position:fixed;top:10px;left:10px;z-index:99999;width:auto;height:auto;clip:auto;overflow:visible;padding:10px 16px;background:var(--primary);color:#fff;border-radius:10px;font-size:14px;font-weight:600;box-shadow:var(--shadow)}
.wp-caption{max-width:100%}

/* ============================================================
   响应式
   ============================================================ */
@media(max-width:860px){
  nav.pc{display:none}.hamburger{display:flex}
  .detail-hero{flex-direction:column}.shot{width:100%}
  .detail-info ul{grid-template-columns:1fr}
  .hero h1{font-size:26px}
  .engine-ind{display:none}
  .list-item .thumb{width:96px;aspect-ratio:1/1;height:auto}
}

/* ============================================================
   今日速览（天气/老黄历/临近节日）—— 置于搜索框上方，紧凑低高度
   ============================================================ */
.today-bar{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin:16px auto 18px;max-width:880px;
}
.today-card{
  background:var(--glass);border:1px solid var(--border);
  border-radius:14px;padding:10px 14px;min-height:74px;
  display:flex;flex-direction:column;gap:2px;
  backdrop-filter:blur(8px);transition:.2s;
}
.today-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.today-card .t-label{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.5px;line-height:1}
.today-card .t-main{font-size:17px;font-weight:700;color:var(--text);line-height:1.3}
.today-card .al-lunar{font-size:14px;font-weight:600}
.today-card .t-sub{font-size:12px;color:var(--muted);line-height:1.3}
.today-card .t-sub .yi{color:var(--ok);margin-right:6px}
.today-card .t-sub .ji{color:var(--danger)}
.today-card .t-foot{font-size:11px;color:var(--muted);margin-top:auto;line-height:1.2}
.today-card .w-city{font-weight:600;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 天气三天（今天/明天/后天）内联三列 */
.today-card .w-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 2px}
.today-card .w-day{display:flex;flex-direction:column;align-items:center;gap:1px;border-right:1px solid var(--border)}
.today-card .w-day:last-child{border-right:0}
.today-card .w-day .w-d-name{font-size:12px;color:var(--muted)}
.today-card .w-day .w-temp{font-size:18px;font-weight:700;color:var(--text);line-height:1.1}
.today-card .w-day .w-desc{font-size:11px;color:var(--muted);white-space:nowrap}
@media(max-width:640px){
  .today-bar{grid-template-columns:1fr;max-width:none}
}
@media(max-width:520px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .qr-block .grid{grid-template-columns:repeat(2,1fr)}
  .qr-block .qr-thumb-wrap{width:64px}
  div.search{flex-wrap:wrap}div.search input{min-width:100%;order:3}
  .dyn-card{width:80%}
  .hero{padding:44px 0 18px}
  .detail-info ul{grid-template-columns:1fr}
}

/* ============================================================
   文章标签锚点 + 列表页标签
   ============================================================ */
/* 正文中标签锚点位置的高亮 */
.tag-anchor{background:var(--highlight);border-radius:4px;padding:0 2px}
.tag-anchor:target{background:#ffe066;transition:background .5s}
/* 列表页标签（"次浏览"后） */
.list-tags{margin-left:6px;font-size:12px}
.list-tag{color:var(--accent);margin-right:6px;text-decoration:none}
.list-tag:hover{text-decoration:underline}
/* 归档列表：摘要下方标签行，单行超出截断 */
.post-tags{margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.7}
.post-tags .list-tags{margin-left:0}
.post-tags .list-tag{display:inline-block;margin-right:8px}

/* 申请收录：honeypot 陷阱字段，对真人完全隐藏（防机器批量提交·方案A） */
.hp-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}

/* ============================================================
   相关文章卡片
   ============================================================ */
.related-block{margin-top:26px}
.related-title{font-size:20px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.related-title::before{content:'';width:4px;height:20px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--primary))}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:.22s;display:flex;gap:12px;padding:12px;align-items:center;color:var(--text);text-decoration:none}
.rel-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--accent)}
.rel-card .thumb{width:96px;aspect-ratio:1/1;height:auto;border-radius:10px;font-size:18px;flex:none;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:grid;place-items:center;overflow:hidden}
.rel-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rel-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.rel-name{display:block;font-size:15px;font-weight:700;color:var(--text);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-card:hover .rel-name{color:var(--accent)}
.rel-excerpt{display:block;font-size:12.5px;color:var(--text-weak);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:640px){
  .related-grid{grid-template-columns:1fr}
  .rel-card .thumb{width:84px;aspect-ratio:1/1;height:auto}
}

/* ============================================================
   搜索页（站内搜索）
   ============================================================ */
.search-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;margin-top:18px;padding:20px 22px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(120deg,var(--primary-weak),transparent 68%),var(--surface);box-shadow:var(--shadow)}
.search-hero .sh-main{display:flex;align-items:center;gap:14px;min-width:0}
.search-hero .sh-ico{width:46px;height:46px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 6px 16px rgba(233,30,99,.28)}
.search-hero .sh-query{margin:0;font-size:22px;font-weight:800;color:var(--text);line-height:1.3;word-break:break-word}
.search-hero .sh-count{margin:4px 0 0;font-size:13px;color:var(--text-weak)}
.search-hero .sh-count b{color:var(--primary);font-size:15px;font-weight:800}
.search-hero .sh-form{display:flex;gap:8px;flex:1 1 280px;max-width:420px;min-width:220px}
.search-hero .sh-form input{flex:1;min-width:0;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:14px;outline:none;transition:.18s}
.search-hero .sh-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-weak)}
.search-hero .sh-form button{flex:none;padding:0 20px;border:0;border-radius:12px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:.18s}
.search-hero .sh-form button:hover{filter:brightness(1.06)}
.search-hero .sh-form button:active{transform:translateY(1px)}

/* 结果标题命中高亮（浅色药丸底 + 加粗，文本色保持继承，避免被误认为链接） */
.search-hl{background:var(--primary-weak);color:inherit;padding:0 3px;border-radius:4px;font-weight:800}

/* 空态：提示 + 分类/标签建议 + 返回首页 */
.search-empty{margin-top:18px;padding:34px 22px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface)}
.search-empty .se-ico{width:64px;height:64px;margin:0 auto 12px;border-radius:20px;display:grid;place-items:center;font-size:28px;background:var(--surface-2);border:1px solid var(--border)}
.search-empty h2{margin:0 0 6px;font-size:19px;font-weight:800;color:var(--text)}
.search-empty>p{margin:0 0 18px;font-size:14px;color:var(--text-weak)}
.search-empty .se-group{margin-top:16px}
.search-empty .se-label{display:block;font-size:12px;font-weight:700;color:var(--text-weak);margin-bottom:8px}
.search-empty .se-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.search-empty .se-chip{padding:6px 14px;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:20px;transition:.18s}
.search-empty .se-chip:hover{color:#fff;background:var(--primary);border-color:var(--primary);transform:translateY(-1px)}
.search-empty .se-actions{margin-top:22px}
.search-empty .se-home{display:inline-block;padding:9px 20px;border-radius:12px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:var(--shadow);transition:.2s}
.search-empty .se-home:hover{transform:translateY(-1px);filter:brightness(1.05)}
@media(max-width:640px){
  .search-hero{padding:16px}
  .search-hero .sh-query{font-size:19px}
  .search-hero .sh-form{flex:1 1 100%;max-width:none}
  .search-empty{padding:26px 16px}
}

/* ============================================================
   正文图片幻灯（lightbox）
   ============================================================ */
.article-body img{max-width:100%;height:auto;border-radius:8px;margin:14px 0}
.lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;flex-direction:column;backdrop-filter:blur(4px)}
.lightbox .lb-stage{max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.lightbox .lb-img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5);animation:lbIn .25s ease}
@keyframes lbIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.lightbox .lb-close,.lightbox .lb-prev,.lightbox .lb-next{position:absolute;color:#fff;cursor:pointer;user-select:none;transition:.2s}
.lightbox .lb-close{top:18px;right:24px;font-size:34px;line-height:1}
.lightbox .lb-close:hover{transform:rotate(90deg)}
.lightbox .lb-prev,.lightbox .lb-next{top:50%;transform:translateY(-50%);font-size:40px;padding:12px;border-radius:50%;background:rgba(255,255,255,.08)}
.lightbox .lb-prev{left:20px}
.lightbox .lb-next{right:20px}
.lightbox .lb-prev:hover,.lightbox .lb-next:hover{background:rgba(255,255,255,.22)}
.lightbox .lb-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#ccc;font-size:14px;letter-spacing:1px}
@media(max-width:640px){
  .lightbox .lb-prev{left:6px}.lightbox .lb-next{right:6px}
}

/* ============================================================
   二维码类导航（卡片图标 + 图片弹窗）
   ============================================================ */
/* 卡片右上角二维码图标 */
.qr-ico{
  position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:10px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:16px;
  display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);z-index:2;opacity:.92;transition:.2s;
}
.qr-ico:hover{transform:translateY(-2px) scale(1.05);opacity:1;box-shadow:var(--shadow-hover)}
@media(max-width:520px){.qr-ico{width:30px;height:30px;font-size:14px;top:10px;right:10px}}

/* 二维码图片弹窗 */
.qr-popup{
  position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.88);
  display:none;align-items:center;justify-content:center;flex-direction:column;
  backdrop-filter:blur(4px);padding:20px;
}
.qr-popup .qr-stage{max-width:92vw;max-height:78vh;display:flex;align-items:center;justify-content:center}
.qr-popup .qr-img{max-width:92vw;max-height:74vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5);animation:lbIn .25s ease}
.qr-popup .qr-close{position:absolute;top:18px;right:24px;font-size:34px;line-height:1;color:#fff;cursor:pointer;transition:.2s}
.qr-popup .qr-close:hover{transform:rotate(90deg)}
.qr-popup .qr-actions{display:flex;gap:12px;margin-top:18px}
.qr-popup .qr-copy,.qr-popup .qr-open{
  padding:9px 18px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;
  border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:.2s;
}
.qr-popup .qr-copy:hover,.qr-popup .qr-open:hover{background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent}
@media(max-width:520px){
  .qr-popup .qr-actions{flex-direction:column;width:100%;max-width:280px}
  .qr-popup .qr-copy,.qr-popup .qr-open,.qr-popup .qr-download{text-align:center}
}

/* 首页文章卡：左侧固定尺寸二维码 + 右侧标题/摘要（二维码尺寸统一，不随摘要长短变化） */
.qr-block .grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}
.qr-block .qr-thumb-wrap{position:relative;width:88px;flex:none;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,#f3f5f9,#e9edf3);cursor:zoom-in;border-radius:10px}
.qr-block .qr-thumb{width:100%;height:100%;object-fit:contain;padding:1px;box-sizing:border-box;transition:.25s}
.qr-block .card:hover .qr-thumb{transform:scale(1.04)}
.qr-block .qr-thumb-hint{position:absolute;left:0;right:0;bottom:0;padding:5px 8px;font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55));text-align:center;opacity:0;transition:.2s;pointer-events:none}
.qr-block .card:hover .qr-thumb-hint{opacity:1}
.qr-block .qr-body{flex:1;min-width:0;padding:0}
.qr-block .qr-body h3{margin:0 0 4px;font-size:15px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qr-block .qr-body p{margin:0;font-size:13px;color:var(--text-2,#666);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 弹层下载按钮 */
.qr-popup .qr-download{padding:9px 18px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:.2s}
.qr-popup .qr-download:hover{background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent}
/* 申请收录：未登录提示 */
.submit-login-gate{display:flex;flex-direction:column;align-items:center;gap:14px;padding:34px 0;text-align:center;color:var(--text-weak)}
.submit-login-gate p{font-size:15px;margin:0}
/* 二维码上传区（虚线 + 悬停高亮 + 方形预览） */
.submit-form .qr-drop{display:block;position:relative;border:2px dashed var(--border);border-radius:14px;background:var(--surface-2);padding:22px 16px;text-align:center;cursor:pointer;transition:.2s;overflow:hidden}
.submit-form .qr-drop:hover{border-color:var(--primary);background:var(--primary-weak)}
.submit-form .qr-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.submit-form .qr-drop-tip{display:block;color:var(--text-weak);font-size:14px;pointer-events:none}
.submit-form .qr-preview{display:block;width:160px;height:160px;object-fit:contain;margin:12px auto 0;border-radius:12px;box-shadow:var(--shadow);background:#fff}
/* 认证 / 推广 角标 */
.qr-badge{display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;padding:2px 7px;border-radius:8px;margin-left:6px;font-weight:700;vertical-align:middle}
.qr-badge.cert{background:var(--info-weak);color:var(--info)}
.qr-badge.feat{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}

/* ============================================================
   首页两栏布局 + 左侧快速定位导航（sticky 锚点）
   ============================================================ */
/* 正文块：与 .container 同宽居中，左右边距对称、宽度与英雄区一致 */
.home-layout{max-width:1180px;margin:0 auto;padding:0 20px;position:relative}
.home-main{min-width:0}
/* 左侧快速导航：浮在左侧留白区（负 margin 移出正文排版），sticky 跟随滚动，不决定正文宽度 */
.home-quicknav{float:left;width:200px;position:sticky;top:86px;margin-left:-228px;margin-bottom:24px;z-index:5}
.home-quicknav .qn-toggle{display:none;width:100%;padding:10px 14px;border:1px solid var(--border);background:var(--surface);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;color:var(--text)}
.home-quicknav .qn-list{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px;box-shadow:var(--shadow);max-height:calc(100vh - 110px);overflow:auto}
.home-quicknav .qn-item{padding:8px 12px;border-radius:10px;font-size:14px;color:var(--text-weak);text-decoration:none;transition:.18s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-quicknav .qn-item:hover{background:var(--surface-2);color:var(--primary)}
.home-quicknav .qn-item.active{background:var(--primary-weak);color:var(--primary);font-weight:600}

/* 分类详情页两栏 + 右侧小工具侧栏（CorePress .aside-box 风格） */
.archive-layout{display:flex;gap:28px;align-items:flex-start}
.archive-main{flex:1;min-width:0}
.archive-sidebar{flex:0 0 300px;position:sticky;top:86px;align-self:flex-start}

/* 侧栏顶部搜索框（醒目、直接可用） */
.side-search .widget-title{margin-bottom:8px}
.side-search .ss-row{display:flex;gap:8px}
.side-search input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:14px;outline:none;transition:.18s}
.side-search input:focus{border-color:var(--primary)}
.side-search button{flex:none;width:42px;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:#fff;cursor:pointer;font-size:16px;transition:.18s}
.side-search button:hover{filter:brightness(1.06)}

/* 合并小工具：今日速览（天气 + 老黄历 + 临近节日），统一为一个组件 */
.today-widget .tw-row{position:relative;padding:11px 0;border-bottom:1px solid var(--border)}
.today-widget .tw-row:last-child{border-bottom:0;padding-bottom:2px}
.today-widget .tw-label{display:block;font-size:12px;font-weight:600;color:var(--text-weak);margin-bottom:6px}
.today-widget .tw-weather .w-days{display:flex;gap:8px}
.today-widget .tw-weather .w-day{flex:1;text-align:center;background:var(--surface-2);border-radius:10px;padding:6px 2px}
.today-widget .tw-weather .w-d-name{display:block;font-size:11px;color:var(--text-weak)}
.today-widget .tw-weather .w-temp{display:block;font-size:15px;font-weight:700;color:var(--text)}
.today-widget .tw-weather .w-desc{display:block;font-size:11px;color:var(--text-weak)}
.today-widget .tw-foot{margin-top:6px;font-size:11px;color:var(--text-weak);opacity:.85}
.today-widget .tw-main{font-size:14px;font-weight:600;color:var(--text);line-height:1.4}
.today-widget .tw-sub{font-size:12px;color:var(--text-weak);margin-top:3px;line-height:1.5}
.today-widget .tw-sub .yi{color:var(--primary);display:block}
.today-widget .tw-sub .ji{color:#b34;display:block}
.aside-box{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface);padding:14px 16px;margin-bottom:18px}
.aside-box .widget-title{position:relative;padding-left:14px;margin:0 0 10px;font-size:15px;font-weight:700;color:var(--text)}
.aside-box .widget-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;border-radius:3px;background:linear-gradient(var(--primary),var(--primary-2))}
.aside-box ul{list-style:none;margin:0;padding:0}
.aside-box li{font-size:14px;padding:7px 0;border-bottom:1px solid var(--border)}
.aside-box li:last-child{border-bottom:0}
.aside-box a{color:var(--text-weak);text-decoration:none;transition:.18s}
.aside-box a:hover{color:var(--primary)}
.aside-box .tagcloud a{display:inline-block;margin:0 6px 6px 0;padding:3px 10px;border:1px solid var(--border);border-radius:20px;font-size:13px !important}

/* 窄屏/笔记本：首页快速导航收起为顶部「目录」按钮（侧栏浮左留白仅在宽屏生效，避免溢出） */
@media(max-width:1635px){
  .home-quicknav{position:static;float:none;width:auto;margin-left:0;margin-bottom:0}
  .home-quicknav .qn-toggle{display:block}
  .home-quicknav .qn-list{display:none;margin-top:8px}
  .home-quicknav.open .qn-list{display:flex;max-height:60vh}
}
/* 移动端：分类页两栏折叠为单栏 */
@media(max-width:860px){
  .archive-layout{flex-direction:column;gap:16px}
  .archive-sidebar{flex:none;position:static;width:100%}
}

/* ============================================================
   联盟热销专区（每平台 Top3 商品卡）
   ============================================================ */
.union-zone{margin-top:18px}
.union-zone .block-head{align-items:baseline}
.union-zone .union-note{font-size:12px;color:var(--muted);margin-left:8px}
/* 联盟商品网格：PC 4 列，手机 2 列（首页 union-grid-tb 与频道页复用） */
.union-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.union-grid-tb{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.union-card{background:var(--glass);border:1px solid var(--border);border-radius:14px;padding:14px;backdrop-filter:blur(8px);transition:.22s}
.union-card:hover{border-color:var(--accent)}
.union-head{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text);display:flex;align-items:center;gap:6px}
.union-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);text-decoration:none}
.union-item:last-child{border-bottom:0}
.union-item .u-img{width:46px;height:46px;border-radius:8px;flex:none;background-size:cover;background-position:center;background-color:var(--surface-2);display:grid;place-items:center;font-size:20px}
.union-item .u-title{flex:1;min-width:0;font-size:12.5px;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.union-item .u-price{flex:none;font-size:13px;font-weight:700;color:#e1251b}
.union-empty{font-size:12px;color:var(--muted);text-align:center;padding:14px 0}
/* 首页联盟区块「查看更多」入口 */
.union-zone .union-more{display:inline-block;margin-left:10px;font-size:12px;color:var(--accent);text-decoration:none}
.union-zone .union-more:hover{text-decoration:underline}

/* 平台标签同行（四平台并列，淘宝高亮，其余三平台可点跳外链；明亮模式下用实色背景确保可见） */
.union-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 14px}
.union-tab{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;padding:7px 16px;border:1px solid var(--border);border-radius:22px;color:var(--text);text-decoration:none;background:var(--surface);cursor:default;transition:.18s;box-shadow:0 1px 2px rgba(20,23,40,.04)}
.union-tab.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent;box-shadow:var(--shadow)}
a.union-tab{cursor:pointer}
a.union-tab:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 2px 6px rgba(20,23,40,.08)}
a.union-tab.active:hover{color:#fff;border-color:transparent;box-shadow:var(--shadow)}
/* 淘宝联盟标签后的自定义按钮：强调色，便于从四平台标签中突出 */
.union-tab-custom{background:linear-gradient(135deg,#ff6a3d,#ff8c5a);color:#fff !important;border-color:transparent;box-shadow:0 2px 8px rgba(255,106,61,.25);font-weight:700}
.union-tab-custom:hover{background:linear-gradient(135deg,#ff5722,#ff7a45);color:#fff !important;transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,106,61,.35)}
.union-tab-custom .u-ico{display:inline-grid;place-items:center;width:16px;height:16px;vertical-align:-3px;overflow:hidden;border-radius:4px}

@media(max-width:860px){
  .union-grid{grid-template-columns:repeat(2,1fr)}
  .union-grid-tb{grid-template-columns:repeat(2,1fr)}
}

/* 联盟频道页 */
.union-channel .channel-head h1{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.union-channel .channel-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.union-channel .channel-tabs a{font-size:13px;padding:5px 12px;border:1px solid var(--border);border-radius:20px;color:var(--text);text-decoration:none;background:var(--glass)}
.union-channel .channel-tabs a.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent;box-shadow:var(--shadow)}
.union-block{margin-bottom:28px}
.union-block-title{font-size:17px;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.union-block-title .union-block-more{margin-left:auto;font-size:13px;font-weight:500;color:var(--primary);text-decoration:none;padding:2px 10px;border:1px solid var(--border);border-radius:20px;transition:.15s}
.union-block-title .union-block-more:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.union-items{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.union-item.wide{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:12px;text-decoration:none;background:var(--glass);transition:.18s}
.union-item.wide:hover{border-color:var(--accent);transform:translateY(-1px)}
.union-item.wide .u-img{width:54px;height:54px;border-radius:10px;flex:none;background-size:cover;background-position:center;background-color:var(--surface-2);display:grid;place-items:center;font-size:22px}
.union-item.wide .u-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.union-item.wide .u-title{font-size:13px;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.union-item.wide .u-price{flex:none;font-size:14px;font-weight:700;color:#e1251b}
/* 频道页商品网格复用 4 列（PC）/ 2 列（手机） */
.union-items.union-grid-tb{grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:640px){
  .union-items{grid-template-columns:1fr}
  .union-items.union-grid-tb{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   联盟选品库（dataoke.com/xp 风格：左侧榜单/选品导航 + 右侧商品网格）
   ============================================================ */
.union-channel.union-xp .channel-tabs{margin:14px 0 18px}
.xp-layout{display:flex;gap:20px;align-items:flex-start}
/* 顶部分类导航（原左侧栏上移为水平标签条） */
.xp-cats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:4px 0 20px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.xp-cats-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.xp-cats-group + .xp-cats-group{padding-left:14px;border-left:1px dashed var(--border)}
.xp-cats-title{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:1px;margin-right:2px}
.xp-cat{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:13px;font-weight:500;color:var(--text);text-decoration:none;background:var(--glass);border:1px solid var(--border);border-radius:18px;transition:.16s;white-space:nowrap}
.xp-cat:hover{background:var(--primary-weak);color:var(--primary);border-color:var(--primary)}
.xp-cat.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent;box-shadow:var(--shadow)}
.xp-cat-ico{width:16px;height:16px;display:inline-grid;place-items:center;font-size:13px}
.xp-search-top{margin:0 0 16px}
.xp-search-top .xp-search-input{max-width:320px}
/* 右侧主内容 */
.xp-main{flex:1;min-width:0}
.xp-main-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.xp-main-title{font-size:19px;font-weight:700;margin:0;color:var(--text);display:flex;align-items:center;gap:6px}
/* 换一批按钮 */
.xp-swap-btn{margin-left:6px;font-size:12.5px;font-weight:600;color:var(--primary);background:var(--primary-weak);border:1px solid transparent;padding:4px 13px;border-radius:18px;cursor:pointer;transition:.16s;white-space:nowrap;font-family:inherit}
.xp-swap-btn:hover{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}
.xp-swap-btn.loading{opacity:.6;pointer-events:none}
.xp-swap-btn.disabled{opacity:.45;cursor:default;pointer-events:none}
.xp-main-more{margin-left:auto;font-size:13px;font-weight:500;color:var(--primary);text-decoration:none;padding:3px 12px;border:1px solid var(--border);border-radius:20px;transition:.15s;white-space:nowrap}
.xp-main-more:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
/* 排序条 */
.xp-sortbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.xp-sort{font-size:12.5px;font-weight:600;color:var(--text-2);background:var(--surface);border:1px solid var(--border);padding:5px 14px;border-radius:16px;cursor:pointer;transition:.15s;font-family:inherit}
.xp-sort:hover{border-color:var(--primary);color:var(--primary)}
.xp-sort.active{background:var(--primary);color:#fff;border-color:var(--primary)}
/* 加载更多按钮 */
.xp-more-wrap{display:flex;justify-content:center;margin-top:18px}
.xp-more-btn{font-size:13.5px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));border:none;padding:9px 34px;border-radius:22px;cursor:pointer;transition:.16s;font-family:inherit;box-shadow:var(--shadow)}
.xp-more-btn:hover{transform:translateY(-1px);opacity:.92}
.xp-more-btn.loading{opacity:.6;pointer-events:none}
.xp-more-btn.disabled{opacity:.5;cursor:default;pointer-events:none;background:var(--surface-2);color:var(--text-2);box-shadow:none}
/* 商品图卡网格（横向 5 列铺满整行） */
.xp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.xp-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;transition:.18s;position:relative}
.xp-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}
.xp-thumb{position:relative;display:block;aspect-ratio:1/1;background-size:cover;background-position:center;background-color:var(--surface-2);display:grid;place-items:center;font-size:30px}
.xp-coupon{position:absolute;left:8px;bottom:8px;font-style:normal;font-size:11px;font-weight:700;color:#fff;background:#e1251b;padding:2px 6px;border-radius:5px;line-height:1.4}
.xp-rank{position:absolute;top:8px;left:8px;font-style:normal;font-size:11px;font-weight:700;color:#fff;background:rgba(20,23,40,.55);padding:2px 6px;border-radius:5px;line-height:1.4}
.xp-body{display:flex;flex-direction:column;gap:5px;padding:9px 11px 11px}
.xp-title{font-size:13px;color:var(--text);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.xp-meta{display:flex;align-items:center;justify-content:space-between;gap:6px}
.xp-price{color:#e1251b;font-weight:700;font-size:13px}
.xp-price i{font-style:normal;font-size:16px}
.xp-sales{font-size:11px;color:var(--muted)}
/* 响应式 */
@media(max-width:1200px){
  .xp-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:1024px){
  .xp-layout{flex-direction:column}
  .xp-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .xp-cats{gap:6px 10px;padding:10px}
  .xp-cats-group + .xp-cats-group{padding-left:10px}
  .xp-cat{padding:4px 10px;font-size:12px}
  .xp-grid{grid-template-columns:repeat(2,1fr);gap:10px}
}
