/* ===== MoldSo 全局样式（2026-08-29 从 layouts/app.blade.php 内联抽出，统一收全局）===== */
:root {
    --blue:#1a5cff;
    --dark:#12203a;
    --gray:#f4f6fa;
    --line:#e3e8f0;
    --red:#e23b3b;   /* MoldSo 的 So 品牌红 */
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; color:#223; background:#fff; line-height:1.6; }
a { color:var(--blue); text-decoration:none; }
a:hover { text-decoration:underline; }

/* ---------- 布局：头部 / 容器 / 页脚 ---------- */
.header { background:var(--dark); color:#fff; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; }
.header .brand { font-size:20px; font-weight:700; color:#fff; }
.header .brand span { color:var(--red); }
.brand-red { color:var(--red); }
.header nav a { color:#cfe0ff; margin-left:18px; font-size:14px; }
.header nav a:hover { color:#fff; text-decoration:none; }

.container { max-width:1080px; margin:0 auto; padding:34px 20px 150px; }

.footer { background:var(--gray); border-top:1px solid var(--line); padding:20px; text-align:center; color:#667; font-size:13px; margin-top:40px; }

/* ---------- 通用组件 ---------- */
.btn { display:inline-block; background:var(--blue); color:#fff; border:none; padding:11px 26px; border-radius:6px; font-size:15px; cursor:pointer; }
.btn:hover { background:#0f4ef0; }
.card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:18px; margin-bottom:14px; }
.badge { display:inline-block; background:var(--gray); border:1px solid var(--line); color:#445; font-size:12px; padding:2px 8px; border-radius:4px; margin-right:6px; }

/* ---------- 首页 Hero（搜索框 / 数据招牌） ---------- */
.hero { text-align:center; padding:50px 20px 30px; }
.hero h1 { font-size:34px; color:var(--dark); margin-bottom:10px; }
.hero h1 .red { color:var(--red); }
.hero p { color:#667; font-size:16px; margin-bottom:26px; }
.search-box { max-width:620px; margin:0 auto; display:flex; gap:10px; }
.search-box input { flex:1; padding:13px 18px; font-size:16px; border:2px solid var(--line); border-radius:8px; outline:none; }
.search-box input:focus { border-color:var(--blue); }
.hot-words { margin-top:16px; color:#667; font-size:14px; }
.hot-words a { margin:0 6px; }

/* ---------- 首页快捷导航（A方案最终：悬停下拉三栏，无死区，右/下对齐定位） ---------- */
.quicknav { max-width:900px; margin:34px auto 0; padding:0 10px; display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.qn { position:relative; }
.qn-thead { display:inline-block; padding:8px 18px; font-size:14px; color:var(--dark); background:var(--gray); border:1px solid var(--line); border-radius:20px; cursor:pointer; user-select:none; position:relative; z-index:22; }
.qn-thead i { color:var(--blue); font-style:normal; font-size:12px; margin-left:2px; }
.qn:hover .qn-thead { background:var(--blue); color:#fff; border-color:var(--blue); }
.qn:hover .qn-thead i { color:#fff; }
.qn-panel { position:absolute; top:100%; left:0; transform:translateY(0); min-width:288px; max-height:430px; overflow:auto; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 28px rgba(0,0,0,.12); padding:14px 8px 10px; display:none; z-index:21; white-space:nowrap; }
/* 无死区桥：面板与标签无缝衔接（top:100% 无间隙），悬停到面板不丢 */
.qn-panel::before { content:""; position:absolute; top:-12px; left:0; right:0; height:12px; background:transparent; }
.qn:hover .qn-panel { display:block; }
/* 面板内首个链接顶到面板，桥接无缝 */
.qn-panel a { display:block; padding:7px 12px; border-radius:6px; color:#445; font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.qn-panel a:hover { background:var(--gray); color:var(--blue); text-decoration:none; }
.qn-panel a.qn-all { border-top:1px solid var(--line); margin-top:6px; padding-top:9px; color:var(--blue); font-weight:600; }
.qn-regions { min-width:260px; }
.qn-regions .qn-wrap { display:flex; flex-wrap:wrap; max-width:260px; }
.qn-regions a { display:inline-block; margin:3px; padding:4px 10px; border:1px solid var(--line); border-radius:15px; font-size:13px; color:#445; background:var(--gray); }
.qn-regions a:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.qn-regions a.qn-all { display:block; }
@media(max-width:600px){
    .quicknav { padding:0 6px; gap:8px; margin-top:24px; }
    .qn { }
    .qn-panel { left:50%; transform:translateX(-50%); min-width:88vw; }
    .qn-regions { min-width:78vw; }
}


/* ---------- 页面区块样式（2026-08-29 从各 view 内嵌 style 统一收进全局）
   按新准则：blade 模板不内嵌 <style>，统一到此文件
   ========================================================= */

/* ---------- 通用页头 page-head（library/forum/exhibitors/search） ---------- */
.page-head { margin-bottom:20px; }
.page-head h1 { font-size:26px; color:var(--dark); margin-bottom:6px; }
.page-head p { color:#667; font-size:14px; }

/* ---------- 文库 library ---------- */
.lib-wrap { display:flex; gap:24px; }
.lib-side { width:200px; flex-shrink:0; }
.lib-side h3 { font-size:15px; color:var(--dark); margin-bottom:12px; }
.lib-side a { display:block; padding:8px 12px; border-radius:6px; color:#445; font-size:14px; margin-bottom:4px; }
.lib-side a:hover { background:var(--gray); text-decoration:none; }
.lib-side a.active { background:var(--blue); color:#fff; }
.lib-main { flex:1; }
.lib-item { display:flex; justify-content:space-between; align-items:center; }
.lib-item .t { font-size:16px; font-weight:600; color:var(--dark); }
.lib-item .meta { font-size:13px; color:#788; margin-top:4px; }
@media(max-width:720px){ .lib-wrap{flex-direction:column;} .lib-side{width:100%;} }

/* ---------- 文库详情 library_article ---------- */
.art-wrap { max-width:800px; margin:0 auto; }
.art-head { border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:22px; }
.art-head h1 { font-size:26px; color:var(--dark); line-height:1.4; margin-bottom:10px; }
.art-head .meta { font-size:13px; color:#889; }
.art-head .meta a { color:var(--blue); }
.art-body { font-size:16px; color:#333; line-height:1.9; }
.art-body h2, .art-body h3 { margin:22px 0 10px; color:var(--dark); }
.art-body p { margin-bottom:14px; }
.art-body ul, .art-body ol { margin:0 0 14px 22px; }
.art-body li { margin-bottom:6px; }
.art-body img { max-width:100%; border-radius:6px; }
.art-nav { margin-top:30px; padding-top:16px; border-top:1px solid var(--line); }

/* ---------- 贴吧 forum ---------- */
.boards { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.board { background:var(--gray); border:1px solid var(--line); border-radius:8px; padding:10px 16px; }
.board .bn { font-weight:600; color:var(--dark); }
.board .bd { font-size:12px; color:#788; margin-top:2px; }
.topic-row { border-left:3px solid transparent; }
.topic-row.top { border-left-color:var(--red); }
.topic-row .tt { font-size:15px; font-weight:600; color:var(--dark); }
.topic-row .meta { font-size:12px; color:#889; margin-top:4px; }
.top-tag { color:var(--red); font-size:11px; margin-right:4px; }

/* ---------- 贴吧话题详情 forum_topic ---------- */
.topic-wrap { max-width:760px; margin:0 auto; }
.topic-head { border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:20px; }
.topic-head h1 { font-size:24px; color:var(--dark); line-height:1.4; margin-bottom:8px; }
.topic-head .meta { font-size:13px; color:#889; }
.topic-body { background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px; line-height:1.8; color:#333; }
.reply-box { margin-top:24px; }
.reply-box h3 { font-size:16px; color:var(--dark); margin-bottom:14px; }
.reply-item { background:var(--gray); border:1px solid var(--line); border-radius:8px; padding:14px 18px; margin-bottom:10px; }
.reply-item .ra { font-size:13px; color:var(--blue); font-weight:600; }
.reply-item .rc { font-size:14px; color:#445; margin-top:4px; line-height:1.7; }
.reply-form { background:#fff; border:1px solid var(--line); border-radius:8px; padding:18px; margin-top:10px; }
.reply-form h4 { font-size:15px; margin-bottom:12px; color:var(--dark); }
.reply-form input, .reply-form textarea { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:6px; font-size:14px; margin-bottom:10px; outline:none; }
.reply-form input:focus, .reply-form textarea:focus { border-color:var(--blue); }

/* ---------- 贴吧发帖 forum_new ---------- */
.new-wrap { max-width:640px; margin:0 auto; }
.new-box { background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px; }
.new-box h1 { font-size:22px; color:var(--dark); margin-bottom:6px; }
.new-box .sub { color:#667; font-size:14px; margin-bottom:20px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:14px; color:#445; margin-bottom:5px; font-weight:600; }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:6px; font-size:14px; outline:none; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--blue); }
.hint { font-size:12px; color:#889; margin-top:4px; }

/* ---------- 展商列表 exhibitors ---------- */
.filters { margin-bottom:20px; }
.filters a { display:inline-block; margin:0 6px 8px 0; padding:6px 14px; border:1px solid var(--line); border-radius:20px; font-size:13px; color:#445; }
.filters a.active { background:var(--blue); color:#fff; border-color:var(--blue); }
.list-item { display:flex; align-items:center; justify-content:space-between; }
.list-item .name { font-size:16px; font-weight:600; color:var(--dark); }
.list-item .booth { color:var(--blue); font-weight:600; background:var(--gray); padding:3px 10px; border-radius:5px; }
.list-item .region { font-size:13px; color:#788; margin-top:3px; }
.pagination { display:flex; justify-content:center; gap:8px; margin-top:24px; }
.pagination a, .pagination span { padding:7px 14px; border:1px solid var(--line); border-radius:6px; color:#445; font-size:14px; }
.pagination .active { background:var(--blue); color:#fff; border-color:var(--blue); }
.claim-banner { background:#fff8f0; border:1px solid #ffe0b2; border-radius:8px; padding:12px 16px; margin-bottom:18px; font-size:14px; color:#7a4a00; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.claim-banner a { color:var(--blue); font-weight:600; white-space:nowrap; }

/* ---------- 展商详情 exhibitor ---------- */
.detail-head { border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:20px; }
.detail-head h1 { font-size:24px; color:var(--dark); margin-bottom:6px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.detail-head .zh { font-size:16px; color:#556; }
.info-table { width:100%; border-collapse:collapse; }
.info-table td { padding:12px 16px; border:1px solid var(--line); font-size:15px; }
.info-table td:first-child { width:140px; background:var(--gray); color:#556; font-weight:600; }
.back { margin-top:24px; }
.claim-cta { margin-top:22px; background:#fff8f0; border:1px solid #ffe0b2; border-radius:8px; padding:18px 20px; }
.claim-cta h3 { color:#7a4a00; font-size:17px; margin-bottom:6px; }
.claim-cta p { color:#8a6a3a; font-size:14px; margin-bottom:12px; }
.certified { display:inline-block; background:#1e7a3e; color:#fff; font-size:12px; padding:2px 10px; border-radius:12px; }
.contact-box { margin-top:22px; background:#e8f7ee; border:1px solid #b7e3c7; border-radius:8px; padding:18px 20px; }
.contact-box h3 { color:#1e7a3e; font-size:17px; margin-bottom:10px; }
.contact-box .row { font-size:14px; color:#335; margin-bottom:6px; }
.contact-box .lbl { display:inline-block; width:72px; color:#1e7a3e; font-weight:600; }

/* ---------- 认领申请 claim ---------- */
.claim-wrap { max-width:640px; margin:0 auto; }
.claim-box { background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px; }
.claim-box h1 { font-size:22px; color:var(--dark); margin-bottom:6px; }
.claim-box .sub { color:#667; font-size:14px; margin-bottom:20px; }
.form-group label .req { color:var(--red); }
.form-group input.disabled { background:var(--gray); color:#556; }
.form-group .hint { font-size:12px; color:#889; margin-top:3px; }
.btn-block { width:100%; padding:12px; font-size:15px; }
.info-line { font-size:13px; color:#889; margin-top:14px; text-align:center; }

/* ---------- 后台认领管理 admin_claims ---------- */
.adm-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; flex-wrap:wrap; gap:10px; }
.adm-head h1 { font-size:22px; color:var(--dark); }
.tabs a { display:inline-block; padding:6px 14px; margin-right:6px; border:1px solid var(--line); border-radius:20px; font-size:13px; color:#445; }
.tabs a.active { background:var(--blue); color:#fff; border-color:var(--blue); }
.adm-table { width:100%; border-collapse:collapse; background:#fff; }
.adm-table th, .adm-table td { padding:10px 12px; border:1px solid var(--line); font-size:14px; text-align:left; vertical-align:top; }
.adm-table th { background:var(--gray); color:#556; font-weight:600; }
.status-tag { display:inline-block; padding:2px 10px; border-radius:12px; font-size:12px; }
.st-0 { background:#fff4e5; color:#b26a00; }
.st-1 { background:#e8f7ee; color:#1e7a3e; }
.st-2 { background:#fdecea; color:#c0392b; }
.mini-btn { display:inline-block; padding:4px 10px; border-radius:5px; font-size:12px; cursor:pointer; border:none; margin-right:4px; }
.mb-ok { background:#1e7a3e; color:#fff; }
.mb-no { background:#c0392b; color:#fff; }

/* ---------- 搜索 search ---------- */
.search-bar { display:flex; gap:10px; max-width:600px; margin-bottom:24px; }
.search-bar input { flex:1; padding:11px 16px; font-size:15px; border:2px solid var(--line); border-radius:6px; outline:none; }
.search-bar input:focus { border-color:var(--blue); }
.result-item { padding:14px 18px; margin-bottom:10px; }
.result-item .name { font-size:16px; font-weight:600; color:var(--blue); text-decoration:none; }
.result-item .name:hover { text-decoration:underline; }
.result-item .meta { font-size:13px; color:#788; margin-top:4px; }
.result-item .excerpt { font-size:14px; color:#556; margin-top:6px; line-height:1.6; }
.res-tag { display:inline-block; font-size:12px; padding:1px 8px; border-radius:10px; margin-right:8px; color:#fff; vertical-align:1px; }
.tag-exh { background:var(--red); }
.tag-doc { background:var(--blue); }
.tag-bbs { background:#0a8f5c; }
.sec-title { font-size:14px; font-weight:700; color:#667; margin:20px 0 10px; text-transform:uppercase; letter-spacing:.5px; }
.empty-guide { background:#f5f9ff; border:1px solid #d6e4ff; border-radius:8px; padding:20px; margin-top:16px; }
.empty-guide h4 { margin:0 0 10px; color:var(--blue); font-size:15px; }
.empty-guide a { color:var(--blue); text-decoration:none; }
.empty-guide a:hover { text-decoration:underline; }


/* ---------- 会员系统（登录/注册/个人中心/收藏/导航） ---------- */
.header nav .nav-auth { color:#9fb0cc; font-size:13px; margin-left:8px; }
.header nav .nav-auth:hover { color:#fff; }
.header nav .nav-reg { }
.header nav .nav-user { color:#fff; font-weight:600; font-size:13px; margin-left:8px; }
.auth-wrap { max-width:420px; margin:40px auto 10px; padding:30px 34px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.04); }
.auth-title { font-size:22px; color:var(--dark); margin-bottom:6px; }
.auth-sub { color:#889; font-size:14px; margin-bottom:20px; }
.auth-form label { display:block; margin-bottom:14px; color:#445; font-size:14px; }
.auth-form input { width:100%; margin-top:5px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; font-size:14px; outline:none; }
.auth-form input:focus { border-color:var(--blue); }
.auth-form .btn-block { width:100%; margin-top:6px; }
.auth-alt { margin-top:18px; text-align:center; font-size:14px; color:#788; }
.auth-alt a { color:var(--blue); }
.alert-err { background:#fdecec; border:1px solid #f5c6c6; color:#b23a3a; padding:10px 14px; border-radius:8px; font-size:14px; margin-bottom:16px; }
.alert-ok { background:#e8f7ee; border:1px solid #bde5cd; color:#2a7d46; padding:10px 14px; border-radius:8px; font-size:14px; margin-bottom:16px; }
.acct-wrap { max-width:1080px; margin:0 auto; }
.acct-title { font-size:24px; color:var(--dark); margin-bottom:20px; }
.acct-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.acct-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px 22px; }
.acct-card h2 { font-size:16px; color:var(--dark); margin-bottom:16px; border-bottom:1px solid var(--line); padding-bottom:10px; }
.acct-level { margin-top:16px; font-size:14px; color:#556; }
.acct-level b { color:var(--blue); }
.acct-logout { display:inline-block; margin-top:14px; color:#b23a3a; font-size:13px; }
.acct-list { list-style:none; margin:0; padding:0; }
.acct-list li { padding:8px 0; border-bottom:1px dashed var(--line); }
.acct-list li:last-child { border-bottom:none; }
.acct-list a { color:var(--dark); font-size:14px; }
.acct-list a:hover { color:var(--blue); }
.muted { color:#9aa; font-size:14px; }
.detail-head .fav-btn, .art-head .fav-btn { margin-top:12px; }
.btn-ghost { background:#fff; border:1px solid var(--blue); color:var(--blue); }
.btn-ghost:hover { background:var(--blue); color:#fff; text-decoration:none; }
/* ===== 供应商大全 (supplier) ===== */
.sup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:20px;}
.sup-card-link{text-decoration:none;color:inherit;display:block;}
.sup-item{padding:16px;margin:0;transition:box-shadow .15s,border-color .15s,transform .1s;height:100%;border:1px solid #e3e8ef;}
.sup-item:hover{border-color:var(--red,#e23b3b);box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px);}
.sup-item-name{font-weight:700;font-size:16px;color:#1a1f2b;margin-bottom:6px;line-height:1.4;}
.sup-item-region{font-size:13px;color:#667;margin-bottom:6px;}
.sup-cert{color:#0a7a3d;background:#e6f6ec;padding:1px 7px;border-radius:10px;font-size:12px;margin-left:4px;white-space:nowrap;}
.sup-item-prods{font-size:13px;color:#445;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sup-item-foot{font-size:12px;color:#889;display:flex;gap:12px;flex-wrap:wrap;}
.back-link{display:inline-block;font-size:14px;color:var(--red,#e23b3b);text-decoration:none;margin-bottom:10px;}
.back-link:hover{text-decoration:underline;}
.detail-h2{font-size:15px;color:#1a1f2b;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #eceff4;font-weight:700;}
.detail-table{width:100%;border-collapse:collapse;font-size:14px;}
.detail-table td{padding:8px 12px;border-bottom:1px solid #f0f2f6;vertical-align:top;line-height:1.6;}
.detail-table td:first-child{width:96px;color:#667;font-weight:600;white-space:nowrap;}
.detail-table a{color:var(--red,#e23b3b);word-break:break-all;}

/* ===== Bootstrap 分页器 (page-item/page-link) ===== */
.pagination{display:flex;justify-content:center;gap:6px;margin-top:24px;flex-wrap:wrap;list-style:none;padding:0;}
.page-item{display:inline-block;margin:0;}
.page-item .page-link{display:block;padding:7px 14px;border:1px solid var(--line,#e3e8ef);border-radius:6px;color:#445;font-size:14px;text-decoration:none;background:#fff;line-height:1.2;min-width:38px;text-align:center;}
.page-item .page-link:hover{color:var(--red,#e23b3b);border-color:var(--red,#e23b3b);}
.page-item.active .page-link{background:var(--red,#e23b3b);color:#fff;border-color:var(--red,#e23b3b);font-weight:700;}
.page-item.disabled .page-link{color:#b9c0cc;cursor:not-allowed;background:#f5f6f8;}
