/* common.css - 全站基础样式 */
:root{
  --primary:#0d6efd;        /* 医疗主蓝 */
  --primary-dark:#0a58ca;
  --primary-soft:#e7f1ff;
  --accent:#00a99d;         /* 辅助青 */
  --danger:#dc3545;
  --warn:#f59e0b;
  --dark:#0a1628;
  --gray-900:#1f2937;
  --gray-700:#4b5563;
  --gray-500:#6b7280;
  --gray-300:#d1d5db;
  --gray-100:#f3f4f6;
  --light:#f8fafc;
  --white:#ffffff;
  --radius:10px;
  --radius-sm:6px;
  --shadow:0 6px 18px rgba(13,110,253,.08);
  --shadow-lg:0 12px 32px rgba(13,110,253,.12);
  /* 字体规格：注释12 / 正文14 / 标题16 */
  --font-tiny:12px;
  --font-base:14px;
  --font-title:16px;
  --font-h3:18px;
  --font-h2:22px;
  --font-h1:28px;
  --font-hero:36px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;font-size:var(--font-base);line-height:1.7;color:var(--gray-900);background:var(--white);-webkit-font-smoothing:antialiased}
.site-protect,.site-protect *{-webkit-user-select:none!important;user-select:none!important}
a{color:var(--primary);text-decoration:none;transition:.2s}
a:hover{color:var(--primary-dark)}
img{max-width:100%;display:block}
ul,ol{list-style:none}
.container{max-width:1400px;margin:0 auto;padding:0 24px}
.section{padding:64px 0}
.section-title{font-size:var(--font-h1);color:var(--dark);text-align:center;margin-bottom:8px;font-weight:700}
.section-subtitle{font-size:var(--font-base);color:var(--gray-500);text-align:center;margin-bottom:40px}
.section-title::after{content:"";display:block;width:48px;height:3px;background:var(--primary);margin:12px auto 0;border-radius:2px}
.btn{display:inline-block;padding:10px 26px;font-size:var(--font-base);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:1px solid transparent;transition:.2s;text-align:center}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-outline-light{border:1px solid #fff;color:#fff;background:transparent}
.btn-outline-light:hover{background:#fff;color:var(--primary)}
.btn-outline{border:1px solid var(--primary);color:var(--primary);background:transparent}
.btn-outline:hover{background:var(--primary);color:#fff}
.hardware-detail-link-wrap{display:flex;justify-content:center;margin-top:32px}
.hardware-detail-link{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 40px;border-radius:999px;border:1px solid #00a99d;background:#fff;color:#008b83;font-size:18px;font-weight:800;box-shadow:0 10px 24px rgba(0,169,157,.12);transition:.2s}
.hardware-detail-link:hover{background:#00a99d;color:#fff;transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,169,157,.2)}
.floating-service{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:999}
.floating-service .service-list{display:grid;gap:10px}
.floating-service .service-item{position:relative;width:50px;height:50px;border:0;border-radius:50%;background:#fff;color:var(--dark);box-shadow:0 8px 24px rgba(10,22,40,.13);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s}
.floating-service .service-item:hover,.floating-service .service-item.is-active{background:var(--primary);color:#fff;box-shadow:0 12px 30px rgba(13,110,253,.22)}
.floating-service .service-item.service-top{display:none;background:rgba(10,22,40,.72);color:#fff}
.floating-service .service-item.service-top:hover{background:rgba(10,22,40,.9)}
.service-icon{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.floating-popup{position:absolute;right:70px;top:50%;transform:translateY(-50%) translateX(16px);width:220px;padding:16px;border-radius:8px;background:#fff;color:var(--gray-900);box-shadow:0 14px 36px rgba(10,22,40,.18);opacity:0;visibility:hidden;pointer-events:none;transition:.22s}
.floating-popup.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) translateX(0)}
.floating-popup::after{content:"";position:absolute;right:-9px;top:50%;transform:translateY(-50%);border-width:9px 0 9px 9px;border-style:solid;border-color:transparent transparent transparent #fff}
.floating-service .popup-close{position:absolute;right:8px;top:8px;width:24px;height:24px;border:0;border-radius:50%;background:#fff;color:var(--gray-500);font-size:18px;line-height:1;cursor:pointer}
.floating-service .popup-close:hover{color:var(--dark)}
.floating-service .wechat-qrcode{width:100%;border-radius:6px}
.floating-popup p{font-size:14px;color:var(--gray-700);text-align:center;margin-top:10px}
.floating-popup h4{font-size:16px;color:var(--dark);margin:0 28px 10px 0;line-height:1.4}
.floating-service .contact-form-popup{width:290px}
.floating-service .quick-contact-form{display:grid;gap:10px}
.floating-service .quick-contact-form input,.floating-service .quick-contact-form textarea{width:100%;border:1px solid var(--gray-300);border-radius:6px;padding:8px 10px;font:inherit;font-size:14px;color:var(--gray-900);background:#fff}
.floating-service .quick-contact-form textarea{height:78px;resize:none}
.floating-service .quick-intent-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.floating-service .quick-intent-options label{display:flex;align-items:center;gap:6px;min-height:34px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;padding:0 8px;font-size:13px;color:var(--gray-800);cursor:pointer}
.floating-service .quick-intent-options input{width:14px;height:14px;accent-color:var(--primary)}
.floating-service .captcha-group{display:flex;gap:8px}
.floating-service .captcha-group input{min-width:0;flex:1}
.floating-service .captcha-image{width:104px;height:40px;border:1px solid var(--gray-300);border-radius:6px;object-fit:cover;cursor:pointer;background:var(--gray-100)}
.floating-service .submit-btn{height:38px;border:0;border-radius:6px;background:var(--primary);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:.2s}
.floating-service .submit-btn:hover{background:var(--primary-dark)}
.floating-service .submit-btn.is-loading{opacity:.75;cursor:not-allowed}
.floating-service .quick-contact-feedback{display:none;border-left:3px solid var(--primary);border-radius:4px;background:var(--primary-soft);padding:7px 9px;font-size:12px;line-height:1.5;color:var(--gray-700)}
.floating-service .quick-contact-feedback.success{display:block;border-color:#16a34a;background:#e8fff0;color:#166534}
.floating-service .quick-contact-feedback.error{display:block;border-color:var(--danger);background:#fff1f2;color:#991b1b}
.floating-service .service-phone-link{display:flex;align-items:center;justify-content:center;height:34px;margin-top:10px;border-radius:999px;background:var(--primary);color:#fff;font-size:14px;font-weight:700}
.floating-service .service-phone-link:hover{background:var(--primary-dark);color:#fff}
.floating-contact-frame{display:none;width:0;height:0;border:0}
.badge{display:inline-block;padding:4px 10px;font-size:var(--font-tiny);background:var(--primary-soft);color:var(--primary);border-radius:99px;font-weight:600}
.badge-red{background:#fde8eb;color:var(--danger)}
.badge-green{background:#dcfce7;color:#15803d}
.tag{display:inline-block;padding:4px 10px;font-size:var(--font-tiny);background:var(--gray-100);color:var(--gray-700);border-radius:4px;margin:4px 6px 0 0}
.tag-primary{background:var(--primary-soft);color:var(--primary)}
.card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius);padding:24px;transition:.25s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-soft)}
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.bg-light{background:var(--light)}
.bg-dark{background:var(--dark);color:#fff}
.bg-gradient{background:linear-gradient(135deg,#0a1628 0%,#1a2a4a 60%,var(--primary) 100%);color:#fff}
.text-center{text-align:center}
.text-primary{color:var(--primary)}
.text-danger{color:var(--danger)}
.text-muted{color:var(--gray-500)}
.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}
@media(max-width:992px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .section{padding:48px 0}
  .section-title{font-size:24px}
}
@media(max-width:600px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .section{padding:36px 0}
  .floating-service{display:none}
}
