/* ============ 全局变量 ============ */
:root{
	--primary:#0074FF;
	--primary-light:#EAF2FF;
	--primary-dark:#0059CC;
	--text-dark:#1a1a2e;
	--text-gray:#7a7a8c;
	--text-light:#999;
	--border:#eef0f5;
	--card:#ffffff;
	--body-bg:#f4f6fb;
	--up:#01BD9B;
	--down:#EF4444;
	--radius:12px;
	--shadow:0 4px 16px rgba(26,26,46,0.06);
}

/* ============ Reset 与基础 ============ */
*{ margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body{ height:100%; }
body{
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
	background-color:#f4f6fb;
	background-image:url(/images/bg-global.webp);
	background-repeat:no-repeat; background-position:center top; background-size:cover; background-attachment:fixed;
	color:var(--text-dark); font-size:14px; line-height:1.5; overflow-x:clip;
}
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; }
.main{ max-width:1280px; margin:0 auto; padding:16px 16px 0; }
@media(max-width:768px){ .main{ padding:12px 12px 0; } }

/* ============ 频道页头 ============ */
.page-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; flex-wrap:wrap; }
.ph-info{ flex:1; min-width:0; }
.page-head h3{ font-size:20px; font-weight:800; line-height:1.3; }

/* ============ 检索框 ============ */
.fr-search{ display:flex; align-items:center; gap:0; background:var(--card); border:1px solid var(--border); border-radius:20px; padding:0 6px 0 10px; flex:1 1 100%; min-width:0; box-shadow:var(--shadow); }
.fr-search .search-icon{ width:15px; height:15px; color:var(--text-light); flex-shrink:0; }
.fr-search input{ flex:1; border:none; background:transparent; outline:none; padding:8px 6px; font-size:14.6px; color:var(--text-dark); min-width:0; }
.fr-search button{ border:none; background:var(--primary); color:#fff; border-radius:16px; padding:6px 16px; font-size:14.6px; font-weight:600; cursor:pointer; flex-shrink:0; white-space:nowrap; }
.fr-search button:hover{ background:var(--primary-dark); }

/* ============ 桌面端适配 ============ */
@media(min-width:768px){
	.page-head h3{ font-size:24px; }
	.fr-search{ flex:0 0 auto; width:calc(50% - 7px); min-width:280px; margin-left:auto; }
}

/* ============ 约个软件 按钮 ============ */
.custom-software-btn{
	display:inline-flex; align-items:center; gap:6px; flex-shrink:0;
	padding:9px 18px; border:none; border-radius:20px; cursor:pointer;
	background:linear-gradient(135deg,var(--primary) 0%,#7B3FF2 100%);
	color:#fff; font-size:14px; font-weight:600; line-height:1.4;
	box-shadow:0 4px 12px rgba(0,116,255,.25); transition:all .2s;
}
.custom-software-btn:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,116,255,.35); }
.custom-software-btn:active{ transform:translateY(0); }

/* ============ 约个软件 弹窗 ============ */
.software-order-modal{
	position:fixed; top:0; left:0; right:0; bottom:0; z-index:9998;
	background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center;
	padding:24px; box-sizing:border-box; overflow-y:auto;
}
.software-order-box{
	position:relative; background:#fff; border-radius:16px;
	padding:26px 24px 24px; max-width:520px; width:100%; box-sizing:border-box;
	max-height:92vh; overflow-y:auto;
	box-shadow:0 12px 40px rgba(0,0,0,.18);
}
.software-order-close{
	position:absolute; top:12px; right:12px; width:30px; height:30px;
	border:none; background:#f0f1f3; color:#666; font-size:18px;
	border-radius:50%; cursor:pointer; line-height:30px; text-align:center;
}
.software-order-close:hover{ background:#e2e4e8; color:#222; }
.software-order-head{ margin-bottom:12px; }
.software-order-title{ font-size:20px; font-weight:800; color:#222; }
.software-order-sub{ font-size:13px; color:#7B3FF2; font-weight:600; margin-top:2px; }
.software-order-desc{
	font-size:13px; color:#555; line-height:1.75; margin-bottom:18px;
	background:linear-gradient(135deg,var(--primary-light),#F3ECFF);
	border-radius:10px; padding:12px 14px;
}
.software-order-desc .highlight{ color:var(--primary); font-weight:700; }
.software-form-group{ margin-bottom:16px; }
.software-form-group label{ display:block; font-size:14px; color:#333; font-weight:600; margin-bottom:6px; }
.software-form-group .required{ color:#dc2626; font-weight:600; }
.software-form-group .optional{ font-size:12px; color:#999; font-weight:400; }
.software-form-group input,.software-form-group textarea{
	width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:10px;
	font-size:14px; color:#222; box-sizing:border-box; font-family:inherit;
	transition:border-color .2s;
}
.software-form-group input:focus,.software-form-group textarea:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-light); }
.software-form-group textarea{ min-height:120px; resize:vertical; line-height:1.6; }
.software-char-count{ font-size:12px; color:#a0a6b0; text-align:right; margin-top:4px; }
.software-order-submit{
	width:100%; padding:12px; border:none; border-radius:10px; cursor:pointer;
	background:linear-gradient(135deg,var(--primary) 0%,#7B3FF2 100%);
	color:#fff; font-size:15px; font-weight:700; transition:all .2s;
}
.software-order-submit:hover{ box-shadow:0 6px 18px rgba(0,116,255,.3); transform:translateY(-1px); }
.software-order-submit:disabled{ opacity:.6; cursor:not-allowed; transform:none; box-shadow:none; }
