
:root{--bg:#fffaf7;--panel:#fff;--ink:#302925;--muted:#7d6d65;--line:#eadbd3;--accent:#8d6755;--soft:#f3e7df}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft JhengHei","PingFang TC",sans-serif}
.b-wrap{width:min(980px,calc(100% - 28px));margin:auto}
.b-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.b-head .b-wrap{height:66px;display:flex;align-items:center;justify-content:space-between}
.b-brand{text-decoration:none;color:inherit}.b-brand b,.b-brand span{display:block}
.b-brand b{font-family:Georgia,serif;letter-spacing:.08em}.b-brand span{font-size:11px;color:var(--muted)}
.back{color:var(--accent);text-decoration:none;font-size:13px}
.booking-page{padding:48px 0 90px}
.booking-hero{text-align:center}.booking-hero>span,.confirm-card>span{font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:700}
.booking-hero h1{font-family:"PMingLiU",serif;font-size:42px;font-weight:500;margin:8px 0}
.booking-hero p{color:var(--muted)}
.logic-flow{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:24px 0 30px;color:var(--muted);font-size:13px}
.logic-flow span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px}.logic-flow i{font-style:normal;color:#b69a8b}
.steps{display:grid;gap:18px}
.step-card,.confirm-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(90,65,53,.04)}
.step-no{font-size:11px;letter-spacing:.12em;color:var(--accent)}
.step-card h2,.confirm-card h2{font-family:"PMingLiU",serif;font-size:28px;font-weight:500;margin:6px 0 18px}
.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.date-pill,.time-pill{border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center;text-decoration:none;color:inherit;background:#fff}
.date-pill span,.date-pill small,.time-pill small{display:block}.date-pill small,.time-pill small{font-size:11px;color:var(--muted);margin-top:3px}
.date-pill.active,.time-pill.active,.studio-card.active,.service-card.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.date-pill.active small,.time-pill.active small,.studio-card.active small,.service-card.active small{color:#f8ece6}
.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.time-pill.disabled{opacity:.42;background:#f3f0ee}
.studio-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.studio-card{display:block;padding:18px;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:inherit}
.studio-card b,.studio-card small{display:block}.studio-card small{color:var(--muted);margin-top:5px}
.service-list{display:grid;gap:10px}.service-card{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:15px 16px;text-decoration:none;color:inherit}
.service-card b,.service-card small{display:block}.service-card small{font-size:12px;color:var(--muted);margin-top:4px}.service-card>span{font-size:12px;white-space:nowrap}
.confirm-card{background:linear-gradient(140deg,#f7eee8,#fff)}.confirm-card dl{display:grid;grid-template-columns:90px 1fr;gap:10px 14px}.confirm-card dt{color:var(--muted)}.confirm-card dd{margin:0;font-weight:700}
.line-btn{width:100%;border:0;border-radius:999px;padding:15px;background:var(--accent);color:#fff;font-weight:700;font-size:16px;margin-top:12px;cursor:pointer}
.confirm-card p{text-align:center;color:var(--muted);font-size:12px}.notice{padding:18px;border-radius:12px;background:var(--soft);color:var(--muted)}
@media(max-width:700px){.booking-page{padding-top:28px}.booking-hero h1{font-size:34px}.step-card,.confirm-card{padding:18px;border-radius:18px}.date-grid{grid-template-columns:repeat(4,1fr)}.time-grid{grid-template-columns:repeat(2,1fr)}.studio-list{grid-template-columns:1fr}.service-card{align-items:flex-start}}
