:root{
  --yellow:#ffc21c; --yellow-d:#f5a800; --ink:#2b2118; --muted:#7a6a55;
  --bg:#fffdf6; --card:#ffffff; --line:#f0e4c8; --dark:#241c12;
  --green:#1a9e54; --radius:14px;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; background:var(--bg); color:var(--ink); line-height:1.6;}
a{color:inherit;}
.wrap{max-width:1060px; margin:0 auto; padding:0 16px;}
section{padding:44px 0;}
h2.sec{font-size:22px; margin:0 0 6px;}
p.sub{color:var(--muted); margin:0 0 22px; font-size:14px;}

/* 顶栏 */
.topbar{background:var(--dark); color:#ffe9b0; font-size:13px; padding:8px 0;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center;}
.topbar a{color:var(--yellow); text-decoration:none; font-weight:700;}
.dot{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--green); margin-right:6px; animation:blink 2s infinite;}
@keyframes blink{50%{opacity:.4;}}

/* 导航 */
.nav{position:sticky; top:0; z-index:50; background:rgba(255,253,246,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav .wrap{display:flex; align-items:center; gap:18px; height:56px;}
.brand{font-weight:800; font-size:17px; white-space:nowrap;}
.brand span{color:var(--yellow-d);}
.nav-links{margin-left:auto; display:flex; gap:16px; font-size:14px;}
.nav-links a{text-decoration:none; color:var(--muted);}
.nav-links a:hover{color:var(--ink);}
@media(max-width:720px){.nav-links{display:none;}}

/* 首屏 */
.hero{background:linear-gradient(135deg,#fff6dd 0%,#ffefc2 55%,#ffe9a8 100%); border-bottom:1px solid var(--line);}
.hero .wrap{display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:center; padding:52px 16px 60px;}
@media(max-width:720px){.hero .wrap{grid-template-columns:1fr; padding:36px 16px 44px;}}
.badge{display:inline-block; background:#fff; border:1px solid var(--line); color:#8a6d1f; font-size:13px; padding:6px 14px; border-radius:999px; margin-bottom:16px;}
.hero h1{font-size:clamp(30px,6vw,52px); line-height:1.25; margin:0 0 14px; letter-spacing:1px;}
.hero h1 .hl{color:#b97e00;}
.hero p.desc{color:var(--muted); font-size:15px; margin:0 0 24px; max-width:480px;}
.btnrow{display:flex; gap:12px; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; gap:8px; border:none; cursor:pointer; font-size:16px; font-weight:700; padding:14px 26px; border-radius:12px; text-decoration:none; transition:transform .08s;}
.btn:active{transform:scale(.97);}
.btn-dark{background:var(--dark); color:#fff;}
.btn-yellow{background:var(--yellow); color:var(--dark); box-shadow:0 4px 14px rgba(245,168,0,.35);}
.btn-ghost{background:#fff; color:var(--ink); border:1px solid var(--line);}
.trust{display:flex; gap:20px; flex-wrap:wrap; margin-top:26px; font-size:13px; color:var(--muted);}
.trust b{color:var(--green);}
.hero-art{font-size:120px; text-align:center; filter:drop-shadow(0 12px 24px rgba(185,126,0,.25));}
@media(max-width:720px){.hero-art{font-size:84px;}}

/* 服务 */
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
@media(max-width:720px){.grid{grid-template-columns:repeat(2,1fr);}}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px 16px; box-shadow:0 2px 10px rgba(185,126,0,.06);}
.card .icon{font-size:34px;}
.card h3{margin:10px 0 6px; font-size:16px;}
.card p{margin:0; font-size:13px; color:var(--muted);}

/* 价格 */
table.price{width:100%; border-collapse:collapse; background:var(--card); border-radius:var(--radius); overflow:hidden; box-shadow:0 2px 10px rgba(185,126,0,.06);}
table.price th,table.price td{padding:13px 14px; text-align:left; font-size:14px; border-bottom:1px solid var(--line);}
table.price th{background:var(--dark); color:#ffe9b0; font-size:13px;}
table.price tr:last-child td{border-bottom:none;}
table.price td.p{color:#b97e00; font-weight:800; white-space:nowrap;}
table.price td.n{color:var(--muted); font-size:12px;}
table.price tr.promo td{background:#fff8e6;}
table.price tr.promo td.p{color:#e8590c; font-size:16px;}

/* 流程 + 预约：左右两栏（手机上上下堆叠） */
.sb-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:stretch;}
@media(max-width:860px){.sb-grid{grid-template-columns:1fr; gap:44px;}}
.sb-left{display:flex; flex-direction:column;}
.steps-v{display:grid; gap:14px;}
.flow-img{flex:1; min-height:180px; margin-top:14px; border-radius:var(--radius); overflow:hidden;}
.flow-img img{width:100%; height:100%; object-fit:cover; display:block;}
.step{background:var(--dark); color:#ffe9b0; border-radius:var(--radius); padding:20px 16px; position:relative;}
.step .num{position:absolute; top:10px; right:14px; font-size:28px; font-weight:800; color:rgba(255,194,28,.35);}
.step h3{margin:0 0 6px; font-size:15px; color:var(--yellow);}
.step p{margin:0; font-size:13px; opacity:.8;}

/* 表单 */
.form-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px 20px; box-shadow:0 4px 18px rgba(185,126,0,.08);}
.field{margin-bottom:14px;}
.field label{display:block; font-size:14px; font-weight:700; margin-bottom:6px;}
.field label i{color:#d33; font-style:normal;}
.field input,.field select,.field textarea{width:100%; font-size:16px; padding:13px 14px; border:1px solid var(--line); border-radius:10px; background:#fffdf8; font-family:inherit;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--yellow); border-color:var(--yellow);}
.form-msg{font-size:14px; margin-top:12px; min-height:22px;}
.form-msg.ok{color:var(--green);}
.form-msg.err{color:#d33;}

/* 问答 */
details.faq{background:var(--card); border:1px solid var(--line); border-radius:12px; margin-bottom:10px; padding:4px 16px;}
details.faq summary{cursor:pointer; padding:12px 0; font-weight:700; font-size:15px; list-style:none;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary::after{content:"+"; float:right; color:var(--yellow-d); font-size:20px;}
details.faq[open] summary::after{content:"–";}
details.faq p{margin:0 0 14px; font-size:14px; color:var(--muted);}

/* 联系 */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media(max-width:720px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:var(--dark); color:#ffe9b0; border-radius:var(--radius); padding:22px 20px;}
.contact-card h3{margin:0 0 10px; color:var(--yellow); font-size:16px;}
.contact-card p{margin:6px 0; font-size:14px;}
.contact-card a.big{color:var(--yellow); font-size:22px; font-weight:800; text-decoration:none;}

footer{background:var(--dark); color:#8d7c5f; font-size:12px; text-align:center; padding:22px 0 90px;}
@media(min-width:721px){footer{padding-bottom:26px;}}

/* 手机吸底栏 */
.bottombar{position:fixed; left:0; right:0; bottom:0; z-index:60; display:none; background:#fff; border-top:1px solid var(--line); padding:8px 10px calc(8px + env(safe-area-inset-bottom)); box-shadow:0 -4px 18px rgba(0,0,0,.08);}
@media(max-width:720px){.bottombar{display:flex; gap:8px;}}
.bottombar a,.bottombar button{flex:1; border:none; border-radius:10px; font-size:15px; font-weight:700; padding:13px 0; text-align:center; text-decoration:none; cursor:pointer;}
.bb-call{background:var(--dark); color:#fff;}
.bb-book{background:var(--yellow); color:var(--dark);}
.bb-wx{background:#f4f1ea; color:var(--ink);}

/* 后台 */
.admin-wrap{max-width:900px; margin:0 auto; padding:20px 16px 60px;}
.login-card{max-width:380px; margin:80px auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px; box-shadow:0 4px 18px rgba(185,126,0,.1);}
.login-card h2{margin:0 0 18px; font-size:20px;}
.tabs{display:flex; gap:8px; flex-wrap:wrap; margin:18px 0;}
.tab{border:1px solid var(--line); background:#fff; border-radius:999px; padding:8px 16px; font-size:14px; cursor:pointer;}
.tab.on{background:var(--dark); color:#ffe9b0; border-color:var(--dark);}
.bk{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; margin-bottom:12px;}
.bk .row1{display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap;}
.bk .svc{font-weight:800; font-size:16px;}
.badge-st{font-size:12px; padding:4px 10px; border-radius:999px; font-weight:700;}
.st-pending{background:#fff3d6; color:#8a6d1f;}
.st-done{background:#dff5e8; color:#147a3f;}
.st-cancelled{background:#f3f3f3; color:#888;}
.bk .meta{font-size:13px; color:var(--muted); margin:8px 0;}
.bk .notes{font-size:14px; background:#fffdf6; border:1px dashed var(--line); border-radius:8px; padding:8px 10px; margin:8px 0;}
.bk .ops{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap;}
.bk .ops button{border:1px solid var(--line); background:#fff; border-radius:8px; padding:8px 14px; font-size:13px; cursor:pointer;}
.bk .ops button.do{background:var(--green); color:#fff; border-color:var(--green);}
.bk .ops button.cx{color:#d33;}
.topbtn{display:flex; justify-content:space-between; align-items:center;}
.topbtn button{border:1px solid var(--line); background:#fff; border-radius:8px; padding:8px 14px; cursor:pointer;}
