/* patent-trade2.jsp 专用样式 */
.container { max-width:1280px }
.trade-banner {
    background: linear-gradient(135deg, #1a2e28 0%, #0d2818 30%, #1a2e28 70%, #2C5A4B 100%);
    border-radius: 24px; padding: 40px 44px; margin-bottom: 24px;
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px;
    position: relative; overflow: hidden;
}
.trade-banner::before {
    content: ''; position: absolute; inset: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='1'%3E%3Cpath d='M10 10l60 60M70 10L10 70'/%3E%3C/g%3E%3C/svg%3E") repeat;
    z-index: 0;
}
.trade-banner > * { position: relative; z-index: 1; }
.banner-left h1 { font-size:1.6rem; font-weight:700; color:#fff; margin-bottom:6px; }
.banner-left p { font-size:0.85rem; color:rgba(255,255,255,0.6); max-width:440px; }
.banner-left .marquee { margin-top:16px; display:flex; gap:24px; flex-wrap:wrap; }
.banner-left .marquee .m-item { text-align:center; }
.banner-left .marquee .m-item .num { font-size:1.5rem; font-weight:700; color:#4cd964; }
.banner-left .marquee .m-item .label { font-size:0.72rem; color:rgba(255,255,255,0.45); }
.banner-right { display:flex; gap:10px; flex-wrap:wrap; }
.banner-right .q-btn {
    display:flex; flex-direction:column; align-items:center; gap:4px;
    padding:14px 22px; border-radius:14px; background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.8);
    font-size:0.78rem; cursor:pointer; transition:.2s; min-width:80px;
}
.banner-right .q-btn i { font-size:1.4rem; }
.banner-right .q-btn:hover { background:rgba(255,255,255,0.15); transform:translateY(-2px); }
.banner-right .q-btn.primary { background:var(--accent-orange); border-color:var(--accent-orange); color:#fff; }
.banner-right .q-btn.primary:hover { background:#CF711F; }
.cate-nav { background:var(--white); border-radius:14px; border:1px solid var(--border-light); padding:14px 20px; margin-bottom:16px; }
.cate-row { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; }
.cate-row .label { font-size:0.78rem; color:var(--gray-mid); font-weight:500; margin-right:4px; }
.cate-row a { font-size:0.82rem; color:var(--gray-deep); padding:4px 14px; border-radius:16px; transition:.2s; text-decoration:none; }
.cate-row a:hover { background:var(--brand-light-green); color:var(--brand-green); }
.cate-row a.active { background:var(--brand-green); color:var(--white); font-weight:500; }
.cate-divider { height:20px; width:1px; background:var(--border-light); margin:0 4px; }
.filter-bar { background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); box-shadow:var(--shadow-sm); padding:18px 20px; margin-bottom:20px; }
.filter-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.filter-row .s-input { flex:1; min-width:200px; display:flex; border:1px solid #E4DDCF; border-radius:12px; overflow:hidden; background:#FAFAF7; }
.filter-row .s-input input { flex:1; padding:10px 16px; border:none; background:transparent; font-size:0.9rem; outline:none; }
.filter-row .s-input .ai-btn { padding:0 16px; background:linear-gradient(135deg,var(--accent-orange),#F39C12); color:white; border:none; font-weight:600; cursor:pointer; font-size:0.78rem; display:flex; align-items:center; gap:4px; }
.filter-row .s-input .srch-btn { padding:0 20px; background:var(--brand-green); color:white; border:none; font-weight:600; cursor:pointer; font-size:0.85rem; }
.filter-tags { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.filter-tags .ft { font-size:0.78rem; padding:5px 14px; border-radius:20px; border:1px solid #E4DDCF; color:var(--gray-mid); cursor:pointer; transition:.2s; white-space:nowrap; text-decoration:none; }
.filter-tags .ft:hover, .filter-tags .ft.active { border-color:var(--brand-green); color:var(--brand-green); background:var(--brand-light-green); }
.filter-tags .ft.price { border-color:var(--accent-orange); color:var(--accent-orange); }
.filter-tags .ft.price.active { background:var(--accent-orange); color:white; }
.filter-tags select { font-size:0.78rem; padding:5px 10px; border-radius:20px; border:1px solid #E4DDCF; color:var(--gray-deep); background:var(--white); outline:none; }
.view-switch { display:flex; gap:2px; background:#F5F2EC; border-radius:8px; padding:2px; }
.view-switch i { padding:5px 8px; border-radius:6px; cursor:pointer; font-size:0.85rem; color:var(--gray-mid); }
.view-switch i.active { background:var(--white); color:var(--brand-green); box-shadow:0 1px 3px rgba(0,0,0,0.05); }
.patent-list { display:flex; flex-direction:column; gap:12px; }
.patent-card { background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); box-shadow:var(--shadow-sm); padding:18px 22px; transition:all .25s; cursor:pointer; }
.patent-card:hover { border-color:#DACEB9; box-shadow:0 6px 16px rgba(0,0,0,0.04); }
.pc-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:6px; }
.pc-top .pc-title { font-size:0.95rem; font-weight:600; color:#1F3E3B; flex:1; text-decoration:none; }
.pc-top .pc-title:hover { color:var(--brand-green); }
.pc-top .pc-badges { display:flex; gap:4px; flex-shrink:0; }
.pc-top .pc-badges span { font-size:0.62rem; padding:2px 10px; border-radius:8px; font-weight:600; }
.pc-badge-invention { background:#E3F2FD; color:#1565C0; }
.pc-badge-utility { background:var(--brand-light-green); color:var(--brand-green); }
.pc-badge-design { background:#FFF3E0; color:var(--accent-orange); }
.pc-badge-grant { background:var(--brand-light-green); color:var(--brand-green); }
.pc-badge-pending { background:#FFF8E1; color:#F57F17; }
.pc-abstract { font-size:0.82rem; color:var(--gray-mid); line-height:1.6; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.pc-meta { display:flex; flex-wrap:wrap; gap:12px; font-size:0.75rem; color:#999; margin-bottom:10px; }
.pc-meta span { display:flex; align-items:center; gap:3px; }
.pc-trade-tags { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:10px; }
.pc-trade-tags .tt { font-size:0.68rem; padding:2px 10px; border-radius:8px; }
.pc-trade-tags .tt.transfer { background:#E8F5E9; color:var(--brand-green); }
.pc-trade-tags .tt.license { background:#E3F2FD; color:#1565C0; }
.pc-trade-tags .tt.open { background:#FFF3E0; color:var(--accent-orange); }
.pc-trade-tags .tt.bid { background:#F3E5F5; color:#7B1FA2; }
.pc-trade-tags .tt.entrust-sell { background:#EFEBE9; color:#4E342E; }
.pc-trade-tags .tt.project-badge { background:#E8F5E9; color:#2E7D32; border:1px solid #A5D6A7; }
.pc-foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.pc-price { font-size:1.3rem; font-weight:700; color:var(--accent-orange); }
.pc-price small { font-size:0.75rem; font-weight:400; color:#bbb; }
.pc-actions { display:flex; gap:6px; }
.pc-actions a { padding:5px 14px; border-radius:8px; font-size:0.78rem; text-decoration:none; }
.pc-actions .buy { background:var(--accent-orange); color:white; font-weight:600; }
.pc-actions .buy:hover { background:#CF711F; }
.pc-actions .bid { background:var(--brand-green); color:white; font-weight:600; }
.pc-actions .bid:hover { background:var(--brand-dark-green); }
.pc-actions .chat { border:1px solid #E4DDCF; color:var(--gray-mid); }
.pc-actions .chat:hover { border-color:var(--brand-green); color:var(--brand-green); }
.pc-actions .fav { border:none; color:#ccc; font-size:1rem; padding:5px 6px; cursor:pointer; background:none; }
.pc-actions .fav:hover { color:#E53935; }
.pc-actions .entrust-buy { font-size:0.72rem; color:var(--brand-green); padding:5px 8px; font-weight:500; }
.pc-actions .entrust-buy:hover { color:var(--accent-orange); }
.patent-grid { display:none; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.pg-card { background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); box-shadow:var(--shadow-sm); overflow:hidden; transition:all .25s; }
.pg-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,0.06); }
.pg-head { padding:14px 16px 0; display:flex; gap:6px; flex-wrap:wrap; }
.pg-head span { font-size:0.62rem; padding:2px 10px; border-radius:8px; font-weight:600; }
.pg-body { padding:12px 16px 16px; }
.pg-body h4 { font-size:0.92rem; font-weight:600; color:#1F3E3B; margin-bottom:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; height:44px; }
.pg-body .pg-meta { font-size:0.7rem; color:#999; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:1; overflow:hidden; }
.pg-body .pg-tags { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:10px; }
.pg-body .pg-tags span { font-size:0.65rem; padding:2px 8px; border-radius:6px; background:#F5F2EC; color:var(--gray-mid); }
.pg-body .pg-price { font-size:1.2rem; font-weight:700; color:var(--accent-orange); margin-bottom:10px; }
.pg-body .pg-price small { font-size:0.7rem; font-weight:400; color:#bbb; }
.pg-body .pg-actions { display:flex; gap:6px; }
.pg-body .pg-actions a { flex:1; text-align:center; padding:7px; border-radius:8px; font-size:0.78rem; }
.pg-body .pg-actions .buy { background:var(--accent-orange); color:white; font-weight:600; }
.pg-body .pg-actions .chat { border:1px solid #E4DDCF; color:var(--gray-mid); }
.toolbar { background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); padding:12px 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.toolbar .info { font-size:0.82rem; color:var(--gray-mid); }
.toolbar .info strong { color:var(--brand-green); }
.toolbar .right { display:flex; gap:10px; align-items:center; }
.toolbar .right select { padding:5px 10px; border-radius:8px; border:1px solid #E4DDCF; font-size:0.8rem; color:var(--gray-deep); outline:none; }
.pagination { display:flex; justify-content:center; align-items:center; gap:6px; margin-top:28px; }
.pagination a { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; border:1px solid var(--border-light); text-decoration:none; color:var(--gray-mid); font-size:0.85rem; }
.pagination a:hover { border-color:var(--brand-green); color:var(--brand-green); }
.pagination a.active { background:var(--brand-green); border-color:var(--brand-green); color:white; font-weight:600; }
.zone-section { background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); padding:24px; margin-top:32px; }
.zone-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:8px; }
.zone-header h3 { font-size:1rem; font-weight:600; color:#1F3E3B; display:flex; align-items:center; gap:6px; }
.zone-header .publish-btn { padding:7px 20px; background:var(--accent-orange); color:white; border:none; border-radius:10px; font-size:0.82rem; font-weight:600; cursor:pointer; }
.req-list { display:flex; flex-direction:column; gap:10px; }
.req-card { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-radius:14px; border:1px solid #F0E8DC; background:#FCFAF4; flex-wrap:wrap; gap:8px; }
.req-left { flex:1; min-width:200px; }
.req-left .req-title { font-size:0.88rem; font-weight:600; color:#1F3E3B; margin-bottom:4px; }
.req-left .req-title .req-icon { margin-right:6px; }
.req-left .req-meta { font-size:0.75rem; color:var(--gray-mid); display:flex; gap:16px; flex-wrap:wrap; }
.req-right { display:flex; gap:8px; }
.req-right a { padding:6px 16px; border-radius:8px; font-size:0.78rem; text-decoration:none; }
.req-right .detail { border:1px solid #E4DDCF; color:var(--gray-mid); }
.req-right .bid-btn { background:var(--brand-green); color:white; font-weight:600; }
.guarantee { margin-top:32px; background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); padding:28px 30px; }
.guarantee h3 { font-size:1rem; font-weight:600; color:#1F3E3B; margin-bottom:20px; text-align:center; }
.g-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.g-card { text-align:center; padding:16px 12px; border-radius:14px; background:#FCFAF4; }
.g-card i { font-size:1.6rem; color:var(--brand-green); margin-bottom:6px; }
.g-card h4 { font-size:0.88rem; font-weight:600; color:var(--gray-deep); margin-bottom:4px; }
.g-card p { font-size:0.76rem; color:var(--gray-mid); }
.process { margin-top:24px; background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); padding:24px 28px; }
.process h3 { font-size:1rem; font-weight:600; color:#1F3E3B; text-align:center; margin-bottom:20px; }
.process-steps { display:flex; justify-content:center; align-items:flex-start; gap:4px; flex-wrap:wrap; }
.ps { display:flex; flex-direction:column; align-items:center; text-align:center; min-width:70px; }
.ps .num { width:34px; height:34px; border-radius:50%; background:var(--brand-light-green); color:var(--brand-green); font-weight:700; font-size:0.85rem; display:flex; align-items:center; justify-content:center; margin-bottom:4px; }
.ps .num.done { background:var(--brand-green); color:white; }
.ps .label { font-size:0.68rem; color:var(--gray-mid); max-width:60px; }
.ps-arrow { color:#ddd; font-size:1rem; padding-top:6px; }
.cases { margin-top:32px; }
.cases h3 { font-size:1rem; font-weight:600; color:#1F3E3B; text-align:center; margin-bottom:18px; }
.cases-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.case-card { background:var(--white); border-radius:var(--radius-card); border:1px solid var(--border-light); padding:20px; }
.case-card .case-icon { font-size:1.6rem; margin-bottom:8px; }
.case-card h4 { font-size:0.88rem; font-weight:600; color:#1F3E3B; margin-bottom:6px; }
.case-card .case-meta { font-size:0.75rem; color:var(--gray-mid); line-height:1.7; }
.case-card .case-meta strong { color:var(--accent-orange); }
.hamburger { display:none; font-size:1.4rem; color:var(--brand-green); cursor:pointer; padding:4px 8px; min-height:44px; align-items:center; }
.mobile-overlay { display:none; }
@media (max-width:768px) {
    .hamburger { display:flex; }
    .nav-links { display:none; position:fixed; top:0; right:-280px; width:260px; height:100vh; background:var(--white); flex-direction:column; padding:60px 24px 24px; gap:16px; box-shadow:-4px 0 20px rgba(0,0,0,0.1); z-index:300; transition:right .3s; align-items:flex-start; }
    .nav-links.open { display:flex; right:0; }
    .nav-links a { font-size:1rem; }
    .mobile-overlay.open { display:block; position:fixed; inset:0; background:rgba(0,0,0,0.35); z-index:299; }
    .trade-banner { padding:28px 20px; }
    .banner-right .q-btn { padding:10px 14px; min-width:60px; font-size:0.7rem; }
    .pc-foot { flex-direction:column; align-items:stretch; }
    .pc-actions { justify-content:flex-end; }
    .toolbar { flex-direction:column; align-items:stretch; }
    .cate-row { overflow-x:auto; flex-wrap:nowrap; white-space:nowrap; padding-bottom:4px; -webkit-overflow-scrolling:touch; }
    .cate-row::-webkit-scrollbar { height:2px; }
    .cate-row::-webkit-scrollbar-thumb { background:var(--border-light); border-radius:2px; }
}
@media (max-width:480px) {
    .container { padding:0 16px; }
    .trade-banner { padding:20px 16px; border-radius:16px; }
    .banner-left h1 { font-size:1.2rem; }
    .banner-left p { font-size:0.78rem; }
    .marquee { gap:12px; }
    .m-item .num { font-size:1.1rem; }
    .m-item .label { font-size:0.64rem; }
    .banner-right { gap:6px; }
    .banner-right .q-btn { padding:8px 10px; min-width:54px; font-size:0.65rem; border-radius:10px; }
    .banner-right .q-btn i { font-size:1.1rem; }
    .cate-nav { padding:10px 14px; }
    .filter-bar { padding:12px 14px; }
    .filter-row .s-input { min-width:0; }
    .filter-row .s-input input { font-size:0.82rem; padding:8px 12px; }
    .filter-row .s-input .ai-btn { padding:0 10px; font-size:0.7rem; }
    .filter-row .s-input .srch-btn { padding:0 14px; font-size:0.78rem; }
    .filter-tags .ft { padding:6px 12px; font-size:0.72rem; min-height:32px; }
    .patent-card { padding:14px 16px; }
    .pc-top .pc-title { font-size:0.85rem; }
    .pc-abstract { -webkit-line-clamp:2; }
    .pc-meta { gap:6px; font-size:0.7rem; }
    .pc-price { font-size:1.1rem; }
    .pc-actions a { padding:8px 12px; font-size:0.72rem; min-height:36px; }
    .patent-grid { grid-template-columns:1fr; }
    .toolbar .info { font-size:0.75rem; }
    .pagination a { width:32px; height:32px; font-size:0.78rem; }
    .zone-section { padding:16px; }
    .req-card { padding:12px 14px; }
    .guarantee { padding:20px 16px; }
    .g-grid { grid-template-columns:1fr 1fr; gap:10px; }
    .process { padding:16px; }
    .process-steps { gap:2px; }
    .ps { min-width:56px; }
    .ps .label { font-size:0.6rem; max-width:50px; }
    .ps-arrow { font-size:0.8rem; }
    .cases-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
}
