:root{--ink:#191113;--muted:#7b6a6d;--line:#eadfd8;--paper:#fff;--bg:#f6ece4;
  --accent:#c4485f;--ok:#2f7d6b;--font:"Manrope",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font)}
body{padding-bottom:40px}
.wrap{width:min(460px,100%);margin:0 auto;padding:0 14px}
.skeleton{padding:60px 0;text-align:center;color:var(--muted)}
h1{font-size:24px;margin:0;letter-spacing:-.03em}
h2{font-size:16px;margin:0 0 12px}
p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.45}

.cover{position:relative;padding:18px 0 12px}
.cover-bg{position:absolute;inset:-14px -14px auto;height:120px;border-radius:0 0 24px 24px;
  background:linear-gradient(135deg,var(--accent),#8d2740);opacity:.14}
.brand{position:relative;display:flex;gap:12px;align-items:center;padding-top:14px}
.logo{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--accent),#c8a45c);
  flex:none;background-size:cover;background-position:center}
.quick{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.chip{background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;
  font-size:13px;font-weight:700;text-decoration:none;color:var(--ink);cursor:pointer;font-family:inherit}

.steps{display:flex;gap:6px;margin:16px 0 12px}
.step{flex:1;text-align:center;font-size:11px;font-weight:800;color:var(--muted);
  padding-bottom:8px;border-bottom:3px solid var(--line);text-transform:uppercase;letter-spacing:.04em}
.step.is-on{color:var(--ink);border-color:var(--accent)}
.step.done{color:var(--ok);border-color:var(--ok)}

.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:12px}
.list{display:grid;gap:8px}
.item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;
  background:var(--paper);border:1.5px solid var(--line);border-radius:16px;padding:14px;
  font:inherit;text-align:left;cursor:pointer}
.item:hover{border-color:var(--ink)}
.item.is-on{border-color:var(--ink);background:#fdf6f2}
.item b{display:block;font-size:15px}
.item small{color:var(--muted);font-size:12px}
.item .price{font-weight:800;white-space:nowrap}
.badge{background:#f6dfe4;color:#8d2740;font-size:10px;font-weight:800;padding:3px 7px;
  border-radius:999px;margin-left:6px;text-transform:uppercase}
.av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#c4485f,#c8a45c);
  flex:none;background-size:cover}
.row{display:flex;gap:10px;align-items:center}

.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.days::-webkit-scrollbar{display:none}
.day{flex:none;width:58px;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);
  padding:8px 0;text-align:center;font:inherit;cursor:pointer}
.day.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.day.free{border-color:#bfe3d5}
.day b{display:block;font-size:16px}
.day span{font-size:11px;color:var(--muted)}
.day.is-on span{color:#e8d9d3}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:12px}
.slot{border:1.5px solid var(--line);background:var(--paper);border-radius:12px;padding:10px 4px;
  font:inherit;font-weight:700;cursor:pointer;font-size:14px}
.slot small{display:block;font-weight:600;color:var(--muted);font-size:10px}
.slot.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.slot.is-on small{color:#e8d9d3}

label{display:grid;gap:6px;font-size:13px;font-weight:700;margin-bottom:10px}
input,textarea,select{min-height:48px;border:1.5px solid var(--line);border-radius:12px;
  padding:10px 12px;font:inherit;background:#fff}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:13px;margin-bottom:10px}
.check input{min-height:auto;width:20px;height:20px;margin-top:2px}
.cta{width:100%;min-height:52px;border:0;border-radius:14px;background:var(--ink);color:#fff;
  font:inherit;font-weight:800;font-size:16px;cursor:pointer}
.cta:disabled{opacity:.5}
.ghost-btn{width:100%;min-height:46px;border:1.5px solid var(--line);background:#fff;border-radius:12px;
  font:inherit;font-weight:700;cursor:pointer;margin-top:8px}
.summary{background:#faf3ef;border-radius:12px;padding:12px;font-size:13px;line-height:1.5;margin-bottom:12px}
.policy{font-size:12px;color:var(--muted);line-height:1.45;margin:10px 0}
.deposit{background:#fdf0f2;border:1px solid #f3d3da;border-radius:12px;padding:12px;
  font-size:13px;font-weight:600;margin-bottom:12px}
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.works div{aspect-ratio:1;border-radius:12px;background:#e8d9d3 center/cover}
.reviews{display:grid;gap:8px}
.review{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px;font-size:13px}
.stars{color:#c8a45c;font-weight:800}
.ok-screen{text-align:center;padding:20px 0}
.ok-icon{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;font-size:30px;
  display:grid;place-items:center;margin:0 auto 14px}
.foot{display:flex;justify-content:space-between;gap:10px;margin-top:22px;font-size:12px;color:var(--muted)}
.foot a{color:var(--muted)}
.sheet{position:fixed;inset:0;background:rgba(25,17,19,.45);display:grid;align-items:end;z-index:40}
.sheet-card{background:#fff;border-radius:22px 22px 0 0;padding:18px;max-height:86vh;overflow:auto;
  width:min(460px,100%);margin:0 auto}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:var(--ink);color:#fff;
  padding:11px 16px;border-radius:999px;z-index:60;font-size:14px}
.mini{font-size:12px;color:var(--muted)}
.err{color:var(--accent);font-weight:700;font-size:13px}
