/* ============================================================
   上海芠悦护理院 官方网站样式表（原创编写，无第三方模板/框架）
   作者：站点建设交付团队   版本：1.0
   ============================================================ */
:root{
  --c-primary:#1f9e8a;        /* 主色：疗愈青绿 */
  --c-primary-dark:#157a6b;
  --c-primary-light:#e6f5f2;
  --c-accent:#e8a33d;         /* 点缀：温暖金 */
  --c-accent-dark:#cf8a23;
  --c-bg:#f7f5f0;             /* 页面暖底 */
  --c-surface:#ffffff;
  --c-ink:#2d3748;            /* 主文字 */
  --c-ink-soft:#5b6776;       /* 次文字 */
  --c-line:#e7e3da;           /* 分隔线 */
  --c-danger:#d9534f;
  --radius:10px;
  --shadow:0 6px 22px rgba(31,158,138,.10);
  --shadow-strong:0 12px 34px rgba(45,55,72,.16);
  --maxw:1200px;
  --header-h:72px;
  --font:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Helvetica Neue",Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  color:var(--c-ink);
  background:var(--c-bg);
  line-height:1.75;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s}
ul{list-style:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section-sm{padding:40px 0}
.bg-white{background:var(--c-surface)}
.bg-soft{background:var(--c-primary-light)}
.text-center{text-align:center}

/* ---------- 标题与文字 ---------- */
.h-title{font-size:30px;font-weight:800;color:var(--c-ink);position:relative;display:inline-block}
.h-title::after{content:"";position:absolute;left:0;bottom:-12px;width:48px;height:4px;background:var(--c-accent);border-radius:2px}
.h-title.center{display:block;text-align:center}
.h-title.center::after{left:50%;transform:translateX(-50%)}
.sub-title{color:var(--c-ink-soft);margin-top:22px;font-size:16px}
.lead{color:var(--c-ink-soft);font-size:17px}
.muted{color:var(--c-ink-soft)}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:50px;font-weight:600;cursor:pointer;border:2px solid transparent;transition:.22s;font-size:15px}
.btn-primary{background:var(--c-primary);color:#fff}
.btn-primary:hover{background:var(--c-primary-dark);box-shadow:var(--shadow)}
.btn-accent{background:var(--c-accent);color:#fff}
.btn-accent:hover{background:var(--c-accent-dark)}
.btn-ghost{background:transparent;border-color:var(--c-primary);color:var(--c-primary)}
.btn-ghost:hover{background:var(--c-primary);color:#fff}
.btn-lg{padding:15px 34px;font-size:17px}

/* ============================================================
   顶部导航
   ============================================================ */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);box-shadow:0 2px 14px rgba(45,55,72,.07)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.logo{display:flex;align-items:center;gap:12px}
.logo .mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:20px;box-shadow:var(--shadow)}
.logo .name{font-size:20px;font-weight:800;color:var(--c-ink);line-height:1.2}
.logo .name small{display:block;font-size:11px;font-weight:500;color:var(--c-ink-soft);letter-spacing:2px}

.main-nav{display:flex;align-items:center;gap:4px}
.main-nav>li{position:relative}
.main-nav>li>a{display:block;padding:24px 16px;font-size:16px;font-weight:600;color:var(--c-ink)}
.main-nav>li>a:hover,.main-nav>li.active>a{color:var(--c-primary)}
.main-nav>li.active>a::after{content:"";position:absolute;left:16px;right:16px;bottom:14px;height:3px;background:var(--c-accent);border-radius:2px}
.dropdown{position:absolute;top:100%;left:0;min-width:200px;background:#fff;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-strong);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;padding:8px 0}
.main-nav li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;padding:11px 20px;font-size:15px;color:var(--c-ink-soft);border-left:3px solid transparent}
.dropdown a:hover{background:var(--c-primary-light);color:var(--c-primary);border-left-color:var(--c-primary)}

.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:3px;background:var(--c-ink);border-radius:2px;transition:.25s}
.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* 顶部快捷联系条 */
.topbar{background:var(--c-primary-dark);color:#eafaf6;font-size:13px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar a:hover{color:var(--c-accent)}
.topbar .tb-left span{margin-right:18px}

/* ============================================================
   首页 Hero
   ============================================================ */
.hero{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.55)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(21,122,107,.85),rgba(31,158,138,.45))}
.hero .container{position:relative;z-index:2;width:100%}
.hero h1{font-size:46px;font-weight:800;line-height:1.25;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero .tag{display:inline-block;background:rgba(255,255,255,.18);padding:6px 16px;border-radius:50px;font-size:14px;margin-bottom:18px;letter-spacing:1px}
.hero p{font-size:18px;margin:20px 0 30px;max-width:620px}
.hero .hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:40px;margin-top:42px;flex-wrap:wrap}
.hero-stats .stat strong{font-size:32px;color:#fff;display:block}
.hero-stats .stat span{font-size:14px;opacity:.92}

/* 搜索/快捷卡片 */
.quick-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:-44px;position:relative;z-index:5}
.quick-card{background:#fff;border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow);transition:.25s;border:1px solid var(--c-line)}
.quick-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-strong)}
.quick-card .ic{width:52px;height:52px;border-radius:14px;background:var(--c-primary-light);color:var(--c-primary);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px}
.quick-card h3{font-size:18px;margin-bottom:6px}
.quick-card p{font-size:14px;color:var(--c-ink-soft)}

