/* ==================== 基础重置 ==================== */
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;-webkit-text-size-adjust:100%;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#333;background:#f5f6fa;line-height:1.6;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul,ol{list-style:none;}
input,select,textarea,button{font-family:inherit;font-size:inherit;border:none;outline:none;}

/* ==================== 变量 ==================== */
:root{
  --primary:#1a73e8;
  --primary-dark:#1557b0;
  --primary-light:#e8f0fe;
  --accent:#00897b;
  --danger:#e53935;
  --warning:#fb8c00;
  --text:#333;
  --text-light:#666;
  --text-lighter:#999;
  --border:#e0e0e0;
  --bg:#f5f6fa;
  --white:#fff;
  --radius:10px;
  --shadow:0 2px 8px rgba(0,0,0,.08);
  --shadow-lg:0 4px 16px rgba(0,0,0,.12);
}

/* ==================== 顶部导航 ==================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:linear-gradient(135deg,#1a73e8,#1557b0);
  color:#fff;padding:0 .75rem;height:3.25rem;
  display:flex;align-items:center;justify-content:space-between;
  box-shadow:0 2px 6px rgba(26,115,232,.3);
}
.site-logo{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.3rem;white-space:nowrap;}
.site-logo .logo-icon{width:1.5rem;height:1.5rem;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--primary);font-weight:900;}
.site-nav{display:none;gap:1.5rem;align-items:center;}
.site-nav a{font-size:.9rem;opacity:.85;transition:opacity .2s;cursor:pointer;}
.site-nav a:hover,.site-nav a.active{opacity:1;border-bottom:2px solid #fff;padding-bottom:2px;}
.site-phone{display:flex;align-items:center;gap:.3rem;font-size:.85rem;white-space:nowrap;}
.site-phone .phone-icon{font-size:1rem;}

/* search bar */
.search-bar{display:flex;justify-content:center;align-items:center;gap:.5rem;max-width:800px;margin:0 auto .75rem;padding:.5rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);}
.search-bar input{flex:1;min-width:0;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;}
.search-bar button{padding:.6rem 1.2rem;background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s;}
.search-bar button:hover{background:var(--primary-dark);}
#searchResults{width:100%;left:0;right:0;}

/* search bar */
.search-bar{display:flex;justify-content:center;align-items:center;gap:.5rem;max-width:800px;margin:0 auto .75rem;padding:.5rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);}
.search-bar input{flex:1;min-width:0;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;}
.search-bar button{padding:.6rem 1.2rem;background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s;}
.search-bar button:hover{background:var(--primary-dark);}
#searchResults{width:100%;left:0;right:0;}

