/* tx-style.css — 天下智旅 C端公共样式 v1 */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --primary:#0EA5E9;--primary-dark:#0284C7;--primary-light:#38BDF8;
  --accent:#F97316;--accent-dark:#EA580C;
  --bg:#f8fafc;--bg-alt:#f1f5f9;
  --card:#fff;--text:#1e293b;--text-light:#64748b;--text-lighter:#94a3b8;
  --border:#e2e8f0;--radius:14px;--radius-sm:10px;
  --shadow:0 2px 12px rgba(0,0,0,.06);--shadow-lg:0 8px 30px rgba(0,0,0,.1);
  --gradient:linear-gradient(135deg,#0EA5E9,#0284C7);
  --gradient-warm:linear-gradient(135deg,#F97316,#EA580C)
}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
input,button,select{font-family:inherit;font-size:1rem}

/* Nav mount spacer (nav is fixed) */
#nav-mount{height:68px}

/* Container */
.tx-container{max-width:1200px;margin:0 auto;padding:0 20px}
.tx-container-sm{max-width:680px;margin:0 auto;padding:0 20px}

/* Section */
.tx-section{padding:48px 0}
.tx-section-title{font-size:1.8rem;font-weight:800;text-align:center;margin-bottom:8px;color:var(--text)}
.tx-section-sub{text-align:center;color:var(--text-light);margin-bottom:36px;font-size:1.05rem}

/* Buttons */
.tx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 28px;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center}
.tx-btn-primary{background:var(--gradient);color:#fff}
.tx-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(14,165,233,.3)}
.tx-btn-primary:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}
.tx-btn-accent{background:var(--gradient-warm);color:#fff}
.tx-btn-accent:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(249,115,22,.3)}
.tx-btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}
.tx-btn-outline:hover{background:var(--primary);color:#fff}
.tx-btn-ghost{background:transparent;color:var(--text-light);padding:8px 16px}
.tx-btn-ghost:hover{background:var(--bg-alt);color:var(--text)}
.tx-btn-block{width:100%}

/* Cards */
.tx-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s}
.tx-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

/* Forms */
.tx-form-group{margin-bottom:18px}
.tx-form-group label{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px;color:var(--text)}
.tx-form-group input,.tx-form-group select,.tx-form-group textarea{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:border-color .2s;background:#fff}
.tx-form-group input:focus,.tx-form-group select:focus,.tx-form-group textarea:focus{outline:none;border-color:var(--primary)}
.tx-form-group textarea{resize:vertical;min-height:80px}

/* Tags */
.tx-tag{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.78rem;font-weight:500}
.tx-tag-blue{background:#E0F2FE;color:#0369A1}
.tx-tag-green{background:#DCFCE7;color:#15803D}
.tx-tag-orange{background:#FFEDD5;color:#C2410C}
.tx-tag-gray{background:#F1F5F9;color:#475569}
.tx-tag-red{background:#FEE2E2;color:#B91C1C}

/* Badge */
.tx-badge{position:absolute;top:12px;left:12px;background:rgba(14,165,233,.92);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;backdrop-filter:blur(4px)}

/* Empty */
.tx-empty{text-align:center;padding:60px 20px;color:var(--text-light)}
.tx-empty h3{font-size:1.2rem;margin-bottom:8px;color:var(--text)}
.tx-empty p{font-size:.95rem}

/* Modal */
.tx-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.tx-modal-overlay.show{display:flex}
.tx-modal{background:#fff;border-radius:var(--radius);max-width:720px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.tx-modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:1}
.tx-modal-header h3{font-size:1.3rem;font-weight:700}
.tx-modal-close{font-size:1.5rem;cursor:pointer;color:var(--text-light);background:none;border:none;padding:0 8px;line-height:1}
.tx-modal-body{padding:24px}

/* Tab Bar */
.tx-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:28px;overflow-x:auto}
.tx-tabs button{padding:12px 24px;border:none;background:none;font-size:1rem;font-weight:600;color:var(--text-light);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}
.tx-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}

/* Reveal animation */
.tx-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
.tx-reveal.visible{opacity:1;transform:translateY(0)}

/* Responsive */
@media(max-width:768px){
  .tx-section{padding:32px 0}
  .tx-section-title{font-size:1.4rem}
}