/* 通用栅格 */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* 卡片 */
.card{background:var(--c-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--c-line);transition:.25s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-strong)}
.card .card-body{padding:22px}
.card .card-body h3{font-size:19px;margin-bottom:8px}
.card .card-body p{color:var(--c-ink-soft);font-size:15px}
.card .thumb{height:180px;background:var(--c-primary-light);overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .tag-row{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:12px;background:var(--c-primary-light);color:var(--c-primary);padding:3px 10px;border-radius:50px}

/* 特色/优势 */
.feature{display:flex;gap:18px;align-items:flex-start;padding:20px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--c-line)}
.feature .num{flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:var(--c-primary);color:#fff;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center}
.feature h3{font-size:18px;margin-bottom:6px}
.feature p{font-size:14px;color:var(--c-ink-soft)}

/* 关于段落 + 图片 */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.split img{border-radius:var(--radius);box-shadow:var(--shadow)}
.split .eyebrow{color:var(--c-primary);font-weight:700;letter-spacing:2px;font-size:13px;text-transform:uppercase}
.split h2{font-size:28px;margin:10px 0 16px;font-weight:800}
.split p{color:var(--c-ink-soft);margin-bottom:14px}

/* 服务流程步骤 */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step{background:#fff;border-radius:var(--radius);padding:28px 22px;text-align:center;box-shadow:var(--shadow);position:relative;border:1px solid var(--c-line)}
.step .n{counter-increment:s;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));color:#fff;font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.step .n::before{content:counter(s)}
.step h3{font-size:18px;margin-bottom:8px}
.step p{font-size:14px;color:var(--c-ink-soft)}

/* 数据条 */
.statbar{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.statbar .item{background:#fff;border-radius:var(--radius);padding:26px 16px;box-shadow:var(--shadow)}
.statbar .item b{font-size:34px;color:var(--c-primary);display:block}
.statbar .item span{color:var(--c-ink-soft);font-size:14px}

/* 列表型内容 */
.list-check li{position:relative;padding-left:30px;margin-bottom:12px;color:var(--c-ink-soft)}
.list-check li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--c-primary-light);color:var(--c-primary);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px}

/* 面包屑 */
.breadcrumb{background:var(--c-primary-light);padding:16px 0;font-size:14px;color:var(--c-ink-soft)}
.breadcrumb a:hover{color:var(--c-primary)}
.breadcrumb span{margin:0 8px;color:var(--c-line)}

/* 页面头图 */
.page-hero{background:linear-gradient(120deg,var(--c-primary-dark),var(--c-primary));color:#fff;padding:54px 0}
.page-hero h1{font-size:34px;font-weight:800}
.page-hero p{opacity:.92;margin-top:8px}

/* 团队 */
.doctor{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--c-line)}
.doctor .photo{height:260px;background:var(--c-primary-light)}
.doctor .photo img{width:100%;height:100%;object-fit:cover}
.doctor .info{padding:18px 20px}
.doctor .info .name{font-size:19px;font-weight:800}
.doctor .info .title{color:var(--c-accent-dark);font-size:14px;font-weight:600;margin:2px 0 10px}
.doctor .info p{font-size:14px;color:var(--c-ink-soft)}

/* 联系页 */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.info-box{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);border:1px solid var(--c-line)}
.info-box .row{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--c-line)}
.info-box .row:last-child{border-bottom:none}
.info-box .row .k{flex:0 0 96px;font-weight:700;color:var(--c-ink)}
.info-box .row .v{color:var(--c-ink-soft)}
.map-box{height:380px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--c-line);background:var(--c-primary-light)}
.map-box iframe{width:100%;height:100%;border:0}