/* 移动端菜单按钮 */
.menu-toggle{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:6px;}
.menu-toggle span{width:22px;height:2px;background:#fff;border-radius:2px;transition:.3s;}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.menu-toggle.active span:nth-child(2){opacity:0;}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* 移动端抽屉菜单 */
.mobile-nav{display:none;position:fixed;top:3.25rem;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:99;}
.mobile-nav.open{display:block;}
.mobile-nav-inner{background:#fff;width:75%;max-width:300px;height:calc(100vh - 3.25rem);padding:1rem 0;overflow-y:auto;animation:slideIn .25s ease;}
@keyframes slideIn{from{transform:translateX(-100%);}to{transform:translateX(0);}}
.mobile-nav-inner a{display:block;padding:.85rem 1.25rem;font-size:.95rem;color:#333;border-bottom:1px solid #f0f0f0;transition:background .2s;}
.mobile-nav-inner a:hover,.mobile-nav-inner a.active{background:var(--primary-light);color:var(--primary);}
.mobile-nav-inner .nav-section-title{padding:.6rem 1.25rem;font-size:.75rem;color:#999;font-weight:600;text-transform:uppercase;}

/* ==================== 主内容区 ==================== */
.main-content{padding-bottom:4rem;}

/* Banner */
.hero-banner{background:linear-gradient(135deg,#1a73e8 0%,#0d47a1 100%);color:#fff;padding:1.5rem .75rem 2rem;text-align:center;}
.hero-banner h1{font-size:1.5rem;margin-bottom:.5rem;}
.hero-banner p{font-size:.85rem;opacity:.9;margin-bottom:1rem;}
.hero-banner .hero-phone{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--primary);font-weight:700;font-size:1.1rem;padding:.6rem 1.5rem;border-radius:30px;box-shadow:0 4px 12px rgba(0,0,0,.2);}

/* 搜索栏 */
.search-bar{margin:-1.5rem .75rem 0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.75rem;display:flex;gap:.5rem;position:relative;z-index:10;}
.search-bar input{flex:1;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;}
.search-bar button{background:var(--primary);color:#fff;padding:.6rem 1.2rem;border-radius:8px;font-size:.9rem;cursor:pointer;white-space:nowrap;}

/* 区块通用 */
.section{padding:1.25rem .75rem;}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;}
.section-title{font-size:1.1rem;font-weight:700;color:#333;display:flex;align-items:center;gap:.4rem;}
.section-title::before{content:'';width:4px;height:18px;background:var(--primary);border-radius:2px;}
.section-more{font-size:.8rem;color:var(--primary);}

/* 医院卡片 */
.hospital-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:.75rem;overflow:hidden;transition:transform .2s,box-shadow .2s;display:block;}
.hospital-card:active{transform:scale(.98);}
.hospital-card-body{padding:.85rem;}
.hospital-card h3{font-size:1rem;margin-bottom:.4rem;color:#333;}
.hospital-card .hospital-info{font-size:.8rem;color:var(--text-light);display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin-bottom:.5rem;}
.hospital-card .hospital-info span{display:flex;align-items:center;gap:.2rem;}
.hospital-card .price{color:var(--danger);font-weight:700;font-size:1.1rem;}
.hospital-card .book-btn{display:inline-block;background:var(--primary);color:#fff;padding:.4rem 1rem;border-radius:6px;font-size:.85rem;margin-top:.5rem;}

/* 省份标签 */
.province-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;}
.province-tags a{font-size:.8rem;background:#fff;color:#333;padding:.35rem .7rem;border-radius:6px;border:1px solid var(--border);transition:.2s;cursor:pointer;}
.province-tags a:hover,.province-tags a.active{background:var(--primary);color:#fff;border-color:var(--primary);}

/* PET-CT用途 */
.usage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;}
.usage-item{background:#fff;border-radius:var(--radius);padding:1rem .75rem;text-align:center;box-shadow:var(--shadow);}
.usage-item .usage-icon{width:3rem;height:3rem;margin:0 auto .5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.usage-item:nth-child(1) .usage-icon{background:#e3f2fd;color:#1976d2;}
.usage-item:nth-child(2) .usage-icon{background:#fce4ec;color:#c62828;}
.usage-item:nth-child(3) .usage-icon{background:#e8f5e9;color:#2e7d32;}
.usage-item:nth-child(4) .usage-icon{background:#fff3e0;color:#ef6c00;}
.usage-item h4{font-size:.9rem;margin-bottom:.3rem;}
.usage-item p{font-size:.75rem;color:var(--text-light);}

/* ==================== 注意事项并排布局 ==================== */
.notice-grid{display:grid;grid-template-columns:1fr;gap:.75rem;}
.notice-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem;}
.notice-card h3{font-size:.95rem;color:var(--primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.3rem;}
.notice-card ol{padding-left:1.2rem;}
.notice-card ol li{font-size:.83rem;color:var(--text-light);margin-bottom:.3rem;}

/* 资讯列表 */
.news-list .news-item{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem;margin-bottom:.6rem;display:block;}
.news-list .news-item h3{font-size:.92rem;margin-bottom:.3rem;color:#333;line-height:1.4;}
.news-list .news-item p{font-size:.8rem;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.news-list .news-item .news-meta{font-size:.72rem;color:var(--text-lighter);margin-top:.4rem;display:flex;gap:.8rem;}

/* ==================== 预约表单 ==================== */
.booking-page{padding:1rem .75rem;}
.booking-form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1.25rem 1rem;}
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:#333;margin-bottom:.4rem;}
.form-group label .required{color:var(--danger);}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;transition:border-color .2s;background:#fff;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,115,232,.1);}
.form-group textarea{resize:vertical;min-height:80px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.form-tips{background:var(--primary-light);border-radius:8px;padding:.75rem;font-size:.8rem;color:var(--primary-dark);margin-bottom:1rem;}
.form-tips h4{font-size:.85rem;margin-bottom:.3rem;}
.form-tips ul{padding-left:1rem;}
.form-tips li{margin-bottom:.2rem;}
.submit-btn{width:100%;background:var(--primary);color:#fff;padding:.85rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;border:none;}
.submit-btn:active{background:var(--primary-dark);}
.submit-btn:disabled{background:#ccc;cursor:not-allowed;}

/* 预约成功提示 */
.success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:1.5rem 2rem;text-align:center;box-shadow:var(--shadow-lg);z-index:1000;display:none;min-width:260px;}
.success-toast.show{display:block;animation:popIn .3s ease;}
@keyframes popIn{from{transform:translate(-50%,-50%) scale(.8);opacity:0;}to{transform:translate(-50%,-50%) scale(1);opacity:1;}}
.success-toast .check-icon{width:3.5rem;height:3.5rem;background:#4caf50;border-radius:50%;margin:0 auto .75rem;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;}
.success-toast h3{font-size:1.1rem;margin-bottom:.3rem;}
.success-toast p{font-size:.85rem;color:var(--text-light);}

/* ==================== 详情页 ==================== */
.detail-page{padding:0;}
.detail-header{background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff;padding:1.25rem .75rem;}
.detail-header h1{font-size:1.2rem;margin-bottom:.4rem;}
.detail-header .detail-meta{font-size:.82rem;opacity:.9;display:flex;flex-wrap:wrap;gap:.3rem .8rem;}
.detail-content{padding:1rem .75rem;}
.detail-content section{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:.75rem;}
.detail-content h2{font-size:1rem;color:var(--primary);margin-bottom:.6rem;border-bottom:1px solid var(--border);padding-bottom:.4rem;}
.detail-content p{font-size:.88rem;color:var(--text-light);margin-bottom:.5rem;line-height:1.7;}
.detail-info-row{display:flex;padding:.4rem 0;border-bottom:1px solid #f5f5f5;font-size:.88rem;}
.detail-info-row:last-child{border-bottom:none;}
.detail-info-row .label{width:90px;color:var(--text-lighter);flex-shrink:0;}
.detail-info-row .value{flex:1;color:#333;}
.detail-info-row .value.price{color:var(--danger);font-weight:700;font-size:1.1rem;}

/* 底部预约浮动栏 */
.booking-float{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;border-top:1px solid var(--border);padding:.6rem .75rem;display:flex;gap:.75rem;align-items:center;box-shadow:0 -2px 8px rgba(0,0,0,.08);}
.booking-float .float-phone{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:.9rem;font-weight:600;color:var(--primary);}
.booking-float .float-book-btn{flex:2;background:var(--primary);color:#fff;text-align:center;padding:.75rem;border-radius:8px;font-size:.95rem;font-weight:600;}

/* ==================== 底部 ==================== */
.site-footer{background:#1a237e;color:rgba(255,255,255,.7);padding:1.5rem .75rem;text-align:center;font-size:.8rem;}
.site-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .8rem;margin-bottom:.75rem;}
.site-footer .footer-links a:hover{color:#fff;}
.site-footer .copyright{font-size:.72rem;color:rgba(255,255,255,.5);}

/* ==================== 响应式 ==================== */
@media(min-width:768px){
  .menu-toggle{display:none;}
  .site-nav{display:flex;}
  .hero-banner{padding:2.5rem 2rem 3rem;}
  .hero-banner h1{font-size:2rem;}
  .hero-banner p{font-size:1rem;}
  .search-bar{margin:-2rem auto 0;max-width:600px;}
  .section{padding:1.5rem 2rem;max-width:960px;margin:0 auto;}
  .usage-grid{grid-template-columns:repeat(4,1fr);}
  .notice-grid{grid-template-columns:repeat(2,1fr);}
  .hospital-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;}
  .news-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;}
  .booking-form{max-width:600px;margin:0 auto;}
  .detail-content{max-width:800px;margin:0 auto;}
  .booking-float{max-width:800px;left:50%;transform:translateX(-50%);border-radius:12px 12px 0 0;}
  .main-content{padding-bottom:5rem;}
}

@media(min-width:1024px){
  .section{max-width:1200px;}
  .hospital-list{grid-template-columns:repeat(5,1fr);}
  .news-list{grid-template-columns:repeat(5,1fr);}
}

/* ==================== 加载动画 ==================== */
.loading{text-align:center;padding:2rem;color:var(--text-lighter);font-size:.85rem;}
.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle;}
@keyframes spin{to{transform:rotate(360deg);}}

/* 空状态 */
.empty{text-align:center;padding:3rem 1rem;color:var(--text-lighter);}
.empty .empty-icon{font-size:2.5rem;margin-bottom:.5rem;}
.empty p{font-size:.85rem;}

/* 通用工具类 */
.text-primary{color:var(--primary);}
.text-danger{color:var(--danger);}
.text-center{text-align:center;}
.mt-1{margin-top:.5rem;}
.mt-2{margin-top:1rem;}
.mb-1{margin-bottom:.5rem;}
.mb-2{margin-bottom:1rem;}
.hidden{display:none!important;}

/* ==================== 分页 ==================== */
.pagination{display:flex;justify-content:center;align-items:center;gap:.3rem;padding:1.5rem 0;flex-wrap:wrap;}
.pagination .page-btn{
  min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:6px;background:#fff;
  font-size:.85rem;color:var(--text-light);cursor:pointer;transition:all .2s;
  padding:0 .5rem;
}
.pagination .page-btn:hover{border-color:var(--primary);color:var(--primary);}
.pagination .page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.pagination .page-btn.disabled{color:var(--text-lighter);cursor:not-allowed;border-color:var(--border);}
.pagination .page-btn.disabled:hover{border-color:var(--border);color:var(--text-lighter);}
.pagination .page-info{font-size:.8rem;color:var(--text-lighter);margin-left:.5rem;}
