/* btcy 站点基础样式(前端用户端) */
* { box-sizing: border-box; }
body { margin:0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; color:#222; background:#f8f8f8; }
a { color:#0a66c2; text-decoration:none; }
a:hover { text-decoration:underline; }
img { max-width:100%; }

.btcy-wrap { max-width:1200px; margin:0 auto; padding:0 16px; }

.btcy-header {
    background:#fff; border-bottom:1px solid #eee; box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.btcy-header .btcy-wrap { display:flex; align-items:center; height:64px; gap:24px; }
.btcy-logo img { height:36px; vertical-align:middle; }
.btcy-logo-text { font-size:20px; font-weight:bold; color:#0a66c2; }
.btcy-nav { display:flex; gap:18px; flex:1; align-items:center; }
.btcy-nav a { color:#333; padding:6px 4px; }
.btcy-nav a.active, .btcy-nav a:hover { color:#0a66c2; font-weight:500; border-bottom:2px solid #0a66c2; }
.btcy-userbar { display:flex; gap:12px; align-items:center; }

/* === 顶部下拉菜单 === */
.btcy-dropdown { position:relative; }
.btcy-dropdown-toggle { display:inline-flex; align-items:center; gap:4px; color:#333; padding:6px 4px; cursor:pointer; }
.btcy-dropdown-toggle:hover { color:#0a66c2; }
.btcy-caret {
    display:inline-block; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:4px solid currentColor;
    transition:transform .2s; margin-left:2px; vertical-align:middle;
}
.btcy-dropdown.open .btcy-caret { transform:rotate(180deg); }

.btcy-dropdown-menu {
    position:absolute; top:100%; left:0; min-width:200px; background:#fff; border:1px solid #eee;
    box-shadow:0 6px 20px rgba(0,0,0,.1); border-radius:4px; padding:12px 16px;
    opacity:0; visibility:hidden; transform:translateY(-4px); transition:all .15s; z-index:99;
}
.btcy-dropdown:hover .btcy-dropdown-menu,
.btcy-dropdown.open .btcy-dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }

.btcy-dropdown-inner { display:grid; gap:16px 28px; }
.btcy-dropdown-cats .btcy-dropdown-inner,
.btcy-dropdown-prods .btcy-dropdown-inner { grid-template-columns:repeat(3, minmax(160px, 1fr)); min-width:540px; max-width:780px; }
.btcy-dropdown-col { min-width:140px; }
.btcy-dropdown-title {
    display:block; font-weight:600; color:#222; padding:4px 0 6px; border-bottom:1px solid #f0f0f0; margin-bottom:6px;
}
.btcy-dropdown-title:hover { color:#0a66c2; border-bottom-color:#0a66c2; }
.btcy-dropdown-sub { list-style:none; padding:0; margin:0; }
.btcy-dropdown-sub li a { display:block; padding:4px 0; color:#555; font-size:13px; border-bottom:none; }
.btcy-dropdown-sub li a:hover { color:#0a66c2; }

.btcy-dropdown-list { list-style:none; padding:0; margin:0; min-width:160px; }
.btcy-dropdown-list li a { display:block; padding:6px 4px; color:#333; border-bottom:none; }
.btcy-dropdown-list li a:hover { color:#0a66c2; background:#f6f9ff; border-radius:3px; }
.btcy-dropdown-pages .btcy-dropdown-menu { min-width:160px; }

@media (max-width: 900px) {
    .btcy-dropdown-cats .btcy-dropdown-inner,
    .btcy-dropdown-prods .btcy-dropdown-inner { grid-template-columns:repeat(2, 1fr); min-width:auto; }
}
@media (max-width: 600px) {
    .btcy-nav { display:none; }
    .btcy-userbar { display:none; }
}

/* ============================================
   汉堡按钮(仅移动端显示)
   ============================================ */
.btcy-hamburger {
    display:none; /* 默认隐藏,移动端才显示 */
    background:transparent; border:1px solid #e0e6f1; border-radius:4px;
    width:40px; height:40px; cursor:pointer; color:#0a66c2; font-size:18px;
    margin-left:auto; align-items:center; justify-content:center;
}
.btcy-hamburger:hover { background:#f3f8ff; }

/* ============================================
   抽屉(移动端导航) — 桌面端完全 display:none,只在移动端显示
   ============================================ */
.btcy-drawer-backdrop,
.btcy-drawer {
    display:none;
}
.btcy-drawer-backdrop.open { display:block; }
.btcy-drawer.open { display:flex; }

.btcy-drawer-backdrop {
    position:fixed; inset:0; background:rgba(0,0,0,.5);
    z-index:998; opacity:0; transition:opacity .25s;
}
.btcy-drawer-backdrop.open { display:block; opacity:1; }

.btcy-drawer {
    position:fixed; top:0; left:-320px; width:300px; max-width:85vw; height:100vh;
    background:#fff; box-shadow:2px 0 20px rgba(0,0,0,.15);
    z-index:999; transition:left .3s ease; overflow-y:auto;
    flex-direction:column;
}
.btcy-drawer.open { left:0; display:flex; }

.btcy-drawer-header {
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 16px; border-bottom:1px solid #eee; background:#fff;
    position:sticky; top:0; z-index:2;
}
.btcy-drawer-header .btcy-logo img { max-height:32px; }
.btcy-drawer-close {
    background:transparent; border:none; font-size:20px; color:#666;
    width:36px; height:36px; cursor:pointer; border-radius:4px;
}
.btcy-drawer-close:hover { background:#f3f8ff; color:#d33; }

.btcy-drawer-body {
    flex:1; padding:8px 0; overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}

.btcy-drawer-link {
    display:flex; align-items:center; gap:10px;
    padding:12px 16px; color:#333; font-size:15px;
    text-decoration:none; border-left:3px solid transparent;
    transition:all .15s;
}
.btcy-drawer-link i.fa-home,
.btcy-drawer-link i.fa-box,
.btcy-drawer-link i.fa-info-circle,
.btcy-drawer-link i.fa-handshake,
.btcy-drawer-link i.fa-sign-in-alt,
.btcy-drawer-link i.fa-user-plus,
.btcy-drawer-link i.fa-file-signature { width:18px; color:#0a66c2; }
.btcy-drawer-link:hover, .btcy-drawer-link.active { background:#f3f8ff; color:#0a66c2; border-left-color:#0a66c2; }
.btcy-drawer-link.primary { color:#0a66c2; font-weight:500; }
.btcy-drawer-link.sub { padding-left:36px; font-size:14px; color:#666; }

.btcy-drawer-section { border-top:1px solid #f0f0f0; }
.btcy-drawer-section > .btcy-drawer-link { font-weight:500; }

.btcy-drawer-toggle .btcy-caret-drawer {
    margin-left:auto; transition:transform .2s; font-size:12px; color:#888;
}
.btcy-drawer-section.open > .btcy-drawer-toggle .btcy-caret-drawer,
.btcy-drawer-cat.open > .btcy-drawer-cat-toggle .btcy-caret-drawer { transform:rotate(180deg); }

.btcy-drawer-children { display:none; background:#fafafa; }
.btcy-drawer-section.open > .btcy-drawer-children { display:block; }
.btcy-drawer-cat {
    border-top:1px solid #f0f0f0;
    padding:0;
}
.btcy-drawer-cat-title {
    display:block; padding:10px 16px 10px 28px; color:#444; font-size:14px;
    text-decoration:none; border-bottom:none;
}
.btcy-drawer-cat-title:hover { background:#f3f8ff; color:#0a66c2; }
.btcy-drawer-cat-toggle {
    display:inline-block; float:right; padding:10px 16px; color:#888; font-size:12px;
}
.btcy-drawer-sub { display:none; padding:0 0 8px 0; background:#fff; }
.btcy-drawer-cat.open > .btcy-drawer-sub { display:block; }
.btcy-drawer-cat.open > .btcy-drawer-cat-title { color:#0a66c2; font-weight:500; }

.btcy-drawer-divider { height:1px; background:#e0e0e0; margin:8px 16px; }

.btcy-drawer-user {
    display:flex; align-items:center; gap:8px; padding:10px 16px; color:#555;
    font-size:14px; border-top:1px solid #f0f0f0; margin-top:8px;
}
.btcy-drawer-user i { color:#0a66c2; font-size:18px; }

/* 移动端媒体查询(汉堡+抽屉) */
@media (max-width: 600px) {
    .btcy-hamburger { display:flex; }
    .btcy-header .btcy-wrap { gap:12px; }
    /* drawer 默认桌面隐藏,移动端才显示(由 .open 控制) */
    .btcy-drawer-backdrop { display:none; }
    .btcy-drawer-backdrop.open { display:block; }
    .btcy-drawer { display:flex; left:-320px; }
    .btcy-drawer.open { left:0; }
}

/* 防 body 滚动(抽屉打开时) */
body.btcy-drawer-open { overflow:hidden; }

.btcy-btn {
    display:inline-block; padding:6px 14px; border:1px solid #0a66c2; color:#0a66c2; border-radius:4px;
    background:#fff; cursor:pointer; text-decoration:none; font-size:14px;
}
.btcy-btn:hover { background:#0a66c2; color:#fff; text-decoration:none; }
.btcy-btn-primary { background:#0a66c2; color:#fff; }
.btcy-btn-primary:hover { background:#084d92; color:#fff; }
.btcy-btn-danger { border-color:#d33; color:#d33; }
.btcy-btn-danger:hover { background:#d33; color:#fff; }
.btcy-btn-sm { padding:3px 8px; font-size:12px; }

.btcy-main { padding:24px 0 48px; min-height:60vh; }
.btcy-h1 { font-size:28px; margin:8px 0 16px; }
.btcy-h2 { font-size:20px; margin:24px 0 12px; padding-left:10px; border-left:4px solid #0a66c2; }
.btcy-subtitle { color:#666; font-size:16px; margin:8px 0; }
.btcy-meta { color:#888; font-size:13px; }
.btcy-cover { max-width:100%; border-radius:4px; }
.btcy-empty { text-align:center; padding:40px 0; color:#999; }
.btcy-summary { background:#f3f8ff; border-left:4px solid #0a66c2; padding:12px 16px; color:#555; margin:12px 0; }

.btcy-alert { padding:12px 16px; border-radius:4px; margin:12px 0; }
.btcy-alert-error { background:#fff3f3; border:1px solid #fbcaca; color:#a04040; }
.btcy-alert-warn  { background:#fffae6; border:1px solid #f0e0a0; color:#806020; }
.btcy-alert-success{ background:#e8f7e8; border:1px solid #bce0bc; color:#3a7a3a; }

/* Hero / Sections */
.btcy-hero { background:linear-gradient(135deg,#0a66c2 0%,#1e88e5 100%); color:#fff; padding:48px 24px; border-radius:8px; text-align:center; }
.btcy-hero h1 { font-size:36px; margin:0 0 8px; }
.btcy-hero .btcy-sub { opacity:.9; }
.btcy-section { margin:24px 0; }
.btcy-more { color:#0a66c2; font-size:14px; }

/* Grid + Card */
.btcy-grid { display:grid; gap:16px; }
.btcy-grid-3 { grid-template-columns:repeat(3, 1fr); }
.btcy-grid-4 { grid-template-columns:repeat(4, 1fr); }
@media (max-width: 900px) {
    .btcy-grid-3, .btcy-grid-4 { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .btcy-grid-3, .btcy-grid-4 { grid-template-columns:1fr; }
    .btcy-nav { display:none; }
}
.btcy-card { background:#fff; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,.05); transition:all .2s; }
.btcy-card:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.08); }
.btcy-card img { width:100%; height:160px; object-fit:cover; border-radius:4px; }
.btcy-card h3 { font-size:15px; margin:8px 0 4px; }
.btcy-card h3 a { color:#222; }
.btcy-price { color:#d33; font-weight:bold; font-size:16px; margin:6px 0; }
.btcy-sale-price { color:#888; font-size:13px; }

/* List */
.btcy-list { list-style:none; padding:0; margin:0; }
.btcy-list li { padding:8px 0; border-bottom:1px dashed #eee; display:flex; justify-content:space-between; }
.btcy-article-list { list-style:none; padding:0; }
.btcy-article-list li { padding:14px 0; border-bottom:1px solid #eee; }
.btcy-article-list li a { display:flex; gap:12px; color:#222; }
.btcy-article-list li a:hover { color:#0a66c2; }
.btcy-thumb { width:160px; height:90px; object-fit:cover; flex-shrink:0; }
.btcy-article-list li h3 { margin:0 0 4px; font-size:16px; }
.btcy-article-list li p { margin:0; color:#666; font-size:13px; }
@media (max-width:600px){ .btcy-thumb { display:none; } }

/* 分类树 */
.btcy-cat-tree, .btcy-cat-grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); }
.btcy-cat-node, .btcy-cat-tile { background:#fff; padding:16px; border-radius:6px; }
.btcy-cat-node h3, .btcy-cat-tile h3 { margin:0 0 8px; }
.btcy-cat-node ul, .btcy-cat-tile ul { list-style:none; padding:0; margin:0; }
.btcy-cat-node li, .btcy-cat-tile li { padding:4px 0; border-bottom:1px dashed #f0f0f0; }

/* 视频/图集 */
.btcy-video video { width:100%; max-height:480px; }
.btcy-gallery { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:8px; margin:12px 0; }
.btcy-gallery img { width:100%; height:140px; object-fit:cover; border-radius:4px; }

/* Article 详情 */
.btcy-article { background:#fff; padding:24px; border-radius:6px; }
.btcy-article h1.btcy-h1 { font-size:30px; }
.btcy-article-nav { display:flex; justify-content:space-between; margin-top:24px; padding-top:12px; border-top:1px solid #eee; color:#666; }

/* Table */
.btcy-table { width:100%; border-collapse:collapse; background:#fff; }
.btcy-table th, .btcy-table td { padding:10px 12px; border-bottom:1px solid #eee; text-align:left; }
.btcy-table th { width:140px; color:#666; background:#fafafa; }

/* Form */
.btcy-form { background:#fff; padding:24px; border-radius:6px; }
.btcy-form-row { margin-bottom:16px; }
.btcy-form-row label { display:block; color:#444; font-weight:500; margin-bottom:6px; }
.btcy-form-row input, .btcy-form-row select, .btcy-form-row textarea {
    width:100%; padding:8px 10px; border:1px solid #ccc; border-radius:4px; font-size:14px;
}
.btcy-form-row input:focus, .btcy-form-row select:focus, .btcy-form-row textarea:focus {
    outline:none; border-color:#0a66c2; box-shadow:0 0 0 2px rgba(10,102,194,.15);
}

/* Pager */
.btcy-pager { text-align:center; padding:16px 0; color:#666; }
.btcy-pager a { margin:0 4px; }

/* Specs */
.btcy-specs { width:100%; border-collapse:collapse; margin:12px 0; }
.btcy-specs th, .btcy-specs td { padding:8px 12px; border:1px solid #eee; }
.btcy-specs th { background:#f8f8f8; width:120px; }

/* 合作商中心 stats */
.btcy-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin:16px 0; }
.btcy-stat-card { background:#fff; padding:16px; border-radius:6px; text-align:center; }
.btcy-stat-num { font-size:24px; font-weight:bold; color:#0a66c2; }
@media (max-width: 600px){ .btcy-stats { grid-template-columns:repeat(2, 1fr); } }

/* ===== 商品详情页 ===== */
.btcy-product-detail { background:#fff; padding:24px 28px; border-radius:6px; }
.btcy-product-detail .btcy-cover { max-height:480px; object-fit:contain; margin:12px 0; }
.btcy-price-box { margin:16px 0; padding:16px; background:#fdf6f0; border-radius:6px; }
.btcy-agent-price { color:#d33; font-size:20px; font-weight:bold; }
.btcy-sale-price { color:#888; font-size:14px; text-decoration:line-through; margin-left:8px; }

/* ===== CKEditor 5 内容渲染样式 (.btcy-content) ===== */
.btcy-content { line-height:1.8; word-break:break-word; overflow-wrap:break-word; }
.btcy-content p { margin:0.6em 0; }
.btcy-content h2 { font-size:24px; margin:1.2em 0 0.6em; padding-bottom:6px; border-bottom:1px solid #eee; }
.btcy-content h3 { font-size:20px; margin:1em 0 0.5em; }
.btcy-content h4 { font-size:17px; margin:0.8em 0 0.4em; }
.btcy-content a { color:#0a66c2; }
.btcy-content a:hover { text-decoration:underline; }
.btcy-content img { max-width:100%; height:auto; border-radius:4px; }
/* CK5 图片 figure */
.btcy-content figure.image { margin:1em 0; text-align:center; }
.btcy-content figure.image img { display:inline-block; max-width:100%; }
.btcy-content figure.image figcaption { display:block; font-size:13px; color:#888; margin-top:6px; padding:4px 8px; background:#f8f8f8; border-radius:0 0 4px 4px; }
/* CK5 表格 */
.btcy-content figure.table { margin:1em 0; overflow-x:auto; }
.btcy-content figure.table table { width:100%; border-collapse:collapse; }
.btcy-content figure.table th,
.btcy-content figure.table td { border:1px solid #ddd; padding:8px 12px; text-align:left; }
.btcy-content figure.table th { background:#f5f7fa; font-weight:600; }
.btcy-content figure.table figcaption { display:block; font-size:13px; color:#888; margin-top:6px; }
/* 直接 table（无 figure 包裹） */
.btcy-content table { width:100%; border-collapse:collapse; margin:1em 0; }
.btcy-content table th,
.btcy-content table td { border:1px solid #ddd; padding:8px 12px; text-align:left; }
.btcy-content table th { background:#f5f7fa; font-weight:600; }
/* 引用 */
.btcy-content blockquote { margin:1em 0; padding:12px 20px; border-left:4px solid #0a66c2; background:#f3f8ff; color:#555; border-radius:0 4px 4px 0; }
.btcy-content blockquote p { margin:0.3em 0; }
/* 代码块 */
.btcy-content pre { background:#f6f8fa; border:1px solid #e1e4e8; border-radius:6px; padding:16px; overflow-x:auto; font-size:14px; line-height:1.5; margin:1em 0; }
.btcy-content pre code { background:none; padding:0; border:none; font-size:inherit; color:#24292e; }
.btcy-content code { background:#f0f0f0; padding:2px 6px; border-radius:3px; font-size:0.9em; color:#d63384; }
/* 列表 */
.btcy-content ul, .btcy-content ol { margin:0.6em 0; padding-left:2em; }
.btcy-content li { margin:0.3em 0; }
.btcy-content ul ul, .btcy-content ul ol,
.btcy-content ol ul, .btcy-content ol ol { margin:0.2em 0; }
/* 分隔线 */
.btcy-content hr { border:none; border-top:1px solid #ddd; margin:1.5em 0; }
/* 对齐 */
.btcy-content .text-left { text-align:left; }
.btcy-content .text-center { text-align:center; }
.btcy-content .text-right { text-align:right; }
.btcy-content .text-justify { text-align:justify; }
/* 媒体嵌入 */
.btcy-content .media { margin:1em 0; }
.btcy-content .media iframe,
.btcy-content .media video { width:100%; max-width:100%; border-radius:4px; }
.btcy-content figure.media { text-align:center; }
/* 图片样式：侧边/居中/内联 */
.btcy-content .image-style-side { float:right; margin-left:1.5em; max-width:50%; }
.btcy-content .image-style-block-align-right { margin-left:auto; margin-right:0; }
.btcy-content .image-style-block-align-left { margin-right:auto; margin-left:0; }
.btcy-content .image-style-align-center { margin-left:auto; margin-right:auto; }
/* 清除浮动 */
.btcy-content::after { content:''; display:table; clear:both; }

/* Footer */
.btcy-footer { background:#222; color:#ccc; padding:32px 0 16px; margin-top:32px; }
.btcy-footer a { color:#ccc; }
.btcy-footer h4 { color:#fff; margin:0 0 8px; }
.btcy-footer-cols { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.btcy-footer-col p, .btcy-footer-col li { margin:4px 0; font-size:13px; }
.btcy-footer-col ul { list-style:none; padding:0; }
.btcy-copyright { border-top:1px solid #444; margin-top:16px; padding-top:12px; text-align:center; font-size:13px; }
@media (max-width: 600px){ .btcy-footer-cols { grid-template-columns:1fr; } }