/* 表单 */
.form-row{margin-bottom:18px}
.form-row label{display:block;font-weight:600;margin-bottom:6px}
.form-row input,.form-row textarea,.form-row select{width:100%;padding:12px 14px;border:1px solid var(--c-line);border-radius:8px;font-family:inherit;font-size:15px;background:#fff;color:var(--c-ink)}
.form-row input:focus,.form-row textarea:focus{border-color:var(--c-primary);outline:none}

/* 通知条 */
.notice{background:#fff8ec;border:1px solid #f3dca6;color:#8a6212;padding:12px 18px;border-radius:8px;font-size:14px;margin-bottom:22px}

/* ============================================================
   页脚
   ============================================================ */
.site-footer{background:#1f2a33;color:#c7d0d6;padding:52px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.site-footer h4{color:#fff;font-size:17px;margin-bottom:18px;position:relative;padding-left:14px}
.site-footer h4::before{content:"";position:absolute;left:0;top:3px;width:4px;height:18px;background:var(--c-accent);border-radius:2px}
.site-footer a{color:#c7d0d6;display:block;padding:5px 0;font-size:14px}
.site-footer a:hover{color:var(--c-accent)}
.site-footer .f-about p{font-size:14px;line-height:1.9}
.site-footer .f-contact p{font-size:14px;margin-bottom:8px}
.site-footer .f-contact b{color:#fff}
.footer-bottom{border-top:1px solid #32404c;margin-top:40px;padding:20px 0;text-align:center;font-size:13px;color:#94a3ad}
.footer-bottom a{display:inline;color:#94a3ad}
.footer-bottom a:hover{color:var(--c-accent)}

/* 回到顶部 */
.to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--c-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;box-shadow:var(--shadow-strong);opacity:0;visibility:hidden;transition:.3s;z-index:900}
.to-top.show{opacity:1;visibility:visible}
.to-top:hover{background:var(--c-primary-dark)}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1024px){
  .quick-cards{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .statbar{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .nav-toggle{display:flex}
  .main-nav{position:absolute;top:var(--header-h);left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;box-shadow:var(--shadow-strong);max-height:0;overflow:hidden;transition:.3s}
  .main-nav.open{max-height:90vh;overflow:auto}
  .main-nav>li>a{padding:14px 20px;border-bottom:1px solid var(--c-line)}
  .main-nav>li.active>a::after{display:none}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;padding:0}
  .main-nav li.open .dropdown{display:block}
  .dropdown a{padding-left:40px;background:#fafafa}
  .hero{min-height:460px}
  .hero h1{font-size:32px}
  .hero-stats{gap:22px}
  .hero-stats .stat strong{font-size:24px}
  .split,.contact-grid{grid-template-columns:1fr;gap:26px}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .statbar{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:44px 0}
  .h-title{font-size:24px}
}
@media (max-width:480px){
  .quick-cards{grid-template-columns:1fr}
  .hero h1{font-size:26px}
}
